Icarian Forge
← All work

Case study · You’re looking at it

Icarian Forge

The last project is the one you’re reading. I wanted a portfolio that shows how I work instead of just listing it, so I built it the way I run any project: I set the direction and made the calls, Claude Code did the engineering, and nothing went live until I’d seen it.

Role
Product lead: brief, positioning, voice, design direction and every final call
Built with
Claude Code as the engineering team; plain HTML and CSS; Cloudflare
Timeline
One day, October 6, 2026: 20 published versions
Status
Live, and still being forged
The Icarian Forge home page: Big picture, small print. Nearly 20 years in IT. Strategy, leadership, and hands-on with AI.
The home page, as you probably first saw it.
The brief

A portfolio, not a pitch

A résumé lists what you’ve done. I wanted something that shows how I do it, including what didn’t work the first time. Three rules shaped everything: it should read as a job-seeker’s portfolio, not a business; it should sound like me, not like marketing; and every claim on it should be true.

The first headline failed the second rule. It read like a pitch, so it became four quieter words: Big picture, small print.

How it was made

Brief, build, check, decide

  1. BriefI describe what I want in plain English: the goal, the audience, the feel.
  2. BuildClaude Code writes the HTML and CSS, and recommends an approach before any big decision.
  3. CheckEvery change is screenshotted on desktop and phone, in light and dark mode, and tested for anything spilling off the screen.
  4. DecideI approve, push back or redirect. Most pages went through several rounds.
  5. PublishLive on Cloudflare in about a minute, then checked again on the real site.
1 dayfrom a one-line placeholder to a live portfolio
20versions published, each one saved
3projects, counting this one
The toolkit

Small, plain and dependable

  • Claude CodeThe engineering team: wrote the code, drafted copy for my edits, and checked its own work in a real browser.
  • Plain HTML and CSSNo framework and no build step: one stylesheet, and a few small scripts for the menus, the feedback form and the certificate viewer.
  • CloudflareFree-tier hosting, the custom domain, a small database for site feedback, and a Worker that forwards icarianforge.com to www.
  • Headless ChromeScreenshots for every review, plus a small script Claude wrote to emulate a real phone.
  • LighthouseGoogle’s audit for speed, accessibility, best practices and search.
  • GitHubEvery version saved, so any change can be undone.
By the numbers

Measured, fixed, measured again

Before writing this page, I had the site audited with Lighthouse. It scored well, not perfectly, so we fixed what it found and measured again.

  • Grey text was too faintSmall labels failed the contrast test in light mode. They’re darker now, and pass in both modes.
  • Images were too big for phonesEvery picture now comes in several sizes, so a phone downloads a phone-sized one.
  • Text jumped as fonts loadedThe stand-in fonts are now sized to match the real ones, so nothing moves.
100accessibility, best practices and SEO, on the home page and every case study
99–100speed on phones, up from as low as 84; 100 on desktop
<300 KBhome page, down from 914 KB
0cookies or ad trackers
$0hosting, on Cloudflare’s free tier
1small database, waiting for your feedback
Design

Decisions that shaped it

  1. A quieter voiceThe first headline read like a pitch. “Big picture, small print.” says the same thing in my own voice.
  2. A markThree wing strokes and a sun, for Icarus, with the I and Forge picked out in ember.
  3. DepthProject tiles became small stage sets, with a browser, a share card and a tilted phone, after the first one looked merged together.
  4. BalanceStrategy, leadership and hands-on, with nearly 20 years in IT, repeated where it counts.
  5. A softer hello“Need someone…?” became “Tell me what you’re working on.”
Honesty

What didn’t work the first time

  • The AI made things upEarly drafts included a reply-time promise and a backstory nobody had given it. Both came out, and the rule became: facts only, from me.
  • Phone screenshots came out cut offHeadless Chrome won’t go narrower than about 500 pixels, so Claude wrote a small tool that emulates a real phone instead.
  • The site didn’t load, but only for meMy home router had cached a “doesn’t exist” answer from before www was set up. The fix was patience, and checking through Cloudflare’s own resolver.
What it shows

Nearly 20 years in IT.
Strategy, leadership, and hands-on with AI.

Strategy

Positioned a career, not just a site: one clear message, repeated where it counts, and never a sales pitch.

Leadership

Ran Claude Code like an engineering team: clear briefs, quick decisions, and the final call on every word.

Hands-on

Shaped the voice, reviewed every round on desktop and phone, and sweated the details, down to the size of the words “small print”.