Navigate back to the homepage

How I pick my tech stack for side projects

Drew Bredvick
October 15th, 2019 · 3 min read
Let's start a side project together. TypeScript? GraphQL? No code? Time to decide.

Thought Experiment

We are going to start a business together, and we need to pick our tech stack. We need to choose something that will support our company for the time in which it is operating. Our goal is to build a successful product, gain users, and become profitable.


  1. Understand the business goals
  2. Understand the product goals
  3. Analyze your team’s strengths
  4. Design initial architecture
  5. Pick your tech stack

We’re going to dive into each of these areas, but here’s the TLDR (for me);

  • React for front end
  • NodeJS for APIs (deployed as serverless func)
  • Using NextJS Framework
  • Hosted on Vercel
  • MongoDB database on MongoDB Atlas


Let’s take a look at some statistics before we start making decisions.

Only 30% of U.S. small businesses make it to the ten-year point, according to the Bureau of Labor Statistics.

Here’s the entrepreneurship if you’re interested.

That means there’s a really big chance of us failing.

Why is that important? Well, it will keep things light when we get into arguments over framework abc vs framework xyz. At the end of the day, there’s a 70% chance what we pick doesn’t even matter.

What are we building?

We’re going to build a tool for developers to track their habits. Let’s assume we are going to start with a web app, but might venture into native apps in the future. We will need a front end for the website, likely static or server-side rendered for SEO considerations. We will need to build a back end API to support our app. Hosting and devops needs to be simple to manage.

Tech Requirements

  • We don’t need our code to be “trendy,” we need it to work.
  • We need to be able to hire developers to work in our codebase.
  • We need to optimize for developer velocity so we can get a lot done with minimal resources


I’m good with JavaScript.

This is the most important part of building startups - pick something you’re comfortable with. You need to rely on your strengths.

I’m a full-stack developer.

Being full-stack will help a lot in the early days when our resources are limited. Later on, we will want to hire experts in different areas of the app to help it scale. For now, we want to move quickly and try to get product-market fit as soon as possible.

Initial Architecture

Here’s my best take at diagraming architecture using Instagram stories.

vercel NextJS basic architecture diagram

Tech Decisions


  • I’m experienced in React. We will need to lean into our strengths as founders to bootstrap this thing to success. (developer velocity)
  • It has large amounts of community support (check out this Google Trends comparison)
  • React is the 3rd most relied on npm package. There is a significant incentive for everyone, not just Facebook, to maintain it.
  • Frameworks like NextJS, GatsbyJS, and others are being built on top of React and make development a breeze.
  • We will be able to hire React developers for at least the next five years.


  • I have experience with NodeJS and Express.
  • We are already using JavaScript, so this minimizes context switching.
  • Package reuse between front end and back end


We need a way to server-side render our React app. You can do this without a framework, but NextJS gives you a lot of nice things out of the box.

  • Routing
  • Code splitting
  • SSR
  • Static exporting
  • Pre-fetching
  • TypeScript support
  • Caching
  • and plenty more


If you’re using NextJS and want to move quickly, Now is the only hosting answer. Now is ran by the same team that made NextJS, so there are lots of great built-in features that make hosting simple.

  • Zero config
  • Per-branch environments
  • Free SSL config
  • CI/CD
  • CDN

Disclaimer: I am not saying that everyone should use React.


I’m making these tech decisions because they are right for me. There is no one-size-fits-all approach that will work. The important thing is to know your goals for the project, understand your strengths, and optimize for your developer velocity.

Join the mailing list

I'll send you content I think you'll like every two weeks.

More articles from Drew Bredvick

Why I Didn’t Tell You

A quick note on why I've kept my cancer a secret, and why I'm telling you now.

July 16th, 2019 · 2 min read

Tech decisions and developer guilt

With the long weekend coming up, I'm sure many of you are starting side projects. I'm starting one this weekend, too. As usual, I got stuck on the "what tech stack should I use" question. Here's my updated take on that question with a little assistance from Seth Godin.

July 5th, 2019 · 1 min read
© 2019–2020 Drew Bredvick
Link to $https://twitter.com/dbredvickLink to $https://github.com/dbredvickLink to $https://instagram.com/drewbredvickLink to $https://www.linkedin.com/in/drew-bredvick/