Breakable Toys

Share this post

Don't build to-do apps

ilango.substack.com

Don't build to-do apps

aka generating side project ideas that excite you

Ilango Rajagopal
Mar 17
Share this post

Don't build to-do apps

ilango.substack.com

At the beginning of 2022, I didn't know TypeScript. I'd been coding with JavaScript for several years at that point, and I decided that I don't need TypeScript. I searched for and read articles that confirmed my bias. But there was a small nagging at the back of my head.

TypeScript was on the rise. More and more people were adopting it, libraries were being written with it, and the ecosystem was growing. I could either learn it and add a rising technology to my resume or I could be left behind. So I forced myself to learn it. Once I got the hang of it, I opened up a side project and installed TS in it. No hesitation. Just dove straight in. Changed the file extensions and just dealt with the flood of errors. Now I can't even think about going back to writing JavaScript.

Twitter avatar for @i4o_dev
Ilango 💻 🚀 @i4o_dev
I was looking through an old codebase of mine, saw it was written in JS and I cringed a little bit. Typescript what have you done to me?
6:01 AM ∙ Mar 6, 2023

When learning something new, after you get the fundamentals down, there is a brief period where you have to bite the bullet and start a project. If we don't do that, we risk forgetting the things we learned, or even worse, we get stuck in a learning loop called tutorial hell.

But what should the project be? What should you build?

Thanks for reading Breakable Toys! Subscribe for free to receive new posts every week.

Another to-do app? Unless you're interested in productivity and none of the million existing to-do apps don't work for you, I'd say don't build a to-do app.

Instead, build something you would use. The first hurdle to begin building side projects and breakable toys is ideas. I used to struggle with this. Tried to brainstorm ideas. Sometimes it works but I could never force myself to be interested in those ideas enough to start building them.

The key to getting good at getting ideas is the mindset. A mindset of being frustrated or curious about something and not doing anything about it, vs thinking about it as a problem to solve. Since we're programmers, we're off to a great start. We're good at solving problems. We just have to get good at identifying them in our own lives.

Here's what I want you to do:

Whenever you get frustrated with something you use regularly, I want you to write it down. Write down what bothers you about it. Use curse words if you feel like it, and be ruthless to express how frustrated you are. Then write how you want it to work.

I'll give you an example. Every day, when I start my work, I open the same set of apps — browser, terminal, Thunderbird, Obsidian, Spotify, and Slack. It's alright to browse around in your app list, find them, and click on them one by one. Or I could automate it. Open all the apps I use every day, and organize them neatly into their workspaces. I could build and run one command that does all this and make it run when I log in.

This is an actual problem for me. So I'm solving it using Rust, which is what I'm learning right now.

The key here was to identify this frustration. Be on the lookout for repeated actions that you do and write them down. Look for ways to automate it with the technology or framework you're learning.

I have a huge list of frustrations (aka ideas) in Obsidian. I did it so regularly that I made a template. Every time, I create a note in a particular folder, Obsidian applies that template to the new note. You could replicate the same behavior in Notion if that's what you use. Here’s my template if you want to copy mine. It’s quite simple but it works for me.

Another thing you could do is write down what you're curious about. Saw something on the internet and wondered how it works? Try and replicate it. Write down the details that you already know, and research the stuff you don't know (within reason). Break down the functionality into tiny tasks and tackle them one at a time.

I probably won't work on all of the ideas I've written down. Most of those ideas will probably never be revisited. The point of this exercise is to build the idea-generating muscle. Get used to it, and make the process a part of your life.

Don't worry about the ideas being good or bad. The only thing you have to notice about an idea is how excited you are to build it and to use the technology that you were motivated to learn on your own. Write that down as well in your notes. And then go build it!

Have fun.

Until next week,

— Ilango

Thanks for reading Breakable Toys! Subscribe for free to receive new posts every week.

Share this post

Don't build to-do apps

ilango.substack.com
Comments
TopNew

No posts

Ready for more?

© 2023 Ilango
Privacy ∙ Terms ∙ Collection notice
Start WritingGet the app
Substack is the home for great writing