March 23, 2021

My Tech Stack Choice [3/365]

A choice of tech stack

I’ve decided to go with Rust for most of Requeme, serving everything from a single place. I’ve hesitated quite a lot with Go, because it has a very big community for web development, but I love the language and that’s ultimately why I chose it.

To be honest, it does not matter which language you choose, but stick to it. Usually, the advice is “choose the tech you know”. Since I don’t know that much about other web development with other languages either to make a difference, I chose to go with something that I probably won’t dread a year from now.

Rust does not have the best ecosystem to create web applications, but it is good enough, and the language permits more correctness and speed than most. It is more complicated to learn, but I think that’s a small price to pay now to benefit in a few years. Feeling happy with the language also makes this complexity cheap and will help on the long run.

While most pages will be generated on the server side, the few existing frontside elements will be Typescript. Again, I don’t know much about it, and I’m probably going to have a hard time integrating it, but that seems like the best option for now.

What to work on first

I already started working on authentication. The common advice is to start with the business logic, see if you can get it in front of people. From my experience with Treesque, you cannot really do that without a way to distinguish your users and which resources they have access to.

Also, since I’m committed to make it as an indiehacker, Requeme probably won’t be the only project that I work on, and for which I need this feature. Building it once at the beginning will ensure that I can build faster the next project.

With this principle in mind, I will choose to build the minimal necessary frame around my core business logic so that I can just swap it out. For me, this is optimizing for learning and speed for the next few months and years.

Copyright Marin Gilles 2019-2021