Roboflow Frame Archive
A full-stack sample (Next.js 16 + FastAPI) that runs Roboflow Inference on-device over a source clip and archives every flagged frame — the JPEG, its prediction JSON, and a per-run Parquet summary — to Backblaze B2 over the S3-compatible API.
Built for: Edge computer-vision teams who want a working reference for archiving detection output — flagged frames, predictions, and summaries — to durable object storage over the S3-compatible API.

What it's built with
Each piece of the stack, and the job it does in this project.
- Next.js 16 + React 19
- Frontend — Tailwind v4, shadcn/ui, Recharts, TanStack Query
- FastAPI (Python 3.12+)
- Backend API — boto3, Pydantic v2, layered architecture
- Roboflow Inference + onnxruntime
- On-device detection engine (opencv-python-headless, pyarrow)
- Backblaze B2
- S3-compatible object storage — the single durable sink for every stream
- pnpm workspaces
- Monorepo tooling for the web + API packages
Core capabilities
What the project does out of the box, before you write any code of your own.
Configure edge cameras
Full create / read / edit / delete / run lifecycle for edge cameras — set the detection model, confidence threshold, and source clip.
Local Roboflow Inference runs
Run a detection pass over a source clip on-device (CUDA → CPU auto-detect) with live run status; no cloud inference and no Roboflow account required.
Detections gallery
A sample-scoped gallery of flagged frames with bounding boxes overlaid, filterable by camera, class, and date.
Archive dashboard
Frames archived, detections by class, ingest volume, and active cameras — read from the per-run Parquet roll-ups.
Reusable B2 scaffolding
A full-bucket Files explorer and direct-to-B2 Upload for bringing your own footage.
A closer look
More screens from the running project.



Choose it for the right job
Roboflow Frame Archive is a head start for a specific shape of project, not a supported, general-purpose product.
Use it when
- You want a working reference for archiving edge computer-vision output — frames, predictions, and summaries — to object storage over the S3-compatible API.
- You want a UI to configure cameras, run local Roboflow Inference detection passes, and browse the resulting frame archive with bounding boxes overlaid.
- You want a dependable scaffold with strict architecture, contract checks, and tests rather than a blank prototype.
Choose another path when
- You need a complete hosted product, a managed camera fleet, or a production surveillance system — this ships none of those.
- You need user accounts, authentication, or tenant isolation — the sample is single-tenant and unauthenticated by default.
- You need GPU-accelerated or Apple-MPS inference — onnxruntime has no Apple-MPS execution provider, so detection runs on CPU on Apple Silicon.
Project status and support
Report defects through the repository's GitHub Issues; this sample is maintained on a best-effort basis and is not covered by any Backblaze service level agreement.