The portfolio was lying about us.
We pointed the agent stack at our own site and audited every claim against all nine products' live sites. It did not audit clean — and the fix wasn't copywriting, it was architecture.
Our homepage said nine products shipped across 2021–2026. The real number was eight live products — every one of them built in 2026 — plus one, Alemiin, started in 2025 and not yet released. The site aged our own work by up to five years, in three languages, on every surface that mentioned a date.
It got worse the closer we looked. Creed VR was marked ARCHIVE; it's an operating VR venue in Tirana taking bookings today. Termka was described as a retail POS system; it's a single-product storefront selling a walnut phone stand. PlanZero was described as an architecture-decision tracker; it's the founder ops hub this studio actually runs on. One case page's preview art carried a growth figure that no analytics dashboard has ever produced.
Nobody wrote those lies on purpose. They happened the way most portfolio lies happen: entropy.
Portfolio data rots exactly like code
The years, statuses and blurbs lived in three parallel places — the WebGL gallery's data file, the case-study pages, and the OG-image routes. Three copies, no source of truth, each edited on its own schedule. Every copy drifted independently, and no build step ever compared them to each other, let alone to the products themselves.
That's rot. It doesn't need a dishonest author — it only needs duplication and time.
The audit: crawl your own claims
So we did to ourselves what we'd do to a client's codebase: pointed the agent stack at the site and had it verify every factual claim against all nine products' live sites — fetching each one, reading its markup, its sitemap, its served bundles.
The rule we settled on is the one that matters: a claim belongs on the site only if a visitor could check it. A framework shows up in response headers. A Shopify backend shows up in the shipped bundle. A launch date shows up on the product's own countdown. Anything we couldn't evidence from the outside — database choices, internal tooling — came off the public stack lists rather than staying as decoration.
"Proof over promises only works if the proof audits clean."
The fix was architecture, not copywriting
Correcting the words would have fixed the site for a month. The real fix was killing the duplication: one canonical registry file now owns every portfolio fact — year started, year shipped, status, languages, stack, live URL. The gallery, the case pages and the OG images all derive from it. On every rendered surface, a year now comes from one file.
Status became data too. The one unreleased product renders differently by construction — its gallery frame breathes instead of holding steady, its card shows a live countdown to the launch date its own site advertises. No surface hardcodes a coming-soon state; the registry knows, and every surface follows.
Then we audited the promises
The same pass caught two claims that weren't about the portfolio at all. Our privacy policy promised an automated unsubscribe — reply with a word and you're out. No code anywhere read inbound mail. And the notes page announced a monthly cadence over an archive that had been silent for five weeks.
Both are gone. The policy now says a person removes you, because that is what actually happens. The notes page now promises new notes when they ship — which is a promise a site can keep by construction.
Rot doesn't wait, either. While this very article was being fact-checked, Alemiin moved its launch date — one field changed in one file, and the gallery card, the countdown and the case page followed. Under the old three-copy setup that would have been three fresh lies waiting to be found.
A studio that sells 'we ship, not pitch' can't run a site whose claims don't survive a crawl. Now every case page links the product it describes, portfolio facts trace to one file, and the whole thing can be re-audited in an afternoon. That's the actual deliverable: not corrected copy — checkable copy.
Not ready for a brief? Stay in the loop.
One short note when we ship something new. No newsletter, no drip campaign, no spam.
Email only. No tracking pixels. Email us and we'll remove you.
