Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for BrandForge
Inspiration
Small brands need a consistent look across every post, but ad-hoc AI image generation drifts in style and leaves no trail of what was made or which brand definition it came from. We wanted brand-consistent media with provenance built in.
What it does
BrandForge turns one Brand Kit (palette, tone, style prompt) into a coordinated set of on-brand images. Every asset is generated with Genblaze, hashed (SHA-256), and catalogued in a single Parquet index on Backblaze B2 alongside a manifest and versioned Brand Kits. You can replay any past campaign by id — BrandForge re-queries the catalog and re-signs fresh delivery URLs on demand. manifest.verify() re-hashes every asset, so the set is tamper-evident.
How we built it
- FastAPI (Python) app with a server-rendered gallery, deployed on Render.
- Genblaze pipeline for generation — OpenAI
gpt-image-1today; the GMI Cloud path and a short-video chain are wired for when credits land. - Backblaze B2 (S3-compatible) stores assets under a hierarchical key strategy, a manifest beside them, versioned Brand Kits, and one Parquet catalog. Delivery uses short-lived presigned URLs.
- Fail-closed HTTP Basic auth on every route except the health check, plus security headers and rate limiting.
Challenges we ran into
Reproducibility: delivery URLs expire, so "replay" re-resolves each asset's durable B2 key and re-signs on the fly. Keeping a single Parquet index consistent as a lightweight, serverless catalog.
Accomplishments that we're proud of
Tamper-evident provenance (content hashes + manifest.verify()), a non-billable replay flow, ~83 tests at ~97% coverage, and a security-headered, rate-limited deploy.
What we learned
Backblaze B2's S3 compatibility makes it a clean drop-in for both object storage and a Parquet-based catalog — and provenance is as valuable as the pixels.
What's next for BrandForge
Live generation via the GMI Cloud path, a short-video chain, and richer Brand Kit versioning.
Built With
- b2
- backblaze
- boto3
- fastapi
- genblaze
- gpt-image-1
- openai
- parquet
- python
- render
Log in or sign up for Devpost to join the conversation.