or how I stopped trying to be cool and just made a site I like
This is the fourth version of longlostforgotten.com. The previous version, v3, used the same core stack as this one: Astro, TinaCMS, Cloudflare Pages. The issue is that I thought it looked too close to terribledevice.com, which has a more cyberpunk theme. And beyond just looking similar, v3 had this vaguely edgy, high-contrast thing going on that I kept looking at and thought it wasn’t really for me*.*
The Design Direction
I landed on Catppuccin Mocha as the color palette. It’s a warm dark theme with soft purples and lavenders that I’ve been using in my editors for a while now. It felt right for something personal. The whole thing is built on CSS custom properties mapped to the Catppuccin tokens, which made it easy to stay consistent across components.
For type, I went with IBM Plex Mono and IBM Plex Sans, both pulled from Bunny Fonts. Mono handles all the UI chrome, like nav links, dates, tags, section labels. Sans handles the reading parts. I thought that it gives the site a slightly terminal-adjacent feel without being too in your face about it.
The content column is 680px. There are no hero images, no decorative anything. Just text, a subtle radial gradient on the background, and some careful spacing. It’s the most minimal version of this site I’ve built.
The TinaCMS Visual Editor
TinaCMS handles the content layer. Posts are markdown files, but the home page intro and about page are JSON singletons that get edited through TinaCMS’s visual editor; meaning you can click directly on the text in a live preview and edit it in place.
Getting that working took a couple of tries. The sticking point was figuring out the right integration setup. Turns out there’s an official @tinacms/astro plugin that does a lot of the heavy lifting I was trying to wire up manually. Once I switched to that, things just fell into place. The pattern I ended up with has the home and about pages render a React island (client:load) that handles the TinaCMS real-time editing context, with a try/catch fallback to the local JSON files when the TinaCMS server isn’t running, so the static build always has something to work from.
The Config Fumbling
When I started the rebuild, I kept accidentally pulling in old settings. Things like wrong field names in the schema, stale wrangler config, TinaCMS branch settings pointing nowhere useful. The stack being the same in both versions meant there was no obvious breakage, just subtle wrong behavior that took a while to diagnose each time. Nothing glamorous to report there. Just a reminder to actually start fresh instead of copy-pasting from the old project.
Moving the LiveJournal Posts
The site hosts a bunch of old posts going back to my LiveJournal days. Getting those in was probably the most tedious part of the whole thing. I copied them over manually. Yes, their data export is pretty terrible, so every post, I copied one by one into a single document. Once I had them all collected, I handed that to Claude and had it split them into individual markdown files and apply the right frontmatter schema (title, date, tags, excerpt, etc.).
That part went surprisingly smoothly. The frontmatter structure is simple enough that Claude could infer it from the first few posts and apply it consistently across the rest. It saved what would have been a very dull afternoon.
Where It Landed
V4 is the version I actually want to keep. It feels a little more homogenous with a lot of the personal tools I use. The Catppuccin palette is something I live in every day anyway, so it feels natural. The posts load fast, the editor works well, and there’s nothing on the page I’d want to remove.
Whether I’ll be saying the same thing in a year and a half when I’m starting v5, who knows.