AtlasBlocks: How I Ported My 10-Year-Old WordPress Blocks to React (And They Still Look Good!)

AtlasBlocks: How I Ported My 10-Year-Old WordPress Blocks to React (And They Still Look Good!)

Remember Blockpress? Yeah, me neither... until I realized those content blocks I built a decade ago are actually still super useful. So I ported them to React + Shadcn. Woohoo! ๐ŸŽ‰

โ€ข By Ehsan Pourhadi โ€ข
Web Development React

Soโ€ฆ funny story. About 10 years ago, when I was working at Guts & Glory, I shipped WordPress sites like it was my full-time cardio routine. ๐Ÿƒโ€โ™‚๏ธ Every. Single. Day. Landing pages, basic content sites, you name it.

And hereโ€™s the thing - every site was custom-made from scratch. Which sounds cool and artisanal until youโ€™ve built your 5th โ€œAbout Usโ€ section in a week. Then it just feelsโ€ฆ exhausting? Yeah, exhausting.


๐Ÿคฏ The Birth of Blockpress (aka โ€œIโ€™m So Done Starting From Scratchโ€)

I got tired. Like, really tired. So I did what any lazy-but-smart developer would do: I made Blockpress.

Blockpress was basically a collection of completely unstyled content blocks that I could reuse across projects. Built with ACF (Advanced Custom Fields) in WordPress, these blocks had some basic options to tweak how they looked in the backend. Nothing fancy, nothing UI-framework-y, just solid, reusable content structures.

I had this style guide from a designer - you know, margins, borders, button styles, all that good stuff - and I justโ€ฆ reused it. Over and over. 20+ sites. All using the same blocks. All looking different because of the styling.

And honestly? They worked. Really well. ๐Ÿ˜Œ


โฐ Fast Forward 10 Yearsโ€ฆ

So here we are, a decade later, and Iโ€™m scrolling through some old GitHub repos (donโ€™t judge me, we all do it). I stumble upon Blockpress and Iโ€™m likeโ€ฆ wait, these still look good. Like, genuinely good. The structure, the logic, the content patterns - they all held up.

And then I had a thought: What if I ported these to React?

But not just React. React with Tailwind and Shadcn. So I could install them with one command from my terminal, just like the old Blockpress days, but for modern React apps.

And thatโ€™s how AtlasBlocks was born. ๐ŸŽ‰

AtlasBlocks


๐Ÿ› ๏ธ What I Learned (aka โ€œWeb Dev Hasnโ€™t Changed That Muchโ€)

1. The Stack Changed, The Patterns Didnโ€™t

Hereโ€™s the wild part: reading my 10-year-old PHP code and porting it to React wasโ€ฆ easy. Like, shockingly easy.

Why? Because the concepts are the same:

  • ACF Custom Fields โ†’ React Props
  • WordPress Loops โ†’ Array.map()
  • Template Parts โ†’ React Components

Web development hasnโ€™t fundamentally changed. Weโ€™re still building content blocks, weโ€™re still passing data around, weโ€™re still styling things. The syntax is different, but the patterns? Nah, those are eternal. ๐Ÿ•ฐ๏ธ

2. Adding MCP Was Easier Than I Thought

I wanted to modernize AtlasBlocks by adding MCP (Model Context Protocol) so people could use AI code agents to install and manage blocks. I had no idea how MCP worked going in.

But guess what? It took me likeโ€ฆ 1-2 hours.

I set up a couple of Vercel functions, gave it:

  • 2 commands
  • Info about each block
  • A link to the GitHub React code

And boom. Done. โœ…

Well, almost doneโ€ฆ

3. The Stupid Mistake That Wasted 30 Minutes

Okay soโ€ฆ I got stuck for like half an hour because I was posting to the wrong URL. ๐Ÿคฆโ€โ™‚๏ธ

I was using an old deploy URL instead of the production URL from Vercel. I kept getting 401 and 404 errors and I was convinced Vercel had some security issue or was blocking my content or something.

Turns out? I was just being dumb. Changed the URL, everything worked. Classic developer move. ๐Ÿ˜…

4. Shadcn Theming Actually Makes Sense

Iโ€™ve used design systems before, but Iโ€™d never really dug into how Shadcn theming worked. You know, the whole Tailwind CSS variable setup with classes like .text-foreground and .bg-primary.

At first I was like โ€œthis feels weird,โ€ but after working with it for a bit? It actually feelsโ€ฆ natural. Like, it just makes sense. People can change themes and colors super easily, and the consistency is baked in.

10/10, would recommend. ๐Ÿ‘


๐ŸŽจ Whatโ€™s Inside AtlasBlocks?

Right now, AtlasBlocks has:

  • Content Blocks - The original Blockpress classics (hero sections, feature grids, testimonials, etc.)
  • Modern Add-ons - Parallax Swipe Carousel, fancy hero blocks, product features
  • Footers & Headers - Because every site needs โ€˜em
  • Shadcn + Tailwind Integration - Install with one command, theme with CSS variables

Itโ€™s built with:

  • React โš›๏ธ
  • Tailwind ๐ŸŽจ
  • Vite โšก

And itโ€™s all available on GitHub with a live demo at ehsanpo.github.io/atlasBlocks.


๐Ÿค” Why Did I Actually Make This?

Honestly? Because I always wanted to have โ€œyet another Tailwind library in React.โ€

Is the world drowning in component libraries? Yes.

Did I care? No. ๐Ÿ˜‚

Also, this isnโ€™t really for UI-ish stuff. Itโ€™s for content. The boring, bread-and-butter stuff that every website needs. Hero sections, testimonials, feature grids, pricing tables. You know, the stuff you Google โ€œReact hero sectionโ€ for at 2 AM.

And Iโ€™m definitely gonna use it for new websites and product pages in the future. Plus, itโ€™s a nice playground to add more blocks later on.


๐Ÿš€ Final Thoughts

Looking back, itโ€™s kinda wild that code I wrote 10 years ago is still relevant today. Like, the web has evolved so much (RIP jQuery), but the fundamentals? Solid as ever.

AtlasBlocks is live, ready to use, and honestly? Iโ€™m pretty proud of it. If youโ€™re building content-heavy sites and want some solid, reusable blocks, check it out.

And if you spot any bugs or have ideas for new blocks, hit me up on GitHub. Iโ€™m always down to tinker. ๐Ÿ› ๏ธ


Links:

Now go build something cool. And maybe reuse some code while youโ€™re at it. ๐Ÿ˜Ž

Tags: #React #Tailwind #Shadcn #WordPress #MCP
Ehsan Pourhadi
Software Developer

Experienced software developer passionate about creating impactful digital experiences with modern web technologies and thoughtful design.

70+
Projects Completed
50+
Happy Clients
12+
Years Experience
100%
Client Satisfaction
ยฉ 2025 Ehsan Pourhadi. All rights reserved.
Made with
and
using
TreeStone
Running cat