My magical tech stack as an Indie Hacker
Tags: webdev, beginners, react, laravel
Published: 2022-06-10 19:40:40

### Intro and context

5 years ago, I was working full-time as a telecom Engineer. I decided to pivot my career and turn web developer.

I started with vanilla Javascript, then I followed the vibe and picked React. I worked on react projects for months. Later, I managed to get my first freelance job 😎.

I realized that working as a web developer is not what makes me happy. I need to take it to many fields like marketing, growth hacking, and business.

I ended up figuring it out: Make software products.

React is cool, but it is not always enough to deliver software products, especially [**SAAS**](https://fr.wikipedia.org/wiki/Software_as_a_service) .

After Experiencing React + Expressjs, I found it hard for one man to deliver high trusty tested products in a short time.

My small college experience with PHP & **[OOP](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Object-oriented_programming)** helped me to get started with Laravel and, I fell in love with it. I had my app up and running in a couple of commands with authentication, routing, views, and controllers ... ).

Don't have enough experience in web development? I recommend you start learning PHP, then you can move to Laravel and kickstart your next project.

You don't like PHP and are looking for an alternative? Rails based on Ruby is a good option.

Alright, let's go! 🚀

### **Design**

I design everything in **[Figma](https://figma.com/)** and then implement it in **[Tailwind CSS](https://tailwindcss.com/)**, with the help of **[Tailwind UI](https://tailwindui.com/)**. 


### Development ( TALL Stack for Tailwindcss, Alpinejs, Livewire & Laravel) 

- Language: PHP & Javascript 
- Framework: Laravel & Livewire (full-stack framework for Laravel that makes building dynamic interfaces simple)
- Front-end: Alpinejs and Blade ( template engine by Laravel) 
- UI: Tailwind 
- DBngin, Laravel Valet for my local webserver needs
- **[Laravel Nova](https://nova.laravel.com/)** for admin panels
- **[TablePlus](https://tableplus.com/)** for Database management
- **[GitHub](https://github.com/)** for storing all projects
-  Build tools and continuous integration : CircleCI / Jenkins
- Certificates : [Valet](https://github.com/laravel/valet)(one command => valet secure)
- Mail Testing :  [**Mailtrap**](
https://mailtrap.io)


### Production


- **[AWS](https://aws.amazon.com/)** for all servers, databases, etc
- **[Netlify](https://netlify.com/)** for static sites
- **[Larabug](www.larabug.com/)** for error tracking
- **[Oh Dear](https://ohdear.app/)** for downtime tracking
-  Analytics: Google analytics
-  Mails: **[Mailgun](https://www.mailgun.com)**  only for transactional emails ( I use n8n for marketing ) 
-  No-code and Integration: **[n8n](https://n8n.io)** => helps me reduce my code base for 20% => let me know in comment. If you want to  see a blog post on this theme
- **[Ploi](https://ploi.io)** when a server is needed 
=>
It installs on the fly the following :
Server NGINX 18 webserver, MySQL server, PostegreSQL or MariaDB, Redis server, Supervisor, PHP (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1 available), Composer, Memcached, NPM (NodeJS), UFW Firewall, Fail2ban, Basic packages
-  DNS: CloudFlare ( Integration with **[Ploi](https://ploi.io)** ) 
- Code Generator : [**Vemto**](https://vemto.app) => Amazing tool that helps me focus on value rather than developing CRUD boring stuff ( Let me know if you want to know more about it in the comment ) 



![Vemto tool](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oh5bjwl0s6to3ze5s2z2.png)
 
### Conclusion

This is what would be my way to go for making software products:

1. Find a framework backed by a big community with an easy learning curve. So you can ask for help and make things go further (faster).

2. Make your code base small  => fewer errors and more confidence
3. Don't reinvent the wheel pick a framework that offers basic blocks: Database / ORM, Queues, WebSockets, Authentication
4. Make it [Monolith](https://en.wikipedia.org/wiki/Monolithic_application)=> One code base to roll them all 

Next time, I will share tactics on how to find product ideas and find your first customers. 

### About me 

Hello everyone! I'm Ismael. I'm a founder, CTO, and growth hacker. I will share all the tips and tricks to launch scalable and digital products from scratch.

Any questions you can DM me on Twitter [@ismael_fi 🐦](https://twitter.com/intent/user?screen_name=ismael_fi)