I am a designer who can code and the technical cofounder of my startup. As a self-taught coder with limited training, I am not the fastest to learn a new coding framework. When choosing a tech stack, I could be a peculiar case, compared to tech cofounders with a traditional computer science background. However, with more and more self-taught coders joining our community, I think sharing my experience and thinking could be of help.
Storytime! I chose Angular.js over React.js for a project when the former was already deprecated. I know, I know! Angular.js was the transformative framework that upgraded my coding stills from “add limited logic to a static website” to “make an entire web app.” I was proud that I leveled up with Angular.js, but at the same time, I saw Angular.js fell out of fashion to competitors rapidly.
When I challenged myself to make a web app to house my CSS ICON project, I thought it was the perfect opportunity to learn React.js because the project scope was simple: I needed a template to display icons from an array repeatedly, and a search bar to filter icons. When clicking on each icon, a sidebar would appear and show the detailed code. I knew on top of my head how to implement it with Angular.js! Should it be that hard to implement in React.js? I heard they were very similar.
It turned out to be painful three days of pulling my hair out, and still unable to implement even the most basic feature. On day three, I finally gave up and went back to Angular.js and finished the project on the same day.
You may wonder what happened to the project. Did I ever go back and rewrite the app? I haven’t touched the codebase for five years. The project is still running and brings me side income to this very day. Choosing a deprecated framework saved me time and agony and made me money. The seemingly terrible tech stack decision didn’t come back to bite me years later. It turned out, Angular.js was perfect for the job! Because of these reasons:
It can do the job
Even though deprecated, Angular.js already had all the features I needed for the app. I was not relying on getting any future updates to the framework.
I already know how to use it.
“I already know” is better than “I must learn.”
Dev time is shorter.
Launch sooner so I can “fail fast, fail often.”
I also accepted the possibility that I might have to rewrite the code later on. The possibility that “the idea doesn’t work, pivot to different ideas” is greater than “the idea works, but I am stuck with a terrible tech stack and need to rewrite the code.” The idea may fail for other reasons, and the “quick but dirty” tech stack empowers me to invalidate the idea sooner to move on to the right idea.
Contrary to popular opinions, I think there is no need for startups to worry about scalability at the early stages. If the idea works, there will be time and resources to fix the tech stack. If a tech stack can save time, I will choose it despite that it cost me scalability.
Update on my growth hack project from yesterday: I chose Webflow as my tech stack because it is faster to build and iterate. Check out my progress here: https://promo-modal.webflow.io/. Let me know what you think of the prototype or my decision to use Webflow. What is your opinion on choosing a tech stack for startups? I am eager to learn other perspectives!
I am building my product – a brand design app – in public and share my progress daily in my newsletter. If you enjoy the content, please consider subscribing to my newsletter!
<aside> <img src="https://wentin.github.io/feather/icons/twitter.svg" alt="https://wentin.github.io/feather/icons/twitter.svg" width="40px" /> Share on Twitter
<aside> <img src="https://wentin.github.io/feather/icons/facebook.svg" alt="https://wentin.github.io/feather/icons/facebook.svg" width="40px" /> Share on Facebook
<aside> <img src="https://wentin.github.io/feather/icons/linkedin.svg" alt="https://wentin.github.io/feather/icons/linkedin.svg" width="40px" /> Share on Linkedin
<aside> <img src="https://wentin.github.io/IconPark/source/Arrows/arrow-left.svg" alt="https://wentin.github.io/IconPark/source/Arrows/arrow-left.svg" width="40px" /> Previous Post
A Day in the Life of a Growth Hacker
<aside> <img src="https://wentin.github.io/IconPark/source/Arrows/arrow-right.svg" alt="https://wentin.github.io/IconPark/source/Arrows/arrow-right.svg" width="40px" /> Next Post
Lessons Learned on How to Run a Newsletter