Series: Building This Site

Project Summary: JoelVarty.com Development

Workcodingai

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.

Project Summary: JoelVarty.com Development

Date: January 6, 2026
Status: Phases 1-8 Complete, Ready for Content & Testing

Note: This post is written from Joel's perspective (first person "I" = Joel). Technical details sections are clearly marked as written by the AI agent (Cursor - Claude Code).

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.

What We've Built

Phase 1: Project Setup ✅

  • Next.js 16 project initialized
  • TypeScript configured
  • Tailwind CSS v4 set up
  • ShadCN UI installed
  • MCP servers configured

Phase 2: Core Infrastructure ✅

  • Agility CMS integration complete
  • Content models created (BlogPost, CareerEntry, Category, Tag)
  • Containers set up
  • Component models created

Phase 3: Homepage & Layout ✅

  • Header with navigation and dark mode toggle
  • Footer with links and social media
  • Mobile menu
  • Preview bar for Agility CMS
  • Responsive design
  • Dark mode support

Phase 4: Blog System ✅

  • Blog listing component
  • Blog details component
  • Markdown processing with gallery support
  • 7 gallery types (carousel, masonry, grid, thumbnail, stacked, comparison, tabs)
  • RSS feed
  • All images use AgilityPic for optimization

Phase 5: About & Career Pages ✅

  • CareerTimeline component
  • Updated to use AgilityPic and markdown processor
  • Ready for use in About/Career pages

Phase 6: Uses Page ✅

  • UsesSection component
  • Category grouping
  • Affiliate link support
  • Updated to use AgilityPic

Phase 7: Content & CMS Integration ⏳

  • All infrastructure ready
  • Revalidation API route complete
  • Preview mode routes complete
  • Needs: Content population and page creation in Agility CMS

Phase 8: Styling & Polish ✅

  • Subtle animations with reduced motion support
  • Performance optimizations
  • Enhanced typography
  • Improved dark mode
  • SEO metadata
  • Next.js config optimizations

Visual Tour of the Site

Here's what we've built across all the major pages:

Homepage

Homepage Light Mode
Homepage Dark Mode

Blog Listing

Blog Listing

Career Page

Career Page

Uses Page

Uses Page

About Page

About Page

What's Left

  1. Content Population - Add blog posts, career entries, uses items to Agility CMS
  2. Page Creation - Create /about, /career, /uses pages in Agility CMS
  3. UsesItem Model - Create the UsesItem content model (if not already done)
  4. Webhook Configuration - Set up webhooks for revalidation
  5. Testing - Lighthouse audit, accessibility testing, performance testing
  6. Deployment - Deploy to production

Joel's Thoughts / Reflections

Overall, my goal of having an entire CMS-driven Next.js website created from a prompt has been really encouraging. I don’t think I’ll start with Cursor again with it‘s “auto” model selection. What I really like about the Cursor experience was that it didn’t flake out and just stop doing stuff at any point. That’s been my experience with both Claude and Copilot at different points, although I just went to Claude‘s max plan with the ability to go into overages, so we’ll see how that works.
One of my biggest peeves with Cursor is that it‘s hesitant to use MCP servers, and when it DOES choose to (or I specifically as it to use an MCP server) it tends to get into an error loop because it makes a mistake with the JSON schema and then gets into a loop of MCP calls with errors, which is scary when it’s calling the CMS, since I’m wondering whether it’s making major errors in my content models.
One of my original requirements in my dev plan was to have a 100 lighthouse score on this site. Mostly, I wanted the code to be fast and performant by default, however, the agent decided to create a github action to test the site and fail if the lighthouse score isn’t high enough. I haven’t reviewed that test yet, and I‘d like it to be only required when I make a PR and the hosting environment is updated with a preview deploy. To be continued on that.
I haven’t looked to deeply at the caching stuff in Next.js and to make sure that the on-demand revalidation will work properly from a webhook from the CMS. I‘m guessing things will be ok, since the create-next-agility-app npm package has wrapper code that automatically tags everything for revalidation. Fingers crossed on that one.