Sep 10, 2026
Rebuilding the portfolio, minus the fireworks
The 2025 site had a chatbot, a node graph, and three carousels. This one has text.
The old site is still up at 2025.leviron.me. It has a retrieval-augmented chatbot that answers questions about me, an interactive node graph of every library I have touched, and a horizontal carousel that locks its scroll direction on first gesture. I am fond of all of it. I built each piece because I wanted to find out whether I could.
That is a good reason to build something and a bad reason to ship it on the page that is supposed to introduce you.
What the old site was actually for
Nobody arrives at a portfolio wanting an experience. They arrive with one of three questions:
- What does this person build?
- Is any of it real?
- How do I contact them?
The chatbot answered none of those faster than a paragraph would have. It answered them slower, behind a loading state, in a floating panel that had to be opened first. The node graph was the same trade: a minute of interaction to deliver what a comma-separated list delivers in four seconds.
What changed
This version is text, links, and one accent color. Every page is prerendered. The only thing on the site that talks to a server is the guestbook, and that is a single Server Action writing one row to Postgres.
The whole thing is a handful of components (a shell, a numbered section, a row
with links on the right) and a content/ directory of typed TypeScript. Adding
a project is a five-line object. There is no CMS, because a CMS is a database
you have to maintain in exchange for not opening your editor.
What I kept
The old site is not deleted, and that matters more than it sounds. Freezing it at a subdomain means I get to be ruthless here without losing the record of what I was interested in a year ago. Next year's version gets the same treatment.
If you want the fireworks, they are one subdomain away.