personal brand pages — no AI

A page that introduces you, built from links you already have.

Paste a GitHub, a personal site, X, or LinkedIn. We pull the public bits, fill a template, and ship a clean URL. No LLM tokens, no hallucinated bios, no “let's circle back to your strengths.”

11
templates
0
LLM tokens
<60s
to publish

how it works

Three steps. The same shape every time.

No prompts to write, no “regenerate” roulette. The same input always produces the same starting page — you change it from there.

  1. step 01

    Drop in what you have

    A GitHub URL, a personal site, X / LinkedIn / Bluesky, or a bare handle. Paste many at once — they queue up.

    github.com/you · alex.co · @alex

  2. step 02

    Review & tweak

    We pull public data, merge it by source priority, and pick a deterministic template variant. You see exactly what was found, where, and edit any field inline.

    user > site > github > linkedin > x

  3. step 03

    Publish a clean URL

    One click ships /your-name, a short link for QR, and a magic-link email so you can edit forever — no second account needed.

    brnd.co/alex · brnd.co/s/a8f · QR ready

the no-AI part

Templates, not generation.

Every “generated” line is a hand-written variant filled with your real data. hash(name) picks the variant. Same input → same page, every time.

LLM wayeverywhere else

A bio, but plausible-shaped

Alex is a passionate, results-driven creative striving to leverage cutting-edge synergies at the intersection of design and product.
  • Reads like everyone else
  • Words that aren’t in your résumé
  • Different on every reload
  • Token bill grows with traffic
brnd waythis app

A bio, made of your facts

Alex is a designer working at the seam of brand and product. Currently leading design at Airfield. Previously at Figma and Stripe.
  • ~30 headline patterns × 10 bio patterns per role
  • Skills extracted from a 150-term dictionary
  • Templates that lack data are skipped, not faked
  • $0 inference cost. Forever.
precedenceuser > site > github > linkedin > x > ogpickerFNV-1a(name) → seed → index into filtered variantscyclePress try another → templateSeed += 1cacheKV per-URL, 24h TTL — a re-scrape is a key lookup

templates

15 starting points, none of them generic.

Each template is responsive, accessible, palette-swappable. Pick now or switch any time in the editor — your content travels with you.

  • Neon4 palettes

    Cyber-glass with mesh gradients.

    web3aifounder
  • Zine4 palettes

    Magazine cover with drop cap.

    writerresearcherdesigner
  • Terminal4 palettes

    Shell prompt aesthetic. For builders.

    aibuilderresearcher
  • Dream4 palettes

    Soft pastel gradient, glassmorphism.

    designerwriterbusiness
  • Cyber3 palettes

    Glitch text, scanlines, neon grid.

    web3aibuilder
  • Bauhaus4 palettes

    Geometric, primary colors, oversized.

    designer
  • Founder4 palettes

    Boardroom card. Crisp & professional.

    founderbusiness
  • Paper4 palettes

    Academic preprint with abstract.

    airesearcher
  • Creator4 palettes

    Magazine grid with color tag.

    designerwriter
  • Brutalist4 palettes

    Raw HTML, harsh borders, mono caps.

    designerbuilderwriter
  • Minimal3 palettes

    Clean two-column. Default.

    founderbuilderwriter
  • Liquid Glass3 palettes

    Frosted bento on a mesh gradient. Apple OS 26 energy.

    founderdesignerbuilder
  • Chrome Y2K3 palettes

    Holographic accents. Chrome metallic. Conic gradients.

    designerweb3founder
  • Editorial Brutal3 palettes

    Display sans, italic serif, mono meta. Asymmetric grid.

    writerdesignerresearcher
  • Literary3 palettes

    Serif. Justified prose. Roman numerals.

    writerresearcherbusiness

features

Small surface. Sharp tools.

No dashboards to learn. The page is the product, the editor is one click away, and every concept here exists because it shipped a real flow.

  • 11

    Eleven living templates

    From minimal-card to web3-neon, brutalist to editorial-zine. Each one is responsive, accessible, and palette-customizable in the editor.

  • /s

    Short links + QR built in

    Every published page mints a base62 short code at /s/:code and a printable QR. Drop it on a card, in a deck, behind a sticker.

  • Magic-link editing

    No second account to manage. Click the link in your email, land in the editor, ship the change. Tokens scope to the page, not the user.

  • OG

    Auto OG image

    Every page ships with an Open Graph card so a paste in Slack, X, or iMessage actually looks like your page — not a 404 thumbnail.

  • Source provenance

    Every field on your page records where it came from — site, GitHub, LinkedIn, you. Edit any field and your edit wins, forever.

ready when you are

Paste a link.
Get a page.

You’ve already written the words on your GitHub, your site, your LinkedIn. This just lays them out nicely and gives you a URL.

questions

Answers, not a sales page.

Why no AI? Genuinely.

Because we wanted output we could promise. Hand-written templates plus your real data give the same result every time, never invent facts, and cost nothing per pageview. The page is yours, not a stochastic guess about you.

What does it actually scrape?

Public bits only — your site’s OG tags, your GitHub profile + pinned repos, LinkedIn / X public meta. No logins, no protected pages, no scraping behind paywalls.

Will the same name make the same page?

Yes — that’s the point. The variant picker is hash(name) → seed → index. If you re-run with the same input, you get the same starting page. Press “try another” to cycle the seed.

Can I keep editing after I publish?

You get a magic link by email when you publish. Click it any time to land directly in the editor. Tokens are scoped to the page; no separate account is required to view it.

Where does my data live?

Cloudflare D1 for profiles, KV for the 24-hour scrape cache, and that’s it. Your edits always beat the scraped values.

What if a template needs data I don’t have?

It’s skipped. Variants reference slots like {past_company_2} or {top_skill}; if a slot is empty, the picker falls through to the next variant, and finally leaves the field editable but blank.