Feb 15, 2025, 1:00am
San Francisco, CA

Devlog, December 2024

December’s inspiration and motivation was combined with a few tech discoveries that helped get the ball rolling on an initial goal of rebuilding endquote.com once again. Step one on these projects is always “what CMS should I use,” with the answer almost always being “I’ll build my own from scratch.”

The discovery of Nuxt Content kept me from making that terrible decision. I like that you edit content in markdown/json, but work with it using a real sqlite database.

I made a schema of objects like “roles”, “projects”, “honors”, and “awards” that make up the contents of the about and projects pages. While it’s a real database underneath (and in the browser?), relationships between entities aren’t enforced, so those had to be manually maintained and refactored several times.

All good, but I’ve never used Vue or Nuxt before, and it looks like I’ve bought into that platform now. I did the incredibly wild thing of actually reading the documentation end-to-end before diving in. I started to get why some folks prefer Vue to React — it seems simpler in general and harder to do the “wrong” thing even in simple components. I do think the template syntax (<variables :are="quoted">sometimes, but not {{others}}</variables>) is weird in parts compared to JSX, but I get it.

While I don’t really need a big component library, the next thing to learn was Nuxt UI mainly because it seemed like the easiest way to integrate Tailwind. So at this point I’m running Nuxt 3 in a mode that opts into features from the unreleased Nuxt 4, an alpha version of Nuxt Content 3, and an alpha of Nuxt UI 3 which references a beta of Tailwind 4. And I’ve never used any of these libraries before. Let’s roll.

I had a goal of getting a dupe of my site up by end of year. On one hand I made it easy on myself by keeping the same (lack of) design and content, but put it on hard mode by using all this new-to-me tech.

But that’s ok because we have AI now, and according to all of the hype, I’ll just have to describe what I want and it’ll all appear before my eyes. While I did try Cursor for a while before settling on Copilot, that certainly hasn’t been my experience with the AI tools. While I have been delighted by the ability to get mostly-good outputs for things like “give me the Tailwind CSS for a layout like this”, or “help me build an image carousel” (why doesn’t Nuxt UI have one?), I’ve also had the AI steer me in wildly wrong directions which I pursued for hours because I didn’t know any better.

I’m still not sure if the tools aren’t that great yet or I’m just holding it wrong, but I do see improvements with different models. Will keep trying.

My two weeks off work over the holidays was spent on all of that, celebrating two birthdays, and a quick trip to Sea Ranch. I get the site up on Jan 1 and have been tweaking it almost daily since.