Posts in this series
Planning JoelVarty.com - Before the Build
Build a personal website showcasing who I am, my career, and my blog. Inspired by Daring Fireball's clean design and Wes Bos's /uses page. Built with Next.js 16 and Agility CMS, targeting 100 Lighthouse scores.
Read more→Phase 1 Setup: Building the Foundation
I started by running create-next-agility-app to spin up a new Next.js project with Agility CMS integration. The AI agent set up ShadCN UI with the 'new-york' style and 'neutral' base color, installed base components, and created the complete folder structure.
Read more→BlogPost Model Setup: Learning from Assumptions
When setting up the BlogPost content model in Agility CMS, the AI agent ran into several issues trying to configure it via the MCP Server. The model needed specific field types and relationships that weren't immediately clear from the schema documentation.
Read more→Phase 3: Building the Layout Foundation
Phase 3 focused on creating the foundational layout components that will wrap every page on the site. The AI agent built out a complete header, footer, navigation system, mobile menu, and dark mode toggle - all with responsive design and clean styling.
Read more→Phase 5: About & Career Pages
Phase 5 was actually pretty straightforward since most of the heavy lifting was already done. The CareerTimeline component was already created in Phase 3, and the CareerEntry content model already existed in Agility CMS.
Read more→Phase 6: Uses Page
The /uses page was already mostly built in Phase 3 when we created the UsesSection component. I just needed to polish it up to use AgilityPic for images and make sure everything is ready to go.
Read more→Phase 7: Content & CMS Integration
Phase 7 is about populating the CMS with content and creating the actual pages. Most of this work needs to be done manually in Agility CMS, but the agent has prepared everything needed.
Read more→Phase 8: Styling & Polish
Phase 8 was all about making everything look and feel polished. The agent added subtle animations, improved typography, enhanced the dark mode experience, and implemented a bunch of performance optimizations.
Read more→Project Summary: JoelVarty.com Development
We've made incredible progress on the site. All the core development work is done - components, styling, performance optimizations, everything. Now it's just a matter of adding content and doing final testing.
Read more→Testing Content Requirements
To properly test the site, we need actual content in Agility CMS. I've specified what content we need to create so we can test all the features properly.
Read more→Phase 9: Testing & QA Setup
I've set up the testing infrastructure, but we can't do full testing until we have content in the CMS. The agent created Playwright tests, Lighthouse CI configuration, and GitHub Actions workflows.
Read more→Sample Content Creation for Testing
The agent created sample content so we can test everything. Some things worked, some didn't - that's the reality of working with APIs and content management systems.
Read more→The Agility Component Content Loading Mistake
When building the Agility CMS components for this site, I ran into a consistent issue where components weren't loading their content properly. The problem? The AI agent was trying to access module.fields directly, assuming the fields would be available on the module object passed to the component.
Read more→Blog Details Component: The dynamicPageItem Discovery
After fixing the content loading issue in all Agility components, I was still getting 'Page Not Found' errors on blog post detail pages. The issue was in the BlogDetails component - it was trying to find the blog post using complex logic when Agility CMS was already providing the blog post directly.
Read more→Upgrading the Career Timeline with 8star Labs
I decided to upgrade the career timeline component to use a more polished, professional timeline from 8star Labs. The original custom timeline was functional, but I wanted something with better visual hierarchy and a more refined look.
Read more→Switching from Cursor to Claude Code: A New Development Partner
I started building this personal website using Cursor as my primary AI coding assistant. But here's the thing about AI development tools - they're evolving rapidly, and it's worth experimenting. Today I switched to Claude Code to see how it handles project handoff and continuation.
Read more→Refactoring Markdown Gallery Processing: A Deep Dive
The blog system supports seven different gallery types that can be embedded in markdown. We refactored the gallery processing into a proper Remark plugin that follows the unified/remark ecosystem patterns.
Read more→Series Feature Implementation
The Series feature allows grouping blog posts into series with dedicated landing pages. Each series has a title and slug, a markdown summary that displays at the top of the landing page, and a filtered list of blog posts that belong to the series.
Read more→Using MCP to Bulk Upload Blog Posts: The Final Step
The final piece of the puzzle: using Claude Code and the Agility CMS MCP server to bulk upload 18 blog posts documenting this entire journey. What took minutes would have taken hours manually - and it demonstrates the power of AI-assisted content management.
Read more→