portfolio headless.design
headless.design meta-case
headless.design ↗

How it went headless.

4 months solo agentic engineering, not vibe-coding AGPL-3.0 where it fits
headless.design meta-card — Gustaf's face inside an API pill with a 'who am I?' tooltip
$ ship
› spec.md (me)
› llm executes
› evals + diff
› merge → main
tier 01 solo · four products live. You are here.
"Outsource thinking, not understanding."
Andrej Karpathy, the one phrase that survived the sprint untouched. The rest of the positioning moved. This one held.
problem

Designer with no portfolio after seven years in meeting rooms.

"Digital designer" puts me in a pile of 500 Figma specialists I'm not. The job posts never asked about what I actually built.

solution

Build in public. Ship every week. Outsource the execution, keep the understanding.

AGPL-3.0 where it fits. Specs, rules, eval sets, I hold the direction. Agents do the pixel work.

outcome

Frontier LLMs started citing the methodology back.

Distribution as a side effect, not a goal. But methodology doesn't pay. Implementations do, and the implementations route to LLM computer-use the moment it becomes default.

two observations that came before every line below.
Pattern-match isn't cold-read. LLMs have seen 10 000 startup sites. They measure against known patterns. I read as a stranger.
Implementations not methodology. The framework spread. The money is in the build, not in the text about the build.
but:        7 years at AMF, pensions, regulated finance, infographics, email.
but:        I could have stayed. Safe paycheck, no upside.
therefore:  I left. No portfolio to lean on.
but:        a designer without a portfolio is a hard sell.
therefore:  built a zero-human company. Swedish AB.
but:        the LLM guessed wrong. Bookkeeping is commodity.
              wrong tax costs 50–200 kSEK/year, that's where the moat was.
therefore:  pivoted to Kammaren, the 3:12 engine.
              978 000 test cases vs. Skatteverket, 0 SEK deviation.
but:        solo isn't enough. A Kammaren needs builders around it.
therefore:  OpenSverige. 150+ Swedish AI builders.
              Discord + IRL. The agent scanner grew out of that room.
now:        frilanspengen.se, launch June 2026.
three word choices that moved the positioning mid-sprint.
started with landed at why
senior design review headless reading "Senior review" is a category, anyone sells it. Cold-read as a noun only exists here.
vibecoded agentic engineering Karpathy: vibe raises the floor, agentic raises the ceiling.
methodology as revenue implementations as revenue The framework spread. The money is in the build, not in the text about the build.
three mistakes on this page that a cold read caught. verify yourself by reading around, every fail has a pointer.
  1. aborted

    A KPI strip of round numbers used as proof.

    "4 products live · 150+ community · 0 SEK deviation" was the first draft. The exact portfolio trope my own thesis would reject. Fixed: scroll up to --insights, two observations, no countable numbers.

  2. caught

    Counted this page as product #5 in the build list.

    A meta-case isn't a product, counting itself inflates the count from inside the same page that's claiming it. Fixed: count --builds above. Four names, not five.

  3. aborted

    "I am become an API", first as a hero, then as an aria-hidden signature.

    LLMs took the API promise literally and delivered. So the hero line had to go. Then it slept in the footer with aria-hidden="true". A cope-position is still a position. Fixed: the footer is clean. Search for the line, it isn't there.

considered chosen why
digital designer headless designer "digital designer" puts me in a pile of 500 Figma specialists I'm not.
Figma perfectionist tool-jumper Right tool per task. Claude, Cursor, Photopea, Flora, Figma. Not a religion.
apply to job posts build in public 7 years without a portfolio. Ship every week is faster than writing a CV.
close the code AGPL-3.0 open source Agencies and accountants need to read the code before they trust it.
  1. tier 00AMF · in-house. Closed.
  2. tier 01Solo · four products live. You are here.
  3. tier 02Community · OpenSverige scales.
  4. tier 03Partnerships · first CPA deal in pipeline.
  5. in parallelAPI / CLI / MCP. Kammaren has an MCP server. Frilanspengen has an MCP server. agent.opensverige.se runs as a raw server. Already shipping, not a roadmap.
2026 direction

The future is APIs, CLIs, MCPs. Interfaces get thinner. I design pipelines, functions and UX flows, not pixels.

Claude Cursor Linear OpenRouter Photopea Flora Figma Bun AGPL-3.0 Mac Mini M4
Are you looking for full-time work?
Yes. Solo as an employee, one evening out of two. Say hello if you have a role where a headless designer (specs, evals, rules, not pixel craft) fits.
What does a "headless designer" actually do?
Writes spec.md, the evals set and the guard-rails. Agents (Claude, Cursor, Codex) implement inside the constraints. When they drift, the test agent catches it, like the municipal tax bug in Kammaren: 4 municipalities agreed, 286 were wrong, the test caught it before release.
AGPL-3.0, how do you make money?
AGPL = strong copyleft. Companies that want to ship Kammaren code inside a closed SaaS product without being forced to open their own code buy a commercial license. Zero sold yet, pilot 2026.
Isn't this just "vibe-coding"?
No. Karpathy: vibe raises the floor, agentic raises the ceiling. This is agentic engineering, specs, evals, rules, deterministic validation. 978 000 test cases against Skatteverket aren't vibes.
What is "headless reading"?
Cold-read as a noun, not a verb. "Senior design review" is a category, anyone sells it. Headless reading has a protocol: read the site as a stranger, don't measure against known patterns. The fails section above is the proof, mistakes a cold read caught on this very page.
Do you still design pixels?
Less. The future is APIs, CLIs, MCPs. I design pipelines, functions and UX flows. Pixels get outsourced to agents when they're needed.
all projects kammaren ↗ frilanspengen ↗