From 2015 until August 2023, I worked as a senior database administrator and team lead for a top-ten global bank. The job kept me quite occupied. During that time, I learned PowerShell, mainly because I needed it to manage large SQL Server environments without doing everything manually.

I started my career as a programmer, but databases pulled me in a different direction. By that point, it had been a long time since I regularly worked on a web application. I last worked with iHTML, ColdFusion, PHP, and Perl CGI in the late 90s and early 2000s. JavaScript existed, of course, but I hadn’t touched it in years. React was just a term I kept seeing.

When that job ended in August 2023, I took some time off and didn’t think much about what came next. I hadn’t had a real vacation in ages. I never stopped turning over my old work problems, though. Even with some distance, there was still an itch I needed to scratch.

Afterward, I returned to DBA work during the day. My off-hours became increasingly occupied with catching up on modern application development, mostly through reading and YouTube. By the following August, I was ready to try building something again.

In August 2024, I started FRank, a feature-ranking application, using the tools I already knew: PowerShell, Pode, htmx, and Tailwind. By the end of September, the reusable parts had become Podex. I also built a browser extension after getting tired of guessing what each htmx swap had done, then started a SQL Server monitoring application in October.

That stack held up until the pages became more demanding. A file-monitoring app in March brought dashboards, drill-downs, filters, and several parts of the page updating independently. By late May, even a small TodoMVC test had me spending too much time coordinating routes, fragments, swap targets, and DOM IDs.

Two days later, an AI development hackathon pulled me into Supabase and much heavier AI assistance. Neither project lasted, but I learned that Supabase was not for me and that generated code became much less impressive once I had to maintain it.

After the hackathon, I looked for another way to handle live data. Convex kept coming up, especially in Theo’s videos. I still hadn’t learned React, though. I had a PowerShell server, an htmx frontend, and an idea that the pieces might work together if I pushed hard enough.

So, I built three prototypes to find out.

They did not cooperate.

Later: htmx Wasn’t the Problem. My Missing Application Layer Was.

I revisit the application side of this period in Building the Wrong Thing, on Purpose, the first part of the Building with AI series.