What is BOLDVACE
BOLDVACE is an AI editorial engine dressed as a magazine. You bring a face — a portrait, a character, a generated image — and the press writes everything around it: a name, an archetype, a one-line legend, and a short bio that reads like a forty-year-old cover story.
The idea comes from the oldest line in publishing: a face can paint a thousand words. BOLDVACE just does the painting. Nothing it prints is real. Everything it prints is famous.
How a cover prints
The flow is three steps, and each one maps to something you can see on the cover.
1 · The brief
You describe the face in plain words — a vibe, a look, a mood — and optionally drop the image URL of the portrait you generated. The brief is the only input the engine needs.
2 · The print
The engine reads the brief and writes the editorial package as structured data: a name, an archetype, a tagline, a bio, and a set of "filed under" tags. It's tuned to be punchy, specific, and quotable — never generic.
3 · The file
Every cover gets an issue number and is filed to the archive, where it shows up in the live dashboard feed. The best covers get anchored on-chain in a later phase.
The archetypes
Every face is sorted into one of fourteen archetypes — the recurring character types the press keeps reprinting. They carry rarity weighting, so some show up far less often than others.
- The Quiet Arsonist · The Last Optimist · Patron Saint of Bad Ideas
- The Midnight Diplomat · Heir to Nothing · The Polite Menace
- Self-Made Myth · The Reluctant Oracle · Connoisseur of Chaos
- The Soft Brute · Ambassador of Static · The Off-Brand Prophet
- Curator of Lost Causes · The Velvet Wrecking Ball
On-chain issues
Starting in phase 3, each cover's editorial package is hashed with SHA-256 and the digest is anchored on Solana. That gives every issue a tamper-evident fingerprint and a permanent, claimable issue number — a front page that can't be quietly edited later.
The stack
- Frontend — static HTML / CSS / JS, no framework
- Backend — Fastify + TypeScript
- Inference — Claude on the editorial writing, via OpenRouter
- Archive — Supabase (Postgres)
- Chain — Solana, fair launched on pump.fun
API reference
The engine is a small JSON API. Two endpoints power the whole site.
POST /api/generate
Send a brief, get a cover back.
POST /api/generate
Content-Type: application/json
{ "prompt": "a chrome astronaut with a cracked visor" }
→ 200
{
"issue": "417",
"date": "14 JUN 2026",
"name": "VIKTOR HALE",
"archetype": "The Quiet Arsonist",
"tagline": "He never raises his voice. He doesn't need to.",
"bio": "Filed from a city that doesn't exist on paper…",
"filed_under": ["combustible","unbothered","mythic"]
}
GET /api/feed
Returns the most recent covers for the dashboard.
GET /api/feed?limit=12
→ 200
{ "total": 1042, "items": [ { …cover… }, … ] }
Both endpoints are public and read-only from the client. Generation is rate-limited per IP.