Hacker News new | ask | show | jobs
by kadabra9 2199 days ago
It sounds cliche, but "scratch your own itch".

My group of friends used to run a pool where we would handicap NFL football games and pay out prizes to the top 10-15% of finishers each season. The pool grew big enough to the point where it was a pain to manage manually, so I ended up building a small app where we could create new pools, users could sign in and make / edit picks, it would track the standings, etc. It would scrape the final scores/results of NFL games to grade everyone's picks, and each Tuesday it would scrape the consensus lines to set the spreads for each weeks slate of games.

Im not really sure "how" I made the jump per se, it just became one of those things I couldn't wait to work on. Anytime I ran into difficulty it was like getting stuck in a video game, I would try new things until I fixed it. Gradually over time things started to fit into place and a functional (but clunky) web app emerged.

It wasn't pretty (this was a long time ago), but it worked, and we used it for our pool for a few seasons without a hiccup. I still remember the afternoon I made the "final" commit as one of the happier moments in my career.

2 comments

You don't achieve success by somehow avoiding failure, rather you repeatedly fail (in small, safe ways), grow, and learn.

Perfect is the enemy of good. Your tech doesn't need to play buzzword bingo out the door, it just needs to solve the problem.

> It sounds cliche, but “scratch your own itch”

Couldn’t agree more. What better way to learn development than actually experiencing the direct results of your actions. Not only do you practice app development, your UX design skills will Improve dramatically.

About 10 years ago, while at school, I achieved the second highest non-degree qualification in piano, an LRSM diploma. But, gone are the days of being able to or even wanting to spend 4 hours a day practicing. I needed to get more efficient. The problem is that I’m objectively terrible at practice - I learn the first page, then enjoy playing it so much I never get on to the second.

I made an app that helps me with this. I upload an svg score (lilypond, I use Mutopia scores then correct any discrepancies with whatever urtext I have), then use the app to break it into a tree of segments. The app then shows me, for 5 minutes at a time, the first 5 segments I haven’t marked as completed. Right now, it does nothing more, but it’s fantastic.

It’s also objectively terrible proof of concept code, but crucially I’ve learned more about the UX requirements with the POC than I would ever have learned by planning ahead.