January - September 2021
tl;dr. A lot had to happen to make the platform production-ready.
With taking the project more seriously (see next changelog entry), I made the decision to effectively start from scratch, a decision I did not make lightly.
The old platform was built with haste, without considering code quality and maintainability, site availability and reliability, without automated regression testing for robustness, and without a standard deploy process. The list goes on...
New features were bolted on over the years without consideration for, really, anything*. It was built for personal/internal use - between multiple game releases and contract project deadlines - where these factors were of low-importance. If it broke for a few days, I was the only one affected. But now, if customers were involved? These factors would be of critical importance, and non-negotiable.
Given this gargantuan task - for one developer working in the moonlight hours - YouTube video content had to be dropped (sorry!), and the new development effort started.
I decided on a backend written in Symfony (PHP), and Svelte (JS) for a slick custom UI - languages I know through and through. For cloud infrastructure, I chose the well-documented, scalable & reliable Amazon Web Services. For configuring it all I chose Terraform, so that's all nicely modular, and written in code too.
I used test-driven-development (TDD) methodologies to reduce bugs and maximise robustness. I wrote a deployment pipeline that's 95% automated, to minimise human error. I wanted make everything as trouble-free and as low-maintenance as possible. I wanted to do everything 'by the book'.
Some of that process was new to me, so these months were a learning experience. I'm very fortunate, however, to have had a background in web development before starting on game development. I worked on large-scale social/facebook games at Mediatonic back in 2009 & contributed to Game Jolt's marketplace in 2016!
Coming back to web development and building on my skills has been an incredibly rewarding experience. I simply cannot wait to continue building on my skills in other areas too - marketing, business development, sales, hiring - you name it, to make this endeavour a success.
Special shout out to all the educational writers, podcasts, resources and Bootstrapper communities out there - Indie Hackers, Startups For the Rest of Us, Twitter #buildinpublic, etc. You're an absolute inspiration! I never considered this possible.
P.S. I know I've not touched on all the specifics around database schema migrations, third-party service providers e.g. payment providers, the deployment pipeline, Terraform modules, and so forth. It's all a bit technical, isn't it? Let me know if you're interested in that and I'll perhaps start blogging properly!
* For complete context of how bad it got, the old site was on a shared cPanel hosting service, and was just three core (read: massive!) PHP files - index/api/util (no tests) - @levelsio would be proud?