So I found myself scrolling through old GitHub repos last week (we all do it, right?), and I stumbled on Blockpress - this WordPress thing I built like 10 years ago when I was shipping 20+ sites at an agency.
It was just a collection of content blocks with ACF (Advanced Custom Fields). Hero sections, testimonials, feature grids - boring stuff, but reusable. I got tired of building the same "About Us" section for the 47th time, so I made blocks I could just drop in.
Looking at it now? The structure still made sense. So I ported it to React + Shadcn. Called it AtlasBlocks.
The Thing That Surprised Me
Reading 10-year-old PHP and converting it to React was... weirdly easy.
Not because I'm some genius (definitely not), but because the patterns are basically identical:
// 2015 WordPress/ACF
get_field('title')
get_field('description')
// 2026 React
props.title
props.description
Same concept. Different words.
WordPress loops? → Array.map()
Template parts? → React components
ACF repeaters? → Array of objects in props
The syntax evolved. The logic didn't. We're still passing data into templates and rendering stuff. 🤷♂️
The Dumb Mistake (30 Minutes I'll Never Get Back)
I added MCP (Model Context Protocol) support so people could install blocks with AI agents. Setup was surprisingly easy - like 1-2 hours with some Vercel functions.
But then I got stuck for 30 minutes getting 401/404 errors. I was convinced Vercel had security issues or was blocking my requests.
Nope.
I was posting to an old deploy URL instead of the production URL. Copy-paste error. Changed one URL, everything worked. Classic. 😅
One Tradeoff I'm Still Thinking About
The world has way too many component libraries. I know this. You know this.
But here's the thing - I wanted blocks for content, not UI components. The stuff every site needs but nobody wants to build for the 100th time. And I wanted them styled with Shadcn/Tailwind so I could actually reuse my own work.
So yeah, I added another library to the pile. Is that good for the ecosystem? Probably not. Is it good for my personal DX? Definitely yes.
Sometimes you build things for yourself first. 🤷
What Actually Stuck
Web development looks different now. Modern React, Vite, Tailwind, Shadcn - it all feels shiny and new.
But fundamentally? We're solving the same problems we solved a decade ago. We're just doing it with better syntax and faster tools.
Your old code probably isn't as outdated as you think. The patterns age better than the syntax.
AtlasBlocks is on GitHub if you want to check it out. It's open source, uses Shadcn + Tailwind, and installs with MCP support.
But honestly, the real takeaway for me was realizing how little has fundamentally changed in 10 years. Makes me wonder what my 2036 self will think when they port this to whatever comes after React. 🚀
Top comments (0)