Nextflow Genomics Object Storage
Run real Nextflow genomics pipelines with Backblaze B2 as the S3-compatible object storage data lake — ingest FASTQ, launch runs, and browse QC, alignment, and variant results published back to B2 through a Next.js + FastAPI control plane.
Built for: Bioinformatics engineers and platform teams who run Nextflow pipelines and want object storage as the data lake for genomics inputs and published results.

What it's built with
Each piece of the stack, and the job it does in this project.
- Next.js 16 + React 19
- Run control-plane UI with Tailwind v4 and shadcn/ui
- TanStack Query
- Client-side data fetching, caching, and retry
- FastAPI + Pydantic v2
- Typed Python API with startup config validation
- Nextflow (DSL2) + Java 17+
- Genomics pipeline execution engine
- boto3 + Backblaze B2
- S3-compatible object storage for inputs and results
- pnpm workspaces
- TypeScript and Python monorepo workflow
Core capabilities
What the project does out of the box, before you write any code of your own.
Run control plane
Create, launch, monitor, and delete genomics pipeline runs from a Next.js interface, watching each run's status and logs as it executes.
Real Nextflow orchestration on B2
Launch a genuine Nextflow DSL2 run that stages inputs from Backblaze B2 and publishes its results back to B2 over the S3-compatible API — not a substitute engine.
Genomics ingest to B2
Drag-and-drop FASTQ reads and samplesheets straight into the B2 inputs/ prefix through presigned direct-to-B2 upload.
Results and bucket explorer
Browse and download a run's QC, alignment, variant, and counts artifacts in a scoped Results explorer, alongside a full bucket file browser.
Data-lake dashboard
See runs by status, published result artifacts, and how storage splits across the inputs, runs, work, and results stages of the B2 data lake.
A closer look
More screens from the running project.




Choose it for the right job
Nextflow Genomics Object Storage is a head start for a specific shape of project, not a supported, general-purpose product.
Use it when
- You want a working example of running real Nextflow pipelines with Backblaze B2 as the S3-compatible data lake for inputs and published results.
- You want to ingest FASTQ and samplesheets to B2, launch a run, and watch its status and logs from a control-plane UI.
- You want to browse and download a run's QC, alignment, variant, and counts artifacts published back to B2.
- You are adapting a reference scaffold for your own bioinformatics workflow and will supply your own bucket, region, and application key.
Choose another path when
- You need a complete hosted genomics platform with managed compute, a job scheduler, or reference-genome management — the bundled pipeline is a synthetic-data toy for demonstrating the storage path.
- You need user accounts, authentication, tenant isolation, or billing — the deployed API is unauthenticated and bucket-wide.
- You want to edit a launched run in place — a run is an immutable execution record, so use Clone to new run to start a fresh run with the same configuration.
- You need to process real human genomic data — the sample handles only synthetic reads and none of the privacy or consent obligations that real sequence data carries.
- You only need generic file uploads and object-storage browsing without a pipeline engine — a simpler storage starter such as the Vibe Coding Starter Kit is a closer fit.
Project status and support
Report bugs and request features on the repository's GitHub Issues; this is a Backblaze-maintained sample provided as-is with no service-level agreement.