After chatting with a co-worker about tech stacks and side projects, I came up with these rules to give a chance for my side projects:
Think
Write down the idea, let it simmer for a few days, weeks or months. Architecture it in your head, find the pain points. Even give up if you don’t have the need for it anymore.
Goal
What is the feature that will make you use the application?
For example, I want to write an application to help me practice my Spanish. The only feature I really need is to do ask me a question, and for me to answer it. Then once I can start using it, and I can add the extra features: suggestions, corrections, formatting, etc.
Scope
Small
Explore a new tech stack: try a new programming language or new framework
Large
Stick with your current tech stack but add new smaller libraries. For example: drop tailwind and try a new styling library or try a new UI components library.
Timeboxing
Be able to build it in 1 week. Not fully build but deployed and ready to use. Then iterate on it at a slower pace but never stop.
Then start having fun coding your idea.
After digging into my memories, I remembered this Syntax podcast that covers some and more of these rules about side projects.