DEV Community

Cover image for Side Projects - how do you choose a tech stack?

Side Projects - how do you choose a tech stack?

Josefine Schfr on June 28, 2021

To get my hands dirty and continue learning a little more holistically I have been wanting to get started on a side project for a long time. What’s...
Collapse
 
terabytetiger profile image
Tyler V. (he/him)

How I choose

There are 2 reasons I would do a side project and they influence how I choose:

  1. If I'm trying to learn a technology
  2. If I'm trying to make an idea come to life

In case 1 I will pick as many options to minimize friction around what I'm trying to learn (i.e. if I'm trying to learn Chart.js I won't also try and use React since I'm not very familiar with it).

In case 2 I'm going to use my preferred stack that aligns with the goal - as a JS developer that probably means JS in one form or another (Vue, Node, or NativeScript 99% of the time).

To answer your question about a portfolio page

There's absolutely nothing wrong with just using Wordpress, Squarespace, etc... but those take away the ability to play around and develop your site into exactly what you want.

Depending on what your goal is:

  • If you want a blog - I'd recommend a Static Site Generator like Gatsby (React) or Gridsome (Vue) - starting with one of their "Starters" and building from there to make it your own!
  • If you want a single page site - I'd recommend starting from scratch, maybe use a UI library like Bootstrap

A portfolio is a great place to experiment and express yourself - and it's fun to build on over time when motivation strikes!

As for hosting - I can't recommend Netlify enough! If you've never used it before, I wrote a walkthrough on setting it up with a custom domain:

Collapse
 
josefine profile image
Josefine Schfr

Thank you so much for sharing your thoughts & process - it helps so much to see how other people approach a topic! I will give Netlify a go, read so many good things about it already, thanks for sharing your article!

Collapse
 
margo_hdb profile image
Margo McCabe • Edited

Great question! As mentioned in my MERN stack blog, "there is no ultimate right or wrong answer when it comes to choosing a tech stack because it really depends on the specific use case it’s meant to solve for."

As others have mentioned, I think it comes down to trying different things to see what works best for your skillset and end goals.

Collapse
 
dastasoft profile image
dastasoft

It depends on the problem side, let me explain:

If you are trying to learn a new technology you should think of a project that applies that technology and that is useful to use that technology, the most important thing here is that it actually solves a real problem.

On the other hand if you want to do a project and not learn anything in particular, you should look for what technology solves better (better here is very debatable, maybe better for you is better developer experience or better performance, better UI, etc.) the different problems that you suppose you will have to reach your desired goal.

Collapse
 
josefine profile image
Josefine Schfr

Thanks for sharing your perspective - really important to reflect also what 'better' or ' more suitable' really means for each project!

Collapse
 
willvelida profile image
Will Velida

I'm currently building a personal health application on Azure Functions using C#. I'm using Service Bus as a message broker and Cosmos DB as my data store.

I use this stack for my work, so I used it in my personal project to develop and deepen my understanding of the stack. I also enhanced it by doing things I couldn't do or haven't done during my job. For example, use Terraform for provisioning Azure resources, using DevOps to build and release my Functions, use multi-stage build pipelines, add my Functions to APIM etc.

If you're looking to deepen your understand with the tech that you use for your everyday work, I'd recommend doing the same. It allows you to grow your skills in essentially a pressure free environment 😊

Collapse
 
josefine profile image
Josefine Schfr

That's a great idea, thanks for sharing. That way, you get better at the stuff you need day to day anyway and get more freedom to explore :)

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ • Edited

Normally making stuff from scratch as far as possible. It's more interesting and rewarding

Collapse
 
josefine profile image
Josefine Schfr

Good point - I'm sure you're learning a lot doing things from scratch but it seems so daunting as a beginner :D

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ

It's probably the best way to improve your understanding and skills

Collapse
 
andrewbaisden profile image
Andrew Baisden

I tend to go with a tech stack that i am already familiar with. And maybe a few technologies that i am trying to learn. Typically the MERN stack.