Now that I'm spending more time on personal projects, I thought I should document and share some of them. So I made this website!

screenshot of the front page of my website in dark mode, showing 4 photos of me working on projects and some intro text

Choosing tools

Social media apps can be great for documenting and sharing, but:

  • I want to own and control my stuff.
  • The length limitations on the big services make it hard to fully explain what you're posting about.
  • You can't really mix media or choose formats. On Instagram you have to post a photo or series of photos as the main content, with some supporting text. It's hard to tell a story.

Tools like Wordpress, Wix, and Squarespace have been popular for decades for making blogs or personal websites. But those have always felt bloated and slow to me. And it occurred to me with all the new vibe coding tools available that I should try to make one without actually writing the code myself.

The tool I'm trying is called Codex, from OpenAI. For some reason more people are talking about Replit and Cursor and others, but I already have a ChatGPT subscription (the $20/mo one), so I figured I'd try their tool. You point Codex at a git repository (can be empty) and it creates commits for you.

Vibing

I asked Codex for a blogging platform and gave it some specs, including:

  • What I wanted the blog to look like
  • How I'd upload posts (HTML markup)
  • How it should handle images
  • Comments
  • An Admin section for managing the site
  • An Azure SQL database it could use to store any data required

I said, "go", waited 2 minutes for the code, deployed it, and was immediately impressed by the tool it had made according to my instructions. Everything looked very basic and bare-bones, but it was working.

screenshot of the front page of my website, with no image or text content. Formatting is ugly and plain.

I typed in a bunch of improvements I immediately wanted: different typefaces, spacing, categories, and toolbars. It spat out the changes, not always everything I wanted, but I could easily ask for more in a follow-up request.

screenshot with a natural language request in the top left, a summary showing what changes were made and how long Codex thought, and diffs for 3 files

Here's a list of the main features so far:

  • Posts that use an HTML page I write manually
  • Comments
  • Images with a higher-res image that loads when you click it, and zooms into the location you click
  • Categories, which also appear on a menu at the top
  • A nice thin rainbow line separating the header from the content, but no other chrom or lines of any kind
  • Light/dark mode
  • View counts

I went down a long typography rabbit hole since text is one of the main things this website does. I wanted something extremely legible and simple but also comforting and relaxing. Initially I gave some long instructions to Codex to request style specifications based on some high-level inspiration I spouted at it, like, "glass, wood-inspired, minimalist, nerdy designer bells-and-whistles, understated." But I got a big mess that just looked bad. I ended up looking up typefaces and sizes myself and just asked Codex to adjust the spacing and kerning until it looked good to me.

Reflecting

In my job at Google I was a product manager, explaining to software developers what should be built. It occurred to me as I typed instructions to Codex that I was right back at my old job, defining product requirements. But instead of waiting a week or two to see the results, it was a minute or two. Of course, this was an easy test for a coding assistant: at Google the engineers work on huge code bases and need to understand how lots of different pieces connect in order to make successful changes. Codex only had a few hundred lines of code to write across 3 or 4 files, with no other requirements besides mine.

I'm pretty good at describing what I want to make. I wondered how useful this skill from my career would be in the new world of automatic coding. On further reflection, it might be handy in the short term but far from essential; the quick feedback loop meant I could (and did) write any gobbledygook that came to mind. Then I just complained about it later to correct whatever I'd explained poorly.

The greater magic would be a computer assistant being able to envision an amazing product.

Project assessment

There were certainly times when Codex struggled. I had to ask it at least a dozen times to modify its image-viewing logic so that visitors can zoom in on images in an intuitive way, whether on their phones or larger screens, and it's still not exactly right. It also had plenty of bugs whether something broke on a specific browser or device. All these problems are ones that human coders struggle with too. It was also annoying that Codex couldn't handle binaries.

Overall, I was impressed with what codex could do and inspired to try something more difficult (like my Stock Connector application for tracking investments). Let me know how you like the site and what improvements you'd suggest!

The assistant-built personal website platform gets a 7/10 project score.