How I build

Hand-Coded Website
Development

A hand-coded website, sometimes called a custom-coded or bespoke site, is one written directly in HTML, CSS and JavaScript, rather than generated for you by a content management system, theme engine or page builder. Every hand-coded build starts as an empty file, and nothing goes into that file the project hasn't earned. Sometimes that means five files and a contact form. Sometimes it climbs all the way to a real application. Either way I build it, and either way I run it for you. It is measurable, too: my web development page runs 97 to 100 on mobile in PageSpeed Insights, August 2026.

The method

From an
empty file.

Line one

I start with nothing.

The normal way round is to start with everything. You pick a platform, and before a single word of your site exists you have inherited a theme, a plugin queue, a database, an admin panel and a build step, then you spend the project subtracting, disabling and overriding your way back toward what you actually wanted.

Starting empty inverts that. There is no default to fight, nothing arrives that nobody chose, and every kilobyte on the page is there because someone decided it should be. What a hand-coded website is has its own post; this page is what happens after it.

An empty file at the start of a build An editor panel labeled index dot html, with line numbers one to five down the side and a cursor blinking on an otherwise empty first line. index.html 1 2 3 4 5 AN EMPTY FILE every build starts here

The ladder

Add only what's needed.

From that empty file there are five rungs, and a project climbs only as far as it has a reason to. Structure is HTML and CSS: a page that reads, ranks and loads instantly. Behavior is JavaScript, written for this one site. Server is functions: forms, email, payments, with nothing to patch. Data is a real database behind the page. Application is accounts, admin tooling, the whole thing.

Most sites never leave the first rung, and that is the point. A CMS lives up the ladder too: it goes in when a build genuinely needs one, usually as one part of the site rather than the platform it runs on, and when WordPress itself is the better fit, the next section is how that goes. I build whatever rung the job actually needs and look after it either way, and if you ever leave, your domain, your content and a copy of your files come with you.

The five rungs of a hand-coded build Five stacked panels, numbered one to five: structure, behavior, server, data, and application. A project climbs only as far as it needs to. 1 STRUCTURE HTML and CSS, a page that reads 2 BEHAVIOR JavaScript, written for this site 3 SERVER forms, email, payments 4 DATA a database behind the page 5 APPLICATION I build it, and I run it

When it's WordPress

The same rule, on WordPress.

Some jobs are better on WordPress, and a store is the usual one: WooCommerce and its payment gateways carry years of checkout, tax and shipping work that would cost a great deal to rebuild from scratch. When that is the right call, the build still starts as close to empty as WordPress allows.

It carries more weight than a plain hand-coded site, and it needs updates a static site never does. The difference is that the weight is chosen and kept small, the updates are mine to handle, and the site is still designed and written by hand around your business. Which way your site gets built is never decided ahead of time: I look at what you need, and what you want to spend, and recommend the approach that fits. Custom WordPress development has the whole approach, stores included.

  • A theme that is barely a theme

    Every WordPress build starts from the same bare-bones theme: just enough for WordPress to recognize it as one. The design is written on top of it by hand, like any other build.

  • Two plugins to start

    Advanced Custom Fields, so your content is edited in fields built for your site, and Gravity Forms, for forms that behave consistently and connect cleanly to the tools you already use.

  • Everything else, only when it's needed

    Anything past those two goes in because the job calls for it, and it is weighed like everything else. Wherever my own code does the job better than another plugin, it gets my own code.

The upside

What hand-coding buys you.

  1. Speed

    Kilobytes instead of megabytes. No theme engine, no plugin queue, no render-blocking third party to ship.

  2. A smaller attack surface

    On a static build there is no admin panel to brute-force, no plugin stack to patch and no database to breach.

  3. Accessibility you can fix

    The markup is written, not generated, so a contrast or focus problem is one line to correct, not a theme to fight.

  4. Search visibility by default

    Real HTML, real URLs and real headings are what crawlers, answer engines and generative models read best. Nothing is in the way.

  5. No stack rot

    HTML, CSS and JavaScript don't reach end of life. Nothing breaks because a plugin author stopped maintaining it.

  6. No license pile-up

    No per-plugin licenses, no per-seat add-ons, no upgrade forced on you because a dependency moved on.

  7. The design you asked for

    Nothing is bent to fit a template, because there isn't one. The layout follows the content instead of the reverse.

Ownership

What stays yours.

One person designs your site, builds it and looks after it: no account manager, no handoff to a production team, no brief passed down a chain until the intent is gone. Whoever you talk to on the first call is who does the work. How the site gets edits and new pages is scoped with you, early, like everything else about the build.

The counterweight is that none of it locks you in. The domain is registered in your name. The content is yours. If you ever decide to go elsewhere you get a copy of your site files that any developer can host, plus a grace period to move hosting without the site going dark.

What stays yours Four ticked panels: your domain is registered in your name, the content is yours, you take a copy of your files if you leave, and nothing locks you in. YOUR DOMAIN registered in your name YOUR CONTENT words, images, all of it YOUR FILES a copy, if you ever leave NO LOCK-IN leave whenever you like

The other side

The honest limits.

There are three, they are real, and none of them is a surprise once it is said out loud.

  • Structure takes a developer

    Whether you post your own updates is settled per build. A new layout or a new kind of page is written rather than dragged into place, so it comes to me, and it fits the site when it lands.

  • It isn't instant

    A page written from nothing takes longer than a page picked from a menu. What that time buys is a site with no inherited weight in it, which is the entire argument.

  • Not the cheapest first invoice

    It is usually the cheapest fifth year: nothing to re-license, nothing to migrate off, nothing that breaks because a plugin was abandoned.

Hand-CodedFAQs

What does hand-coded actually mean?

That the files are written by a person in HTML, CSS and JavaScript rather than generated by a CMS, theme or page builder. Nothing is on the page that somebody didn't put there. What is a hand-coded website? makes the full case.

Can I edit the site myself?

That's decided per build rather than fixed in advance. Some clients want to post their own updates; others would rather send them over and have them handled. We settle it together, early, and either way you are never left maintaining a plugin stack.

What if I need a blog, or a database?

Then the build climbs a rung. Serverless functions cover forms, email and payments; a real database goes in when the content is genuinely dynamic; a full application goes in when that's the job. I build it and I look after it.

Is a hand-coded site more expensive?

Usually more to build and usually less to keep. There are no plugin licenses, no per-seat add-ons, and no forced migration when a dependency is abandoned, the costs that quietly outgrow the build on a platform site.

What happens if I want to leave?

You take a copy of your site files that any developer can host, and a grace period to move hosting without the site going dark. The domain was always registered in your name and the content was always yours.

Isn't hand-coding slower to build?

Than picking a template, yes. Than bending a template into a design it was never meant to hold, rarely: that is where platform projects actually lose their weeks, and it is the part nobody estimates.

One empty file

Let's build
yours.

I don't think hand-coding is a moral position. It is just the only way I have found to hand somebody a site with nothing in it they didn't ask for, and the site you are reading is the evidence, so here is how it works and here is what it looks like. The blog is where I show the working, the FAQ covers the money and the maintenance, this is me, and the front door is open. If you are an architecture practice, there is a page about exactly that, and one for minimalist website design if that is the register you want. Got a project that starts at rung one? Start a conversation.

The Better Website

The Better Website is a one-person web design studio in Raleigh, NC, serving the Triangle and clients nationwide. Every site is hand-coded: plain HTML, CSS and JavaScript by default, or a custom WordPress theme when that is the better fit.