Ask HN: How to come up with a useful, coding hobby project?
I get bored on weekends. Of course I go out and do things, but I also find myself bored at home sometimes with not much to do, lots of mental energy, and not in the mood to watch TV shows or play video games.
I'd love to start a hobby project that:
* ..would teach me something new (i.e. TCP protocol, or redis, or..) * ..would keep me "entertained" for potentially 100+ hours * ..I would NOT be tempted to start monetizing. It has to be absolutely useless
As an example, some time ago I had fun implementing this book: https://www.amazon.com/Ray-Tracer-Challenge-Test-Driven-Renderer/dp/1680502719
This time I'd like to go deeper into some other topic; I don't think I spent more than 20 hours cumulatively on that book. Document / do a write-up(s) about experiences & what doing/have done. Customize write-up(s) for use at interviews as way to demonstrate knowledge/application of subject matter . For academic tracks, should be able to get at least one bonus paper on how hobby/side project relates to field/subject matter. The most simple answer: start your own website/blog. You can learn/practice how to create the site, write about whatever you want and make it as useful or useless as you feel like. > I would NOT be tempted to start monetizing. It has to be absolutely useless You stated that you want a useful one in the title Useful skill, useless product This is what I had in mind. Sorry for not being clearer. So, fostering your skill just to let someone else capture all the value (minus your compensation)? >So, fostering your skill just to let someone else capture all the value (minus your compensation)? That's an unusal take on 'graded' certifications / degrees / training programs. subject was about 'ungraded'/check things out in spare time. open source projects : https://www.freecodecamp.org/news/open-source-projects-every... Not everybody wants or needs to be an entrepreneur In that case, they can answer "yes" to the question posed. Sounds like an open source point. So a Rube Goldberg project(s)? Learn 3d printing skills / CNC skills / coding & encoding skills / programming skills via making/assembling a useless one person mechanical TV[0][2] broadcasting station[3] with paper tape recording[1]. Today's off the shelf hardware/software makes for a 'relatively' easy software 'mechanical tv'. asciimation : https://octobanana.com/software/asciimation pal to ascii : https://github.com/joelibaceta/video-to-ascii -------- Can always see how far can substitue diy paper circuits and still have same functionality/quality as silicon circuits[4][5][6]. Perhaps perfect a way of using scotch to convert paper into a plastic version for longevity. -------- [0] : https://en.wikipedia.org/wiki/Mechanical_television [1] : punch card : https://www.youtube.com/watch?v=Oke-7lsvFug [3] : digital camera with a nipkow disk : https://www.youtube.com/watch?v=KCzMLl-cB94 ---------- [4] : robotic arm : https://howtomechatronics.com/tutorials/arduino/diy-arduino-... [5] : "circuit printer" : https://www.hackster.io/news/sketch-a-circuit-anywhere-with-... [6] paper circuit quality verification : https://www.hackster.io/news/jerry-de-vos-plastic-scanner-tu... ------------ Note: "This is what I had in mind. Sorry for not being clearer." not a reply to this comment. May things started out as a 'just need to get this done.' Per hobby, look at various things do on frequent basis and/or infrequent basis. Try to envision how to do all/or parts as a coding hobby project. Then go do the opensource research to see if there are things that do something similar (or just specific related aspect of what want to code/do) . Jury rig / program way to get the open source things to work together. Eample: frequent tasks/appointment & schedule reminders (enter task & do automated sms notification reminders) which would entail setting up OS, datbase (command line and/or gui), 'shell scripting' link between user / database and SMS. Perhaps upcoming scheduled report summary & automated clean-up of expired tasks/schedules. perhaps at some point move it over to cloud so can visually access / add additional information through internet portal. might want to make sure understand security implications first. If you have the space and desire, build a reasonably sized shed (10'x10' in US for example) from scratch and up to code will take you probably around 100 hours if you put in windows and electrical. Create your own meta-circular evaluator: https://www.buildyourownlisp.com/ Think about everyday challenges you face – maybe a task that could be automated or an app that simplifies a process. Combining hobbies with coding can also be rewarding; for instance, if you're into fitness, create a workout tracker. Remember, the journey is as important as the end result, so enjoy the learning process and don't hesitate to seek inspiration from coding communities and online project repositories! Do you have any broken stuff around you could repair, if you don't already know hardware (Maybe not the safest if you don't already know about electricity but everyone starts somewhere!). You could look at noncode things to learn. Make a game in a foreign language? These days I pretty much don't start new DIY projects, I just work on existing FOSS. How about hardware+software project? Build a reliable home survelliance computer that would capture few webcams and upload them to some cloud. Without hassle, just works, and survives short power/wifi/cellular outages, can live for months without maintenance. I'm confused... do you want useful or useless logic nitpick: logical OR, 'yes' covers both cases How about contributing to the opensource Mag Pi magazine - free online Take a MOOC - this is good to explore potential topics Ask your mom what she needs Join a tech club
[2] : Ben Heck's Mechanical TV part 1: https://www.youtube.com/watch?v=eI0TtyVEcs8 original pearl programming : https://www.youtube.com/watch?v=gALLuttm8tI
1920's VCR : https://pinshape.com/items/108598-3d-printed-paper-tape-reader-machine