DEV Community

Micah Riggan
Micah Riggan

Posted on

The story of my longest side-project

Making a thing.

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.

Alt Text

Starting

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....

The Slump

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.

Keep Pushing

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.

Alt Text

IT WORKS

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.

Extend

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.

The Peak

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.

A Blur

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.

Here's a look at what I ended up with
Alt Text

If you're on Coinbase, Robinhood or Sofi and want to try it out

Have you had a long running side-project? How did it go? Have you launched a thing? Let me know in the comments

Latest comments (5)

Collapse
 
mitchelljr profile image
Mitchell Reeves

Micah this is awesome! Thanks so much for your story. I'm just doing my first looking around at a trading interface, I'm sick of logging into multiple exchanges and just want something speedier and simpler. Anyway hell yeah on beating that narrative, you crushed it.

Collapse
 
micahriggan profile image
Micah Riggan

Thanks Mitchell!

Nice, which exchanges are you using? I'm mostly focused on automating purchases right now. It's getting pretty smooth, but Sofi has some trickiness for detecting order state that I keep having to tweak.

Let me know if you find something cool that fits what you're looking for, always looking for inspiration

Collapse
 
mitchelljr profile image
Mitchell Reeves

Hey Micah have you seen Qaudency? (quadency.com) - I just got a brave ad for them, thought of your work!

Collapse
 
mitchelljr profile image
Mitchell Reeves

I'm using KuCoin, Binance, Kraken and Bittrex - awesome I will do! I don't even need a sexy interface, I'd be happy with command line if I could make trades easy and quick from one place

Collapse
 
barranger profile image
Barranger Ridler

Great read, thanks for sharing!

The only part I would want to correct is this:

"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."

It's not that you saved $500 but rather expanded your understanding of both the software and a more robust understanding of software development in general.

Congrats