Introduction and Context
Hello, this is Ismael. Five years ago, I was working full-time as a telecom engineer. I decided to pivot my career and become a web developer. I started with vanilla JavaScript, then followed the trend and picked up React. After months of working on React projects, I landed my first freelance job 😎.
However, I realized that just working as a web developer wasn't fulfilling enough. I wanted to explore marketing, growth hacking, and business. Eventually, I found my true calling: creating software products. React is fantastic, but it's not always sufficient for delivering comprehensive software solutions, especially for SaaS.
After trying React + Express.js, I found it challenging to deliver high-quality, thoroughly tested products quickly as a solo developer. My college experience with PHP and OOP helped me get started with Laravel, and I fell in love with it. With Laravel, I had my app up and running in a few commands, complete with authentication, routing, views, and controllers.
If you don't have much web development experience, I recommend starting with PHP and then moving to Laravel to kickstart your next project. Don't like PHP? Rails, based on Ruby, is a good alternative.
Alright, let's dive in! 🚀
Design
I design everything in Figma and then implement it in Tailwind CSS, with the help of Tailwind UI.
Development (TALL Stack for Tailwind CSS, Alpine.js, Livewire & Laravel)
- Language: PHP & JavaScript
- Framework: Laravel & Livewire (a full-stack framework for Laravel that makes building dynamic interfaces simple)
- Front-end: Alpine.js and Blade (template engine by Laravel)
- UI: Tailwind CSS
- Local Server: DBngin, Laravel Valet for my local webserver needs
- Admin Panels: FilamentPHP
- Database Management: TablePlus
- Source Control: GitHub
- Build Tools and Continuous Integration: CircleCI / Jenkins
-
Certificates: Valet (one command:
valet secure
) - Mail Testing: Mailtrap
Production
- Servers and Databases: AWS
- Static Sites: Netlify
- Error Tracking: Larabug
- Downtime Tracking: Oh Dear
- Analytics: Google Analytics
- Mails: Mailtrap
- No-Code and Integration: n8n – helps reduce my codebase by 20%. Let me know in the comments if you want to see a blog post on this topic.
- Server Management: Ploi – installs on the fly: NGINX, MySQL/PostgreSQL/MariaDB, Redis, Supervisor, PHP (multiple versions), Composer, Memcached, NodeJS, UFW Firewall, Fail2ban, and other basic packages.
- DNS Management: CloudFlare (integrates with Ploi)
- Code Generator: Vemto – an amazing tool that helps me focus on value rather than developing CRUD functionality. Let me know in the comments if you want to know more about it.
Conclusion
This is my go-to approach for creating software products:
- Find a Framework: Choose one backed by a large community with an easy learning curve. This way, you can ask for help and progress faster.
- Keep Your Codebase Small: Fewer errors and more confidence.
- Don't Reinvent the Wheel: Pick a framework that offers essential building blocks like database/ORM, queues, WebSockets, and authentication.
- Monolithic Architecture: One codebase to manage everything.
Next time, I'll share tactics on how to find product ideas and attract your first customers.
About Me
Hello everyone! I'm Ismael. I help entrepreneurs launch their MVPs by using both no-code and code tools to quickly create and launch digital products that are both scalable and easy to maintain, starting from the very beginning.
Any questions? You can DM me on Twitter @ismael_fi 🐦.
Top comments (0)