18 April 2026

dynamic app, static pages

As an SEO myself, I know React is a no-no for SEO, but I was building the Wardrobe app with Lovable and wasn’t even aware I could choose the technology, so I let it do its thing. Once I moved over to Claude Code, I gained considerably more control over the choices I made, and I realized something: if I wanted to put this app out there, even just to get some basic organic traffic, I would need to rebuild the landing pages. Our out-of-the-box React implementation was not SEO-friendly.

So I set myself one goal: at 50 registered users, I’d move the site to WordPress for marketing while keeping the app in React. I got to 35 users and decided to go ahead anyway, and… well, spoiler alert, it was a waste of time, because I ended up going with something else entirely.

I spent hours recreating the design across two pages, then went through all the hassle of setting up WPML to handle translations (best lifetime license I ever bought), and I even adapted the JSON files to make it easier. And then it hit me.

My lazy ass, like I guess everyone’s lazy ass the moment they realize they just did the same work with 10 prompts that used to take a manual rebuild, decided this was most likely not the best setup. I was holding onto what I knew only because I didn’t know better.

After completing 70% of the work (the translations were the cherry on top), I started investigating headless CMSs. At work I’d already been exposed to plenty, mostly on the content manager end. I initially thought it would be overkill, but I went down the path anyway and discovered two of the options I’m currently using: TinaCMS and Keystatic, and then of course, Astro. If I wanted to be efficient and release all those silly projects in 12 months, it was obvious WordPress wasn’t going to cut it. So I picked TinaCMS Cloud and rebuilt the pages once again using Claude Code and my original JSON files for translations. 10 prompts later, the job was done. I removed WP from the folder and realized my reality had changed forever.

Vestiari now runs in two environments: the landing pages are built with Astro + TinaCMS, and the app is built with React. This means the way I build things has changed forever (yes, I know I just said that, I stand by it). I’ll finally cancel my Elementor subscription this year (25 accounts, RIP), and the plan is to migrate anything else still on WordPress over to this new setup as I consolidate costs. The main blocker is the blog, which is quite content heavy, so I might have to keep one license around for a while. We’ll see.

Now? I’ll keep investigating and using other headless options.

My next promise is that once I reach 100 registered users, I’ll learn to build an iOS app.