← The Journey

Automating the Blog & Cleaning Up the Portfolio

Projects 2026-06-09 · Tuesday 3 min read 30% AI

Energy: 4/10. Mood: 7/10. Tired but not in a bad headspace — the kind of day where you know you won't break new ground but you can still do useful work. Ended up being exactly that: a focused cleanup session that tightened things without adding anything new.

Automating the Blog

The blog publishing workflow from the day before was functional but manual — run a script locally, commit, push, done. Got it one step cleaner. Set up a GitHub Actions workflow (.github/workflows/blog-publish.yml) that triggers whenever a .md file lands in blog/posts/ on main, then runs a CI-safe version of the manifest generator (scripts/regenerate-manifest.js) to regenerate posts.json automatically. The result: write the journal in Obsidian, run npm run blog:generate locally to copy the file, push, and GitHub handles the rest.

Getting the push through wasn't entirely smooth. First attempt was rejected — the PAT was missing the workflow scope needed to write to .github/workflows/. Second attempt was also rejected — the GitHub Action had already fired on the first push and committed a posts.json update, so remote was ahead of local. A stash → rebase → pop → push sequence sorted it out.

Clearing Out the Placeholders

The blog was still showing three posts that were never real journal entries — old placeholder files left over from early development that had been sitting in blog/posts/ since the initial build, pretending to be content. Deleted all three. The blog now shows one post — the June 8 entry — which is what it should show.

Portfolio Cleanup

Removed three static tiles from the Portfolio Showcase section on the homepage — Certifications, Experience, Tech Stack. They were filling grid space without linking anywhere and cluttering the layout alongside the real project tiles. The three actual project tiles (In Progress, Upcoming, Completed) are now always visible by default. The Show Projects button is gone. Also updated the portfolio description to specifically mention deploying networks for homes and small businesses up to 1,000m² — more specific and more honest than the generic placeholder that was there before.

What's Next

  • Write more journal entries so the blog actually has content
  • Update the About Me stats with real numbers (certificates, years of experience)
  • Real bio copy — the current About Me text is still placeholder-ish
  • Point n5hq.me DNS CNAME to Vercel (custom domain still pending)
  • Decide on Cloudflare Access for Immich

Low energy day but still got through a clean session. The automation work is the kind of thing that pays back immediately — one less manual step every time a post goes up. The blog placeholder situation was embarrassing in retrospect; good to have that cleaned up before anyone actually visits.