Skip to content

← Archive

The Last Published Date

Two client websites built in the same month, with opposite architectures, decided by one piece of evidence that was free, public, and sitting under a date stamp before either proposal was written.


26 August 2026 7 min read

The last post on newvisionpackaging.co.uk was dated September 2022. I found it by scrolling to the bottom of the blog before I wrote the proposal, which took about fifteen seconds and told me more about what to build than anything else I did that week.

The site was WordPress on shared hosting and cost around £800 a year. Twenty-eight pages, fifty-five blog posts, a contact form plugin, a cookie banner, an Instagram feed, a spam filter. A good share of that money bought the machinery of publishing: a database, an admin area, a theme, plugins to keep patched, and a login my dad had and never used. Four years of paying for a press that printed nothing.

The rest had aged the way an unattended site does. The footer read "© 2020". The header call to action truncated to "EMAIL SALES@" at the width most phones render it. The contact page still listed a colleague who'd left. The Instagram link pointed at a numeric plugin ID rather than a profile. None of that is WordPress's fault. It's what happens to any site nobody opens, and that those defects had survived four years said the same thing the blog date did.

Both clients in this post are my dad. That's the obvious objection to everything below and I'll come back to it at the end rather than pretend it isn't there.

There are project pages for both, with the figures and the stacks: New Vision Packaging and Corby United.

The Cheap Reading

The easy lesson is that WordPress is heavy and static hosting is cheap, so swap one for the other and pocket the difference. I did swap it. The rebuild is prerendered Angular on S3 behind CloudFront, it costs about £20 a year, and there's no database, no runtime, no admin panel and nothing to patch.

If that were the whole lesson I'd have got my other project wrong, because I built a second site in the same month and gave it a CMS, a server-rendered Lambda, a webhook and a deployment pipeline. Same developer, same few weeks, opposite answers. What differed was not the technology on offer. It was what I knew about who would touch each site after I stopped.

What the Date Is Evidence Of

A blog with a four-year-old last post is a prediction. Whatever a client believes about publishing, the observed rate is zero and has been zero long enough that the sample means something. Nobody has to tell you this and nobody has an incentive to volunteer it, because it's sitting on the public internet under a date stamp.

So I asked, in the proposal, what he wanted the site to do over the next few years. He said he wanted something that could sit there and only be updated when it absolutely had to be. He wasn't apologising for the four years. He was describing them as the plan.

That reframes the job. The publishing system was not an asset he'd been underusing. It was the recurring cost of a capability he had decided not to use, plus a surface that needed patching whether he used it or not, and the correct move was to take it away. That's an awkward thing to put in a proposal, because it reads as removing a feature and charging for the privilege.

So the rebuild has no CMS. Content lives as TypeScript files in the repo, changing a product description means editing a file and pushing, and the pipeline builds and deploys it. For anyone publishing weekly that's a downgrade. For someone publishing twice a year it means there's no admin surface to attack, no plugin to update, and no quietly rotting installation still charging rent. The old URLs all still resolve, through eighty-one redirects, because a site with fifty-five posts and four years of indexing has links pointing at it from places neither of us knows about.

The Other Site

Corby United is a walking football club, which is football for people whose knees have opinions. Dad runs that too. There was no old site to inspect, so the last-published date had nothing to say and the evidence had to come from him instead.

He wanted match reports, photographs from Tuesday mornings, news about fixtures. He'd already been sending that material round on WhatsApp for a year, which is the same species of evidence as a blog date and points the other way.

So Corby got the heavier stack, and each piece of it is there because someone publishes. Sanity Studio, so he can write without me. Server-side rendering on a Lambda behind CloudFront, so a post is live the moment he hits publish rather than after a rebuild. A webhook that invalidates the CDN on publish, with a five-minute cache expiry behind it for the times the webhook doesn't fire. A self-mutating CDK pipeline, so deploying isn't something I do by hand at nine at night.

Every one of those is dead weight on a site that publishes twice a year. On New Vision Packaging they would have been an elaborate way of making a brochure harder to change.

What Came Out of Both

The other thing the two projects have in common is what I deleted.

Corby started with a .NET backend. Its last remaining job was scoring a questionnaire that helps someone work out whether the club suits them, and I removed the service once I noticed the questions, their point values and the outcome conditions were all public content the page already downloaded. A server that protects nothing is a server you pay to run and patch. The scoring is a few dozen lines of TypeScript in the browser now.

Then the contact form went, and took SES, a reCAPTCHA integration, a Secrets Manager secret and the questionnaire's lead capture with it. Nothing in that stack sends email any more. The pages show a phone number and an address, which is what a 68-year-old thinking about trying walking football was going to use anyway.

New Vision Packaging lost /work, /capabilities and /services, three sections that existed largely because the old theme had slots for them. Every third-party embed went with them. Google Fonts became self-hosted woff2, the Maps embed became a static image linking out, and the Instagram widget became a text link. The site sets no cookies, so it needs no consent banner, so the broken banner that used to render as a narrow column across the hero is gone by deletion rather than by repair.

Both sites are smaller than their briefs implied, and that's the part I'd defend hardest if either client asked what they paid for.

The Bit I Can't Prove Yet

Back to the objection. Both clients are my dad, so I had access no stranger and no agency would get, and I could ask follow-up questions over dinner.

I do not think that rescues the argument, because the evidence that decided the New Vision Packaging design was public. The last-published date on a prospective client's blog is visible to anyone before the first meeting, and so is a copyright notice four years stale. Neither needs a relationship. What the relationship bought was the confidence to act on it early, and to write a proposal whose main recommendation was subtraction.

What I can't prove yet is that I read either client correctly. Both sites went live this month, so here's the prediction while it still costs something to make.

I expect dad to publish to Corby at least twice a month for the first three months and then settle at roughly monthly. I expect New Vision Packaging to need no content change at all before November, and I expect the first request, whenever it lands, to be a new product photograph rather than anything structural. I expect neither site to cost more than £2 a month to run.

If the Corby posts stop after three weeks, I built the wrong thing, and the CMS and the SSR Lambda and the webhook were a stack I picked because I wanted to build it. If the packaging site turns out to need a change the static build can't absorb, I've made his site harder to run than the one I replaced, and £780 a year of saving won't cover that.

Neither site has analytics and neither is getting any. The check is a maintenance log, a hosting bill, and one email in November asking whether the phone rang. I'll post the answer either way.