← All Writing
February 27, 20265 min read

How I Built a Universal Footer Using Claude Code

Designing and deploying a production-ready footer component in under 30 minutes with terminal-based AI

YieldOne responsive footer deployed across all pages at joseandgoose.com
DifficultyBeginner-friendly (pure design iteration, no debugging required)
Total Cook Time~25–30 minutes in a single session

Ingredients

The Problem: The Site Had No Footer

When I launched joseandgoose.com, I focused on the pages that mattered most — homepage, about, work, writing, contact. The footer was an afterthought. It didn’t exist. Every page just ended at the bottom of its content: no navigation, no social links, no way to scroll back to the top or get in touch without hitting the browser’s back button.

Footers aren’t glamorous, but they do real work. They give visitors somewhere to go when they reach the bottom of a page, surface social links without cluttering the nav, and make a site feel complete rather than abandoned. A site without a footer feels like a book that ends mid-sentence.

This was also a chance to test something: how fast could Claude Code handle pure design iteration — no database, no API routes, just component design and CSS — compared to the heavier builds that came before it?

Why Claude Code vs Claude.ai

I’d built the entire site using Claude.ai in the browser — copy code, paste into VS Code, save, run git push in Terminal, repeat. That workflow worked, but it had friction:

Claude Code runs directly in Terminal with full read/write access to your project. It can see your file tree, read your existing code, edit files in place, run commands, and commit changes to Git — all from one conversation.

Speed comparison

Building the homepage with Claude.ai took ~3 hours (Session 1 in the first post). Building this footer with Claude Code took 25 minutes. Same designer, same site, same level of polish — 7x faster.

The Build: One 25-Minute Session

Evening, February 27 — ~25 minutes

Pace: Relentless iteration. No file-switching friction, just pure design refinement.

Sharing the Vision

I started by dropping two screenshots into Claude Code — one from a premium automotive brand with a centered scroll-up button, one from a minimalist restaurant site with vertically stacked social icons. I described what I wanted:

Claude read the existing CSS file to extract the exact colors already in use, then generated the full footer component and styles in one response — writing directly into the project files rather than producing code blocks to copy and paste manually.

🔧 Developer section: Footer component generation

First Iteration

The initial footer had all the elements, but the layout felt off. I sent feedback in plain language:

Claude Code updated both files instantly. Refresh the browser at localhost:3000 — changes were live. No file hunting in VS Code. No copy-paste. Just conversational iteration.

Terminal advantage

Because Claude Code runs in Terminal, it can read your existing CSS variables, match your color scheme, and update multiple files in parallel. In the browser version, I’d have to manually tell it the hex code and track which files need updates.

Design Refinement (5 Rounds)

Over the next 15 minutes, we iterated five more times. Each round was a screenshot of the live site in my browser + notes on what to adjust:

Every round: Claude Code edited the files → I refreshed localhost:3000 → took a screenshot → sent feedback. No stopping to save in VS Code. No switching windows. No manual git commits between iterations.

Claude Code — Terminal
Claude: I've updated the footer to use CSS Grid
with three columns so the dot is perfectly centered.

Files modified:
• app/Footer.tsx
• app/globals.css

Claude: Refresh localhost:3000 to see the changes.

Claude Code edited files directly and told me exactly what changed — no file-switching required.

Deployment

When the design was right, one instruction — “push it to the live site” — kicked off the full deployment. Claude handled every git step automatically: staging the changed files, writing the commit message, and pushing to GitHub, which triggered Vercel to deploy.

🔧 Developer section: Git deployment workflow

Footer live at joseandgoose.com. Total time from first prompt to production: 25 minutes.

Terminal — git push
user@MacBook-Air joseandgoose-site-main % git push
To https://github.com/joseandgoose/starter.git
dd73c2a..6ce6ed9 main → main

Claude: Pushed to production! Vercel is now deploying
your new footer to joseandgoose.com.

Claude Code ran the full git workflow in Terminal — no manual commands needed.

Final Output

A production-ready universal footer component deployed across all pages at joseandgoose.com with dark green branding, centered scroll-up button, social media links (LinkedIn + Instagram), contact CTA, perfectly aligned copyright line with CSS Grid symmetry, full mobile responsiveness, and automatic git deployment — built in 25 minutes by someone working entirely in Terminal with no file-switching, guided by Claude Code.

What went fast

What was different from browser Claude

The biggest lesson? The same AI that built the entire site in the browser can work 7x faster when it runs in your terminal with direct file access. The design thinking is identical. The iteration speed is not. And the copyright dot is finally, perfectly, symmetrically aligned with the scroll-up arrow.

← Back to all writing