NeuroFlow: A Modern Open-Source Neuroimaging Workflow Platform
Build the “VS Code of neuroimaging”: a modern, beginner-friendly, updateable platform that helps researchers, students, and labs work with existing neuroimaging tools through one guided interface.
This project should not replace validated tools such as FSL, FreeSurfer, ANTs, AFNI, fMRIPrep, MRIQC, FastSurfer, QSIPrep, Nilearn, DIPY, MRtrix3, or Connectome Workbench.
Instead, it should integrate, organize, explain, and simplify them.
The goal is to solve the practical problems users face when working with older or complex neuroimaging software:
- difficult installation
- confusing command-line workflows
- compatibility issues with newer datasets
- BIDS formatting problems
- unclear error messages
- scattered documentation
- long processing times
- difficult quality control
- hard-to-track preprocessing history
- lack of beginner-friendly explanations
- difficulty combining multiple tools into one reproducible workflow
Do not reinvent existing scientific algorithms unless absolutely necessary.
The innovation should be in:
- usability
- integration
- reproducibility
- modularity
- workflow guidance
- dataset management
- error explanation
- visual pipeline building
- AI-assisted interpretation
- easier onboarding for students and new researchers
- updateable plugin architecture
Think of this project as a platform layer above existing open-source neuroimaging software.
- Use free and open-source resources whenever possible.
- Do not build a paid-API-dependent system.
- Do not create a generic file manager or generic dashboard.
- Do not simply copy existing platforms.
- Do not start coding before creating architecture and planning documents.
- Keep version 1 realistic for a student developer.
- Build locally first, especially for macOS, then design for future Docker, cloud, and HPC support.
- Medical imaging data must be treated as sensitive.
- Prioritize reproducibility and provenance from the beginning.
- Every pipeline action should be logged with software versions, parameters, inputs, outputs, and timestamps.
The platform may eventually integrate:
- BIDS Validator
- HeuDiConv or dcm2bids
- dcm2niix
- fMRIPrep
- MRIQC
- FreeSurfer
- FastSurfer
- FSL
- ANTs
- AFNI
- QSIPrep
- QSIRecon
- Nilearn
- NiBabel
- Nipype
- Nextflow
- Snakemake
- DIPY
- MRtrix3
- Connectome Workbench
- Docker
- Apptainer/Singularity
Do not copy these tools. Wrap them, launch them, validate their presence, manage their outputs, explain their errors, and connect their results.
Before designing features, always compare the idea against existing platforms and workflows.
This project should be different by focusing on:
- student-friendly onboarding
- guided neuroimaging workflows
- plain-English explanations
- compatibility help for older tools and newer datasets
- modular open-source architecture
- visual project organization
- integrated quality control
- reproducible logging
- AI-assisted troubleshooting without requiring paid APIs
- future plugin support
The project should not just be another pipeline runner. It should help users understand what is happening and why.
A high school, undergraduate, or early graduate researcher who has MRI data but struggles with tools like FSL, FreeSurfer, fMRIPrep, and BIDS formatting.
- neuroscience labs
- research assistants
- imaging cores
- student research programs
- small nonprofit or academic research teams
- researchers running public datasets such as HCP, ABCD, or UK Biobank
- hospitals
- clinical research teams
- large labs
- multi-site studies
Version 1 should be realistic.
Focus on:
- Local project creation.
- BIDS dataset import and validation.
- Dataset explorer.
- Tool availability checker.
- Simple pipeline templates.
- Running external tools through wrappers.
- Capturing logs and errors.
- Beginner-friendly error explanations.
- Basic quality-control report viewer.
- Provenance tracking.
- Simple local database.
- Clean UI.
- Documentation.
Recommended MVP pipeline support:
- BIDS validation
- MRIQC
- fMRIPrep launch support
- FreeSurfer/FastSurfer detection or optional execution
- Nilearn-ready output organization
Do not attempt to support every modality in version 1.
Do not include these in the MVP unless the architecture is already stable:
- real-time collaboration
- clinical deployment
- HIPAA certification
- full cloud compute
- full HPC scheduler support
- custom deep learning model training
- full tractography workflow
- complex graph neural networks
- advanced 3D visualization
- multi-user permissions
- hospital PACS integration
- regulatory/clinical diagnosis features
These can be future roadmap items.
Claude should first propose and justify the architecture before writing code.
A likely architecture:
- Desktop app: Tauri or Electron
- Frontend: React + TypeScript
- Backend/orchestration: Python
- Local database: SQLite
- Job queue: lightweight local queue first
- Tool execution: subprocess wrappers with structured logs
- Config format: YAML or JSON
- Plugin system: manifest-based plugin registry
- Dataset format: BIDS-first
- Container support: Docker first, Apptainer later
- AI assistant: optional local LLM support first, paid APIs optional but not required
Do not assume this is final. Claude should evaluate options and explain tradeoffs.
Before writing code, Claude must produce:
- Problem statement.
- Existing platform comparison.
- Product differentiation.
- User personas.
- MVP definition.
- Non-MVP features.
- System architecture.
- Frontend architecture.
- Backend architecture.
- Data model.
- Local storage strategy.
- Plugin system design.
- Pipeline execution design.
- External tool integration strategy.
- Update strategy for external tools.
- BIDS validation strategy.
- Error explanation strategy.
- Privacy/security plan.
- Repository structure.
- Development roadmap with 10–15 milestones.
When generating code later:
- Do not generate placeholder code unless explicitly requested.
- Use production-quality structure even for MVP.
- Keep modules small and understandable.
- Prefer typed code.
- Add clear comments only where useful.
- Separate UI, orchestration, database, and tool wrappers.
- Never hard-code user-specific paths.
- Make paths configurable.
- Do not assume all users have FSL, FreeSurfer, or Docker installed.
- Always check whether external tools exist before trying to run them.
- Log every command safely.
- Never expose private file paths unnecessarily in the UI.
- Provide clear recovery steps when something fails.
- Prefer open standards.
- Make every major feature testable.
Every pipeline run should track:
- project ID
- subject ID
- session ID if applicable
- input files
- output files
- tool name
- tool version
- command executed
- parameters
- container image if used
- start time
- end time
- status
- warnings
- errors
- provenance metadata
Every dataset should track:
- BIDS validation status
- dataset description
- subjects
- sessions
- modalities
- missing files
- warnings
- suggested fixes
Most users will not understand raw neuroimaging errors.
For every failed command, the app should show:
- What failed.
- The likely cause.
- Why it matters.
- What the user can try next.
- Link or reference to the relevant documentation.
- Raw log access for advanced users.
Example:
Instead of only showing:
recon-all exited with code 1
Show:
“FreeSurfer failed during cortical reconstruction. This can happen if the T1 image has poor contrast, missing skull-stripping boundaries, corrupted input files, or incompatible orientation metadata. Try checking the input image, running MRIQC, confirming BIDS formatting, or using FastSurfer as an alternative.”
The AI assistant should help users understand and troubleshoot, but it should not make unsupported medical claims.
It may:
- explain tools
- summarize logs
- explain errors
- suggest next steps
- generate methods drafts
- generate figure captions
- recommend documentation
- explain BIDS
- explain preprocessing steps
It must not:
- diagnose patients
- make clinical claims
- pretend outputs are medically validated
- hide uncertainty
- invent citations
- claim a pipeline is publication-ready without evidence
The AI system should be optional and should support free/local models if possible.
Assume MRI data may be sensitive.
The app should:
- run locally by default
- avoid uploading data without explicit user consent
- warn users before sending logs or metadata to external APIs
- support de-identification reminders
- avoid storing unnecessary personal information
- keep audit logs local
- clearly separate research use from clinical use
The first task should be architecture planning, not coding.
Claude should respond with a detailed architecture document and roadmap.
Use this prompt:
“I want to build this neuroimaging platform. Read CLAUDE.md carefully. Do not write code yet. First, produce the full architecture plan, MVP scope, existing tool comparison, system design, repository structure, and 10–15 milestone roadmap. Be realistic and critical. Focus on what makes this different from existing tools and how to keep it open-source, updateable, and student-buildable.”
A successful MVP should allow a user to:
- Create a neuroimaging project.
- Import or select a BIDS dataset.
- Validate the dataset.
- See subjects, sessions, and modalities.
- Check which external tools are installed.
- Choose a simple pipeline template.
- Launch a tool like MRIQC or fMRIPrep.
- See progress and logs.
- View output locations.
- Read beginner-friendly explanations of failures.
- Export a reproducibility/provenance summary.
If the MVP does this well, it is already valuable.
Long term, this could become a full open-source neuroimaging workbench with:
- visual pipeline builder
- plugin marketplace
- cloud/HPC execution
- advanced visualization
- publication figure generation
- automatic methods section generation
- multimodal MRI workflows
- connectomics analysis
- ML-ready dataset export
- lab collaboration features
But version 1 should stay focused.
Build the foundation first.