← Back to Creation of Digital Den

Part 3: Building the Real Site, Where Most Bugs Were Plumbing

By Ed CoyeAugust 30, 2026

I'd been away from the project for about 30 days when I came back in late August. My first message was basically "where were we?" That recap turned into the longest working session of the whole build, and by the time it wrapped up in early September, Digital Den was a real website.

What got built

My service keys went into a private settings file called .env.local, which stays on my computer and out of the shared code. The Sanity editing screen, called Studio, was set up inside the site at /studio. The Night Signal home page was built from my static mockup, now pulling live content from Sanity. Then came the pages for projects, articles and videos, member login through Supabase, threaded comments, the Reading List page, a Buy Me a Coffee button and a round of accessibility fixes. I also installed the Claude GitHub App so Claude could see my code.

What went wrong

Plenty. Here's the honest list:

  • The schema files from Part 2 had never been saved to my project, so they had to be rebuilt from scratch.
  • Newer versions of the Sanity package for Next.js required a newer Next.js than I had, so we held it at version 11.
  • One missing line ('use client') crashed Studio, and some files landed in the wrong folder because my project keeps its code in a src folder.
  • New content didn't show up on the live site, because pages were built once at deploy time. One line, revalidate = 60, tells the site to check for fresh content every minute. My reaction at the time: "I learned something!"
  • Comments came back as an empty error until each comment was linked to the member profiles table instead of the login table.
  • Database changes written in raw SQL needed explicit permission grants that the point-and-click dashboard adds for you.
  • Pasting code through the terminal dropped opening <a tags at least three times, and Safari held on to old styling.
  • On Netlify, checking "Contains secret values" on a public setting broke the build, and a stray = in a pasted key caused an "Invalid API key" error.
  • A file named comments.tsx in one place and Comments.tsx in another worked on my Mac, which ignores capital letters in file names, but broke on Netlify's Linux servers, which don't.

Look at that list again. Almost none of it is about the logic of the program. It's versions, folders, settings, file names and caches. When I learned BASIC, the program ran exactly as typed. Modern sites are assembled, built, cached and deployed, and every one of those steps is a place for something to go sideways.

The lesson

Modern sites are built and cached, not run live like a BASIC program. When something breaks, check the plumbing first: versions, folders, settings and file names.

Try it yourself

When you hit an error, paste the exact message to the AI and ask, "Is this a code problem or a setup problem?" Keep a running list of the setup surprises you hit. Mine later became a notes file the AI reads at the start of each session, so the same mistake doesn't happen twice.

Next time: Claude Code arrives, and the AI gets a job title.

Discussion

No comments yet — be the first to say something.