Cashflow Ledger β€” Our First Foray into Cloudflare

Over the past few months, I’ve been working with ChatGPT and Codex on a replacement for my ageing financial management software.

The result was Cashflow Ledger, a web-based application that handles multiple accounts, transactions, recurring payments, cashflow projections and reconciliations. It worked very well, but there was one thing I wanted to change β€” where it was hosted.

Up until now, the application had been running within the ChatGPT hosting environment. While that was fine during development, I wanted something a little more independent, with greater control over the application and its data.

Enter Cloudflare.

I’d heard plenty about Cloudflare over the years, but had never really ventured into its application hosting capabilities. So, with the assistance of ChatGPT (Kai) and Codex (Tars), we decided to see what was involved.

As it turned out, quite a bit! πŸ˜„

We established a Cloudflare account, registered a domain, configured Workers to run the application, and used Cloudflare D1 for the database. We also implemented Cloudflare Access to secure the application, with separate test and production environments.

The next challenge was migrating the existing financial data without losing or changing anything. That involved a fair amount of testing, backup verification and comparing account balances between the original and new versions.

I’m pleased to say that all 14 database tables and their financial control totals matched exactly.

After a final round of testing, we switched over to the new Cloudflare-hosted version.

And here’s the pleasant surprise: it’s noticeably faster! Very little lag, and the whole application feels much more responsive.

The entire hosting arrangement is also remarkably inexpensive, with the Cloudflare Workers paid plan starting at just US$5 per month, subject to usage.

What started as a project to replace a piece of financial software has turned into something considerably more interesting. We now have our own application, hosted independently, with control over the source code, database and deployment.

Better still, we’ve established a foundation for other applications we’re developing.

Not bad for a weekend’s work!

And yes, ChatGPT and Codex did much of the heavy lifting. My role was to make the decisions, test the results and occasionally ask, “Are we sure about this?” πŸ˜‚

On to the next project.