Inspiration

Developers have Git. Designers have Figma. AI-generated media has nothing. The moment a team generates an image, the context evaporates which prompt made it, which model, which version, who approved it, what it evolved from. Weeks later it's campaign_final_v3_real_FINAL.png in a Drive folder and nobody can answer any of that. Teams now generate thousands of AI assets a month, so we built the operating system for them — one that stores not files, but knowledge about files.

What it does

Every asset gets a DNA record and a place in a living lineage graph: generate or upload → the pipeline analyzes it and produces a verified provenance record (prompt, model, provider, params, checksum, colours, style, quality, OCR, object labels, embedding, thumbnail, approvals, comments, audit history). Git-style versioning — fork to regenerate a variation or select a region to regenerate just that part, each a linked child version. Auto-built lineage graph, semantic search in plain language, and a team layer (email-OTP + password auth, admin roles, approval workflow, audit logs).

How we built it

Genblaze SDK — real Pipeline().step(provider,…).run() with a custom SyncProvider; every run emits a hash-verified Manifest (canonical SHA-256) as tamper-evident provenance. Backblaze B2 — originals, thumbnails, embeddings, and manifests stored via the official genblaze_s3 backend; delivered through short-lived signed URLs (credentials never reach the client), with auto region resolution. Backend — FastAPI (repository + service layers, DI, Pydantic), Postgres/Supabase via SQLAlchemy, pgvector-ready. Frontend — dark-mode SPA with command palette, Cytoscape lineage graph, drag-to-select region editor. Free AI stack — prompt-derived captions/labels, Tesseract OCR, pixel-based colour/style/quality, Pollinations FLUX generation; swap in a paid provider with one env var.

Challenges

Wiring real verified provenance; fixing B2 delivery by switching to presigned URLs (a proxy stalled the connection pool); free-hosting networking (Supabase IPv6 → session pooler, postgres://→+psycopg rewrite, region auto-detect); and a shifting free-tier AI landscape (HF dropped the models, Pollinations' vision endpoint started charging mid-build) — solved by keeping analysis prompt-derived + open-source Tesseract.

Accomplishments · 📚 Learned · 🔭 Next · 🛠️ Built With

(Full sections — verified-manifest-on-every-generation, fork/region editing, a truly free end-to-end stack, a 33-check passing test suite; lessons on provenance-as-product and signed URLs; roadmap of real video gen, pgvector, B2 Object Lock; and the built-with tag list — are all in the file.)

Built With

Share this project:

Updates

Submission history