Tech Stacks


Tech Stacks

It's no longer a secret, the best tech stack for your side project is...the tech stack you already know!

There are times you'll need to use something new, or perhaps the point of the side project is to try something new, but typically if you're building to actually launch a new product, stick with what you already know.

As someone who's been building software for around 40 years, I've had the chance to try a lot of different stacks, for kinds of apps. Some of my favorites are below.

Web apps

My go-to stack for building anything on the web is TALL: Tailwind, Alpine, Laravel & Livewire.

Tailwind has quickly become very popular for styling websites/applications. I fell in love with utility classes when they were introduced in Bootstrap, but Tailwind takes them to an entirely new level. The ability to use components to build your user interface takes away most of the headache off utility classes in HTML.

Alpine replaced jQuery for most of the interactive things I need to do in the user's browser.

Laravel has been my preferred backend server framework for over 10 years. It's based on, gasp, the PHP language. I've used many other frameworks, even taken a try at building my own, but Laravel gives me everything I need and a lot more I didn't know at the time. The ecosystem that has built up around the framework, is amazing. You'll find support for just about anything you're trying to build.

Livewire allows you to build reactive applications, while maintaining state on the server. This sounds strange when you first start doing this. Ultimately, all/most application state will need to be sent to and persisted on the server, so maintaining it on the server actually eliminates a layer (and complexity) from your applications.

I've used: Symphony, Rails, Django, Spring, Express, Next.js, Vue, and React to name just a few other options. I learned a lot from them, if you know and use these, keep using them!

Mobile

I don't do much native mobile development, but when I do, I like to use the ionic framework.

With limited time, if you want to build a native application for iOS & Android, writing just one code base can save you a lot of time and headache. If you need that extra boost of performance or access to specific hardware, then you'll need to build for each platform natively. For an MVP in most cases you can for go this.

Recently, there are some interesting alternatives I'd explore before starting a new project.

React Native via Expo and Flutter aim to provide many of the advantages as Ionic. Backed by much larger organizations (Facebook and Google, respectively) they have active ecosystems and offer many resources for developers.

AI

Yes, we may be in an artificial intelligence bubble, but maybe we're not. AI is becoming rapidly integral to anything we do in work and fun. Although you can use just about any language to develop with AI, you're typically just hitting a hosted API, Python seems to be the go-to language. Most of the big players provide SDKs for Python first. If you're building more than another wrapper application, I would dig a little deeper into what Python has to offer.

Django is a great framework to handle all aspects of your application needs.

In the next post, I'll discuss the tech stack I'll be using for Playlist Kit and what factored into my decision.

Cheers,
Mubs

Sideproject MVP

Subscribe for tips and tricks for building your side project, from someone who's built over 100.

Read more from Sideproject MVP

Mubs A recent tweet by Pieter Levels reminded me of the importance of being a jack of all trades when working on side projects. It's not enough to be able to good build software, there is a lot more to building a good project than the quality of the software, in fact that's probably pretty low on the list. Wrote my thoughts on being a jack of all trades:Mastering the Art of Being a Jack of All Trades Continuing my learning for SEO skills, I recently completed a build challenge run by the team...

Mubs With over 120 side projects, a question I often get is: "How do ship so much?" Keeping on track with projects can be difficult when after the demands of a day job and personal commitments. I've shared some of the ways I stay on track with my projects in the most recent blog post: How to keep shipping? I'm focusing on SEO as a way to market (and grow) projects this year, and was excited to see that Danny Postma will be publishing a course on SEO soon. I've already learned a lot from...

Mubs This week, I've been thinking about who I'm building for. Yes, I'm building a side project for my own reasons (networking, revenue, whatever) but who is the actual project for? What is the Ideal Customer Profile for your project, and why is it helpful to think about that right when you get started. I dig a little deeper into the concept, and how I worked through the process for a previous project: Defining your ICP Featured Side Project I wanted to take a minute to highlight a side...