That sentence has been my credo for some years now.
Ever since I got the right mindset that shipping and learning from actual user feedback is worth more then polishing, optimizing, or perfecting features that have never been seen by the eyes of actual users.
The simple but harsh truth to this is: as long as you're working on assumptions, you'll never know for sure if your efforts are going to be the right ones.
And as long as you're going that road, you might just as well be putting all your time, sweat, effort on a roulette table - number 5 - and give it a spin.
But when you get that logic, the best thing that you can do is actually enforcing it by making the act of shipping product and/or new features as easy as possible.
I've created a very simple Laravel micro-SaaS setup that I've created with core features only.
This project is build on Laravel 9 but I recently upgraded to Laravel 10.
I've been using it for my latest project: [LINQ Me Up]: a micro-SaaS that converts your SQL into LINQ code.
Basically, it's a time-saving tool for .Net developers that migrate, update and maintain projects.
I'm running LINQ Me Up on Digital Ocean's App platform, and by hooking that into my Github account, all I need to do is to check in my code, create a release using Git-Flow and push it to the main branch.
DO will pick up the new code, and bake me the new build to swap it without down time and present it to my users that login from that moment on.
It just makes the whole process of adding/tweaking and making it more valuable for your actual users so much easier.
The image shows my latest feature: choosing between C# or Visual Basic LINQ code as output. It was coded under 30 minutes and deployed within 2. Really sweet to work like this.
So if it was up to me: make your shipping cycle as technically easy as possible. It will help you to stay on target and interact with your users by not just talking or coding, but also shipping even harder 🔥