Skip to content
fostercurtis.dev

This website · portfolio and sales site

fostercurtis.dev

It might seem obvious, but I built this site too. A developer’s own website is the first sample of their work anyone sees, so every promise on it has to hold up on the site making it. I built it from scratch for speed on a phone, for people using a keyboard or a screen reader, and for search engines, and every change passes automated checks before it goes live.

My role
Sole developer — design, build, and SEO
Timeframe
September 2026 – present
Built with
Next.js · React · TypeScript · Tailwind CSS · Schema markup · Accessibility

Problem

A developer’s website has to prove its own claims

It might seem obvious, but I built this site too, and it’s the one piece of my work you’ve already used.

Every web developer’s site makes the same promises: fast, easy to use on a phone, easy to find. When the site making those promises is slow, awkward on a phone, or a template with a name swapped in, a visitor has every reason to doubt the rest. So before this site could sell anything, it had to live up to what it says.

Solution

Built from scratch, the way I’d build yours

I built it from scratch with Next.js and held every page to four rules.

  • Light on a phone. The photo is resized and converted to a smaller, modern format automatically, with a blurred preview in its place, so the page doesn’t jump around while it loads. Fonts are served from this site instead of a third party. Only three small pieces, the menu, the dark-mode button, and the contact form, are interactive. Every page is built ahead of time, so there’s no waiting on a server to assemble it.
  • Phone first. Every layout starts at phone width and adds columns as the screen gets wider, not the other way around. The main buttons and form fields are at least 44 pixels tall, a comfortable size for a thumb. On a phone, the header’s booking button steps aside so each page’s own headline gets the first screen.
  • Usable by everyone. A “skip to content” link for keyboard users. A focus outline that stays visible on both light and dark backgrounds. Every section labeled for screen readers, and form errors that are read aloud and tied to the field they belong to. The brand’s amber is never used for text on a light background, because it’s too faint to read there. And animation turns off for anyone whose device asks for less motion.
  • Readable by search engines. Every page has its own title, description, and address. The sitemap is generated from the same list that builds the menu, so a new page can’t be left out. And structured data, a short machine-readable summary, tells Google what this business is, where it works, and what it charges.

I build with AI coding tools, too. They take on a lot of the repetitive work while I make the decisions and review what goes in, and every change still has to pass the same checks. The time they save is part of how I can offer lower prices.

Result

The proof is the page you’re on

You’re using the result right now. Open it on your phone, switch it to dark mode, or move through it with the Tab key.

Placeholder — not yet published

PageSpeed Insights scores for the live site — measured, not estimated

Run PageSpeed Insights (mobile) on the production home page and record Performance, Accessibility, Best Practices, SEO, and the Core Web Vitals it reports.

What this means for your site

The same care for speed, phones, and accessibility goes into every site I build, whichever package you pick. The packages differ in how many pages and features you get, not in how carefully they’re built. They’re all on the services page.

More work

Other case studies

Or go back to the full portfolio.

Next step

Let’s talk about your website

Bring whatever you have: an old site, a Facebook page, a sketch on a napkin, or nothing at all. We’ll talk through what your business needs, and I’ll tell you what it would cost. If I’m not the right fit, I’ll say so.

15 minutes, no cost, no obligation. You leave knowing what your site would take.