There's a joke in the photography community. It goes like this. Q: "How do you make a small fortune doing photography?" A: "Sell all your gear". Camera gear is expensive; lenses range from hundreds to well into the thousands of dollars. But, camera lenses depreciate very slowly. If you play your cards right, it's surprisingly easy to buy used lenses, use them for a couple years, and finally resell them to break even or even make a profit.
I've spent my fair share of time obsessing over gear. It's a classic case of bad GAS, or "Gear Acquisition Syndrome". I've spent hours poring through Ebay listings looking for that killer deal, and recently, I figured why not let a machine do it for me? So I wrote an Ebay tracker in Nodejs. It pulls data from the Ebay Finding API every 17.5 seconds (Ebay sets a 5000/day API call limit on non-validated applications) and, using the Gmail Javascript API, sends me an email with every new listing that it finds. It puts every listing it sees into a hashmap to efficiently check if it's a new listing, guaranteeing that I only get at maximum one email per listing.
Next steps are to add multi-user and multi-listing functionality. Will use express-session on NPM for user management. Then afterwards, I'll implement a web interface with websockets for the sweet browser window live updates. I'm trying to keep this project free for now, so I figure I'll use a workaround to the lackluster free DB options in Heroku-- I will simply utilize the free 5gb of storage from Storj, and upload my own MySQL DB for user data storage. That will also solve an issue I have with Heroku's lack of built in permanent storage.
Eventually I'd like to make an iOS app and put it on the app store. Perhaps add a subscription model for Ebay power users to take advantage of the functionality.