Brand Manager
AI-powered brand identity generator. Solo built. Launched February 2026.
Screenshot placeholder — dashboard / generated kit
I build a lot of small apps. Side projects, experiments, things that might turn into something, things that definitely won't. Every single time, I hit the same wall: branding. I need a logo, a color palette, fonts, maybe some social images. It's not hard work, but it's slow work. And it's the kind of work that keeps you from the thing you actually want to do — building.
So I built Brand Manager. It's an AI-powered brand identity generator that takes a text prompt and turns it into a complete brand package — up to 13 assets in roughly two minutes. Color palette, font pairing, taglines, logo with variations (light, dark, mono, icon), hero image, moodboard, favicon, app icon, OG image, social avatar, and a brand guidelines PDF. The whole thing.
The output is built for developers. Hex codes, RGB, HSL, Tailwind config. Google Fonts links. ZIP downloads or per-asset export. No Figma files to decipher, no brand book PDFs to squint at. Just the things you need, in the formats you use.
The build
- Solo project, ~2 weeks of off-hours plus ongoing updates
- Launched February 2026
- Used by me + a handful of friends — no commercial scale yet
- ~13 generated assets per brand, in under ~2 minutes
- Token/credit-based pricing (single-purchase, no subscriptions)
Stack
- Next.js 16 + React 19 + TypeScript
- Tailwind 4, shadcn/ui
- Supabase (auth, DB, storage, RLS)
- OpenAI GPT-4o-mini for language + brand-context reasoning
- Ideogram v3 for logo and image generation
- Stripe for payments, with verified webhooks
- Resend for transactional email
- @react-pdf/renderer for brand guideline PDFs
- Upstash Redis for rate limiting (with in-memory fallback)
- Vercel for hosting + analytics + speed insights
- Vitest + Playwright for unit and end-to-end tests
Screenshot placeholder — generation flow
Architecture
The interesting part isn't any single step — it's the composition. GPT-4o-mini alone is a toy. Ideogram alone is a toy. Stripe alone is plumbing. The product is the chain:
User prompt ↓ Brand brief (GPT, structured) ↓ Color palette + typography pairing (GPT with brand context) ↓ Logo + variations (Ideogram, prompt-engineered per variant) ↓ Marketing assets — hero, moodboard, OG, favicon, app icon, social ↓ Brand guidelines PDF (@react-pdf/renderer) ↓ Stored in Supabase, downloadable as ZIP
One architectural decision I'm proud of: the image-provider layer is vendor-agnostic. Ideogram is the current adapter, but the registry pattern means swapping providers (or adding a new one) is a one-file change. Same applies to the LLM layer.
The hard parts
1. Logo prompts (still the hardest unsolved problem)
Honest answer: logo generation is the place I'm still iterating. Ideogram is excellent at typography-on-logo work, which is rare in image generation — but it still has classic failure modes: text that's almost right but has a duplicated letter, inconsistent lighting between variants in the same family, mascot styles that drift toward kitsch. I've tried many prompt structures. Some help. None solve it. This is the part I'd work on first if I started over (more on that below).
2. Coherent color + typography pairings
Getting GPT to output a hex code is trivial. Getting it to output a palette that works — five colors with appropriate contrast, a font pairing that matches the brand context — is a different problem. The thing that actually moves quality here isn't clever prompt math; it's feeding the model rich context about the brand first. Once the model has internalized the brand brief, the palette and typography follow naturally. No bitter lesson here: just "give the model more relevant context, get better output."
3. Latency UX
Two minutes is an eternity in UI terms. I haven't done much sophisticated work here yet — spinners, considered design, friendly copy during the wait. The honest answer is that this is a future improvement. Progressive disclosure (showing the brief, then the palette, then the logo as each completes) would be the obvious next step.
4. Pricing that doesn't feel exploitative
AI-generation products are easy to over-monetize: subscription treadmills, per-action micro-charges, hidden limits. I wanted the opposite. Token packs are bought once. Tier 1 brand kit is $1.99. Larger bundles scale linearly. If a user generates one brand and never returns, that's fine — the product served them and the price was honest.
What I'd do differently
The biggest one: I built it all at once. Color generation, logo generation, typography pairing, PDF rendering, marketing assets, Stripe integration, token system — all in parallel. Each part worked individually, but the integration story got messy fast.
If I were starting over, I'd spend the first long stretch on just the logo pipeline. Get Ideogram outputs reliable, variants consistent, edge cases handled. Build the rest of the product around a logo engine that actually works, rather than retrofitting reliability after the fact. The logo is the hardest asset to generate and the most visible failure mode. It deserved dedicated focus before everything else got built on top of it.
Screenshot placeholder — generated brand kit
What this taught me
Brand Manager was the first product where the interesting engineering wasn't any one piece — it was the composition. GPT alone is a toy. Ideogram alone is a toy. Stripe alone is plumbing. The product is the chain. That shift — from building features to orchestrating systems — is the thing I think every product engineer will be doing in five years, whether they realize it or not.
Try it: brand-manager.app — free to try, no credit card.