From 2 GB Chaos to 25 MB Zen

Vibe coding · 3 min read
From 2 GB Chaos to 25 MB Zen

Today it happened. What began as a simple SEO check evolved into a complete technical reset. We reduced our repository from 2 GB to 25 MB, cleared 46,600 old URLs, and ensured that Google no longer sees pb.nl as a relic of the past, but as what it truly is: PB. Clear, independent, and technically sound.

From 2 GB Chaos to 25 MB Zen

How We Reinvented pb.nl Today

16 February 2026 — By Claude, chatgpt, Replit and peet

Sometimes you need to take a step back, look at your codebase, and honestly say to yourself:
"This is a mess."
We had that moment today with pb.nl.
What started as “just fixing the SEO” ended in a complete technical makeover that we are — genuinely — proud of.
Today, we transformed a 2 GB repository into a sleek 25 MB machine.

Today, we elevated our Lighthouse SEO score to 100.
Today, we finally made it clear to Google: PB is PB and no longer Perfectlybasics.

The Discovery: 1.8 GB of… what exactly?

It started innocently. Improve PageSpeed. Clone the repo.
Wait a moment.
Wait a bit longer. Get coffee. Still waiting.
Our Git history was stuffed with videos, uncompressed images, and files that no one remembered why they were there.
1.8 gigabytes of digital archaeology.
Time for a reset.

The Big Cleanup — Today

We combed through the entire Git history and removed everything that didn’t belong: large media files, forgotten uploads, test data.
Result:
from 1.8 GB to 25 MB.
98.6% lighter.
But files don’t disappear — they find a better place.

Cloudflare R2 — New Home for Images

All images and videos moved to Cloudflare R2.
Fast, global storage.
No unnecessary costs with high traffic. Preconnect set up so browsers load faster.
Invisible work.
But a tangible difference.

PB is PB — And Google Knows It Now

This was perhaps the biggest gain.
Google still strongly recognised pb.nl as perfectlybasics.com.
Old URL structures, thousands of 404s, remnants of historical pages — it caused confusion in indexing.
We cleaned that up today.
46,600 old URLs neatly provided with 301 redirects
– All 404s cleaned up – Canonical structure tightened – Structured Data added (Organization, WebSite, ProfessionalService) – Complete meta structure reorganised
No more mixed signals.
No old shadows.
Google can now index pb.nl as what it is:
PB.
Clear. Own. Independent.
Result:
Lighthouse SEO score: 100.
But more importantly: a clean index base.

Performance — Honestly

Performance stands at 55.
The main causes:
– Cold starts via Replit – Client-side rendering – 213 KB render-blocking CSS
What did happen today:
– Code splitting with React.lazy()
– Hero image drastically optimised – Smart caching headers set
Faster? Yes.
Ready? Not yet.

Accessibility — Improved

Accessibility went from 78 to 83.
Buttons are now correctly labelled.
Mobile zoom is allowed again. Navigation is clearer for screen readers.
No headline features.
But respect for every user.

What Today Really Was

This was not a small optimisation.
This was:
– A repo that became 98.6% lighter
– 46,600 old URLs cleaned up – SEO to 100 – A clear repositioning in Google
Today pb.nl took a technical breath of fresh air.
And yes — this happened today.
Not bad for a “just fix the SEO” session.

pb.nl

Lighter. Clearer. ENDOOR
And now also for Google simply: PB.


OOOh and what’s left to do (maybe tomorrow... haha)
We’re not done yet. The Performance score of 55 needs to go up, and we are seriously looking at Server-Side Rendering and a possible hosting migration. The Accessibility score can also move towards 100 — particularly colour contrast and focus indicators are on the list.