GymDash is a SaaS product I am building. It’s a simple gym management tool that doesn’t break the bank for indie gym owners and makes it easier for less technical owners to use.
I’ve been working on v2 of GymDash. I started the rebuild in September 2023. I should have built it in 2 to 3 months. It wasn't. I needed to rebuild so I could replace my MVP. My MVP runs on Gatsby and Express. I am growing tired of Javascript frameworks.
I started the rebuild in something I was familiar with. From my past as a PHP developer. Hello again, Laravel! I had been using PHP since I was 16 years old. Now I’m 34 years old (2024). I ditched PHP 6 years ago. I pretty much sold my soul to the devil and became a Javascript developer, it was the “in” thing to do. Well, I didn’t do only Javascript contracts, I also did Python, C# and a bit of PHP. Mostly Javascript though.
In 2023 when I had a year off contract work, I started to tire of Javascript frameworks. Always something new to learn. Let’s add more tooling. More complexity. Fedup of the constant dependabot alerts (thanks GitHub). Don’t get me wrong, I still do Javascript projects but I don’t want it to be the only thing I do. No one wants to become a generic developer. So many of them these days. Stand out from the crowd. Be different.
I decided to build GymDash in a language that was solid and has stood the test of time. PHP runs the majority of websites on the internet. According to Kinsta, as of 2021. PHP’s market share was 79.2%. That’s a lot.
I want to build fast and not have too much tooling slow me down. Modern tech stacks hinder progress too much these days. Too many things to choose from and tools to integrate. Too many hoops to jump through.
My current stack is:
Laravel
Filament
My current release process is:
Choose ticket to work on
Create feature branch from main
Work on my feature
Update UAT branch from main
PR my feature to UAT - Laravel forge builds and pushes to Digital Ocean
Move ticket to UAT status
Test it works on UAT as it does on my local
PR my feature to main - Laravel forge builds and pushes to Digital Ocean
Tag main branch with new version number
Test production works as expected, it passed UAT, it’s working on production
Move ticket to Done status
It’s a simple process. It's fine for solo development. It’s fine for me. I have worked on teams where we have a similar process. I have worked in organisations requiring 3 approvals from across the organisation and rollback plans. Working in banks is fun!
I hired a full time employee to help me develop the new GymDash. This didn’t workout. It slowed down development. Lowered quality. I made a bad decision to hire someone who didn't have the right experience. Trying to give someone a chance. It back fired. I had to let them go for other reasons. I decided to dump this rebuild as I didn’t have time to pick out all the bad.
So the re-rebuild began in May 2024, I am still using Laravel but I decided to add Filament into the mix. This has allowed me to get a SaaS product built quicker and take a lot of the decision making away.
I am working on the rebuild around other projects for customers. So I am having to balance my time the best I can right now until I can hire another developer.
I'm 3 weeks from releasing the new version of GymDash. This will replace the MVP. I will be happy when I can retire that codebase!
It has taken a while from the initial MVP. But I will get there.
I like how simple and to the point this anecdote was and I have to agree with you, JS frameworks are still hot and there's dozens of them to learn and fiddle with and introduce bugs but to be honest I'd be happy with good ol' PHP to get the job done most of the time even though I myself have been out of PHP for a while. I recently did an interview in PHP and it was actually great getting back into it. I didn't have intellisense though so I had to remember a lot of dollar signs and semi-colons!
Congratulations on your MVP rebuild and best of luck with the launch