This is the story of the past 4 or 5 months, so it'll be long.
I've always wanted to make a thing. A thing people use, and enjoy. Sometimes the struggle is motivation, sometimes the lack of an idea.
Recently I encountered a problem. I was paying $2-15 a month to purchase crypto-currency from Coinbase. It was convenient, but wow, that seems pretty expensive, I thought.
So I have this idea. What if I just make a thing, that connects to an exchange account, where trades are cheaper, and I just buy from there with cash. I'd save hundreds a year! This is August.
So I make a new folder, run some typical setup scripts and get started. Eventually I get this script that can load my Coinbase balances and trades, and make new trades. I even spend some time making strategies, and a class that can use a strategy to pick a price and place a trade.
The momentum is pretty exciting, so I keep working on it at night time after work. Eventually it's working. Maybe people would use something like this?
I make a frontend, not my strong suit, but I start with something pretty choppy.
Oh making a thing that people can use requires a ton of steps.
Now I need Auth, a login page, a way to configure the different bot settings, a way to securely store the credentials....
I've never been good at continuing to work on something past a month or two at home. Usually I made a great deal of progress the first couple of nights and get it to a spot where it does what I need.
Getting a project to a point where you're comfortable telling people about it, and getting users. That's not something I've really done.
The sheer amount of TODO items to get something ready is very scary. Time for a break.
I took a break, but I still thought about it. So after about a month, I came back to it, and just started chipping little things away. I come home, I watch a show on Netflix, grab a drink, and code just a little bit on it. Eventually the motivation starts to build again. The list becomes a little bit smaller.
After two months, by far my longest side project, I get to a state where I can publish the website to an S3 bucket, behind cloudfront, and update a backend which is running multiple node.js services, and people can use it.
So I get close friends to try it. Watching people onboard, you realize you've learned or ignored quite a few little things to make your app work.
Other people don't know not to click there, or how to use it at all really. I learned that my UI was too complicated, and the on-boarding needed an over-haul.
BUT, with help, I could get them up and running. That small group of people trying it, and asking questions really boosted me.
Once I got my first user, I was hooked. I had to fix bugs that were breaking them, or add features they wanted, or improve flows that confused them.
The value of the first user, for me, was huge.
This is October, and now I can avoid those fees.
By now I've realized I've probably spent a few hundred hours over the course of two or three months in order to avoid maybe $500 of fees over the course of the year.
So I've removed the fees, but what I've always wanted is the ability to manage ALL of my trading in one place. I've been doing recurring buys of stocks too, and I've been doing that manually. Wonder how long that'd take to get Robinhood added to this thing.
The hardest part was the authentication. Once I got that working, it was smooth sailing. Luckily this existed https://github.com/sanko/Robinhood, otherwise I would have had to reverse engineer more.
At the core, the bot level, it took a day. But at the full application level, it took a month.
Going from 0 to 1, is crazy hard. Going from 1 to 2, will show you were your code was flexible enough, and where it wasn't.
Once I got the stock trading working, my excitement peaked. Now I can automate all my investing, and I even have some math that picks good prices. I'd been able to test the Coinbase integration for a solid month.
Trades were being suggested daily, and I managed to catch a great dip for ETH from 200ish, while my bot was putting in trades in at 167-170.
At this point, I've been working on this thing for 3 or 4 months. It's routine. I don't have a feeling of impending doom, or low motivation when I go to work on it. There's so much to do, but no real friction. (Aside from moving apartments)
I added a ton of stuff, late nights of adding SMS notifications, billing, SoFi, fractional shares, billing. It all blurred together into something that I'm super proud of.
Now I know I'm capable of sticking with a project for longer than a month. I defeated that narrative.
I'm looking forward to seeing where it goes.
Have you had a long running side-project? How did it go? Have you launched a thing? Let me know in the comments