Letopis has a face now
Nothing explains an idea better than the simplest presentation of it. So the landing was one of the first things I made — an interactive showcase that makes it obvious what this is and how it works.
A little while ago, in the post about the name, I promised that something was hiding behind the "Unknown" card. What's hiding is Letopis — and now it has a face. Not a backend, not a first user, but a face: a public landing page, multilingual and live, already in production. Built in a couple of days; I know nothing about frontend whatsoever, so here I was the conductor of the agents and the designer, nothing more.
What's in production
Just the landing page so far: multilingual — ten languages right away, Russian by default, because my audience is Slavic, from Poland and Czechia to Eastern Europe. The design is my signature style: paper Japandi.
Vue 3 + Vite static SPA, lazy chunk ~75 KB gzip
Caddy on a VPS Netcup, Debian, auto-TLS
backend separate subdomain — not deployed yet
How it was built
Once the idea and the mechanics are already designed, putting a landing together doesn't take long — especially with tools like Claude Design and Claude Code. I did it in two passes.
First — in Claude Design: I handed it the ready-made design template of this blog as a starting point, and the designer and I talked through the strategy in detail — the content, the order of the blocks, the tone, the overall look. We drew a logo and tweaked the product's language along the way. We worked each block of the landing separately on mockups, and in the end it all came together into one coherent page.
Then I asked it to assemble a hand-off out of that and passed it into Claude Code — and that's where the page got built for real: the test first, then the component. The result — 155 unit and component tests plus 23 e2e on Playwright, a clean typecheck, 24 commits. I tweaked the finished result only four times — and it turned out like this little gem.
Where it stands now
This is an early preview. The landing is live; the product isn't yet — I'll bring the backend up around early August, on a separate subdomain. The project is still in development, and until release a modal will sit on the site.
If something on the landing looks broken, reads unclearly, or you have a suggestion — drop a comment. Maybe I explain some things less clearly than I think, and it's easier to see from the outside.
So take a look, poke the switchers, listen to the hero text itself to itself. And for what comes next, come back in early August :)
Test and build numbers are as of June 2026, for this particular repository. The landing is static; everything that "thinks" is still ahead.