Work

No names. Numbers instead.

Every client decides whether they want to appear, and until they say so they do not. So there are no logos here. There is what was built, at what volume, and how it performs.

The weight and speed figures are measured with a real browser on the live sites, emulating a phone with no cache. They are not estimates or promises. Last measured: 22 July 2026.

What was built

Three projects, three different problems

None of these gets solved with a template. That is why they are built in code.

Property portal

A large catalogue that changes on its own, without anyone uploading photos by hand.

It connects to the CRM the agency already used and updates itself. When a new listing comes in, it appears on the site without anyone touching anything.

weight on mobile
393 KB weight on mobile
to render the main content
under 300 ms to render the main content
requests
8 requests
  • 253 properties published
  • 4,273 photos kept in sync
  • 0 manual work to update

Events and culture portal

Thousands of old records to migrate without losing a single one, plus an editor the client could publish from alone.

Migration is the part that usually goes wrong in these projects. It was done by verifying that the record count matched at source and destination, with five full reviews before anything went live.

  • 8,470 records migrated
  • 0 records lost
  • 5 audit rounds before launch

Education farm site

A reopening: it had to explain clearly what is on offer and to whom, and load instantly on a school phone.

No CMS and no database: at this size they add cost and points of failure without giving anything back. Built static, so it moves at the speed of a file.

weight on mobile
850 KB weight on mobile
to render the main content
under 200 ms to render the main content
requests
16 requests
  • under 200 ms to render the main content
  • 16 requests in total
  • 0 databases needed

You will not find sales or traffic results here, because that data belongs to the client rather than to me, and I am not going to publish figures I cannot prove.

Before launch

What gets checked on every one

This is not an extra and it is not billed separately. It is part of delivering a finished site.

That it actually works on a phone

Not "that it fits". Checked by hand on a small screen, because that is where most people arrive.

That it loads fast, and measured

With a real browser and no cache, not with an estimate. The figures on this page come from that measurement.

That anyone can use it

Enough contrast, keyboard navigation and alt text on every image. Across the sites measured for this page: 68 images, none left undescribed.

That the links go somewhere

All of them checked before launch. A broken link on the contact page costs you customers.

That the legal side is in order

Legal notice and privacy policy with the real details of the business, not a template with gaps left in.

That Google understands it

Titles, descriptions, structured data and a sitemap. Done from the start, not patched on afterwards.

How I build

In code, not with a builder

A site made with a page builder carries the weight of everything that builder could do, whether you use it or not. That is why they are heavy and that is why they are slow.

Building it in code costs more up front and less afterwards: it weighs what it needs to weigh, it can be changed without breaking, and you are not tied to anyone's licence.

And if you want to move somewhere else tomorrow, you take the site with you. The domain and the accounts are in your name from day one.

What you can expect

A timeline in writing

Agreed before we start, not guessed at as we go.

A fixed price

In writing before starting. If the scope changes, we talk about it first.

You see it first

I show you the design before anything gets built.

It is yours

Domain and accounts in your name. No lock-in.

Paid in two parts: half to start and half on delivery, before it goes live.

Let us talk

Want your business to communicate better?

Tell me what you have in hand and we will see if it makes sense to work together.

Reply within 24 h on working days · No commitment