Generates
BrandCrafter
Define a brand once — palette, type, voice — then generate every asset it needs: 36 types across image, video, copy, and code. Reach it from a browser, a CLI, an API, or an agent skill.
What it is
BrandCrafter turns one brand into everything it needs. You set the identity once — palette, type, voice — and it generates 36 kinds of on-brand asset: logos and the marks derived from them, social cards and posts, posters and thumbnails, website heroes and OG images, print and product mockups, short video, and the copy and code to match. Each is a named, typed workflow you invoke by name — from a browser PWA, a scriptable CLI, an HTTP API, or an installable agent skill.
Every generation degrades to a deterministic local fallback — a real SVG or text asset — when a key, quota, or model is unavailable, so a request always resolves to something usable. One Google API key unlocks every model; with no key at all, it still runs entirely on the deterministic path.
How it works
One brand, every asset
Set the identity once; each asset is built on the canonical mark and palette, in dependency order.
A deterministic fallback
When a key, quota, or model is missing, generation degrades to a local SVG or text asset.
One core, every surface
The same generation core drives a PWA, a CLI, an HTTP API, and an agent skill.
What it generates
Watch it build a brand — in order
A compact replay of the product’s own demo: the identity sets, then every asset cascades in on the logo — each one on-brand, each with a deterministic local fallback, so it always comes back with something real.
VelaSmall-batch coffee
“Unmistakably warm.”

Vela
Your mark — everywhere it appears











Setting the brand identity…
asset workflows · demo
Features
Identity marks
One canonical logo, then favicon, app icon, avatar, and stickers derived from it — no drift.
Social & content
Social cards, Instagram posts, thumbnails, posters, and ad copy in your brand voice.
Motion & video
Animated hero loops and ambient background clips, cropped to seamless loops via Veo 3.1.
Web & app imagery
Website heroes, OG images, web banners, cover photos, and email headers.
Print & product
Business cards, flyers, letterhead, and your mark on real product mockups.
Code & copy
CSS themes, Tailwind config, and React snippets, plus bios, value props, and landing copy.
It never leaves you empty-handed.
Every asset type — image, video, copy, code — ends in a deterministic local fallback. If a model call can’t run, BrandCrafter still hands you a real, usable asset instead of an error. Your brand never gets stuck on a blank screen.
Built with
- Next.js 15
- React 19
- TypeScript
- tRPC
- TanStack Query
- Zod
- Tailwind CSS v4
- Radix UI
- Supabase
- Commander
- pkgroll
- sharp
- imagetracerjs
- Gemini 3 Pro Image
- Google Veo 3.1
- Vitest
- Playwright
Engineering
The deterministic seam
The AI sits behind a boundary that always has a backup. If a model call can’t run, BrandCrafter generates a real asset locally — so the app never returns an error in place of an asset.
Prompt templates and Google AI clients (Gemini 2.5 Flash text, Gemini 3 Pro Image, Veo 3.1 video) sit behind Zod-validated boundaries; on a missing key, quota, or model failure the fallback chain degrades to a deterministic local path — SVG marks vectorised with imagetracerjs, raster work matted with sharp — so every request resolves to a validated asset.
One core, every surface
The same engine powers the browser app, the command line, the API, and an agent skill — nothing is duplicated between them.
A Next.js 15 App Router + tRPC server drives the PWA; a Commander CLI compiled with pkgroll calls the same core in-process; the tRPC HTTP API exposes per-brand keys; and an installable agent skill wraps the CLI. TanStack Query and superjson carry typed results across the boundary.
A verified, dependency-ordered pipeline
Assets are generated in the right order and checked before they ship — the logo first, then everything built on it, each one passing a real quality check.
A 17-node DAG (validated acyclic; array order is a topological sort) drives generation; logos are verified flat (assessFlatness rejects drop-shadow/blur and degrades to SVG) and every palette-bearing surface renders from a WCAG-AA-checked palette computed in OKLCH.
Built to scale into SaaS
The multi-tenant groundwork — accounts, credits, plans, and usage tracking — is already built locally; going live is a matter of wiring the paid services.
Local-first account auth (scrypt + signed-cookie sessions, OAuth seams), a per-account credit economy with subscription plans and a trial, usage/cost telemetry, and a single spend gate are implemented; Stripe, Supabase, OAuth, and social-posting keys are documented operator-wired gates.
Have a dream project?
Tell me your idea and I’ll send you a quote.
