| Start with your own problems, even if you're the only one to have them. You're guaranteed to help at least one user, and you know that user's needs better than anyone else. Most of my projects - especially the enduring ones - solve a problem I have. Only a few have multiple users. Back in university I made a sort of personal Netflix, basically a web viewer for torrented movies. I rewrote that project many times and learned a lot from it: ffmpeg, Django, VueJS, single sign on, REST APIs, and a lot more. A year ago I wrote my own static site generator. Again, learned a lot. This one powers the website I live from. At a smaller scale, lots and lots of scripts. Some turn screen captures into gifs, others rename files or checks places against the Google Maps API. These small bite-sized problems are always fun to work on. One problem I currently have: I need a dashboard I can push status updates to. "Last build green" or "no heartbeats in the last 48 hours" are updates I'd like to get. Most uptime tools only pull information. My only advice: keep the scope small and release early. It's a lot more motivating to work on something that you actively use. |