I’ve noticed that when I start making something, it starts out as a simple idea. As I get close to nearing completion of it, my mind wanders with all of the features I could possibly add to it. I begin working on all of those features at once rather than finishing the original “simple idea” first.

Getting stuck in the tunnel

Usually what will happen next is the codebase will get big and complicated quickly and I’ll start to lose control of it. A bunch of bugs turn up, and I eventually lose interest in fixing all of them. So I move on to the next “simple idea”. And the cycle continues. 90% completed projects full of bugs with no plans to release.

How to get out

There’s really no problem with this if you don't care about launching. It’s an awesome way to quickly learn a ton about programming. The more terrible code you write the more it starts to make sense where and how to improve it. Suddenly it makes sense why OOP is good for example, and how to organize better next time.

But it's a problem if you want to actually ship something. If you want people to use the thing you made, make money, or make a difference, then you need to find your way out.

I just realized I’m going through this right now with GhostiFi! It crept up on me slowly over the last month and now it’s starting to get pretty bad.

Luckily I just corrected it today before it got out of control. I decided I’m going to scale back my big vision (its been getting bigger every day since I started working on GhostiFi) and get back to basics.

Here’s how it happened to me:

  • I started out with the idea to make a service which installs OpenVPN on a VPS, and gives you a button to migrate it to any location or rebuild it in the same place (to get a new IP)
  • Somewhere along the way, I thought it would be great to also add a Rebuild Scheduler feature. This would allow you to schedule rebuilds/migrations on a daily, weekly, or monthly basis.
  • From there I added Scripting to my list of launch features. This would allow you to add custom commands which run each time the server is rebuilt or migrated.
  • Next I decided it should include SOCKS5 proxy as an option for the server as well.
  • I began researching other types of VPN servers I could offer like Algo and Wireguard.
  • I started thinking about including Pi-hole install as an optional feature.
  • I started working on 3 plans instead of launching with only 1— ‘N00b’, ‘Sk1d’, and ‘L33t’. I decided to paywall some of the new features I was making and also wanted to provide more bandwidth to heavier users/teams.
  • A friend suggested I should add multiple OVPN profiles for each device, and be able to calculate bandwidth for each instead of using only one per server. I agreed it was a good idea and added it to the list.
  • I woke up this morning thinking about how nice it would be to have iPhone and Android apps which show how much bandwidth you’ve used, and handle all the same features as the web GUI (rebuild/migrate etc).

I'm taking GhostiFi back to that first bold item.

I’m getting rid of the 3 plans, all the extra features, and I’m launching that 1 bullet point.

That’s the MVP.

Only after I’ve launched, and started to gain some traction I will think about working on those points below bullet #1. Those will be individual feature releases.

Closing thoughts

From people I’ve talked to and what I’ve read, I’m not the only one with this problem. As a technical founder, my passion is technology first and business second.

I’m actually perfectly content iterating through all these ideas in my head, turning them into half-baked piles of code, and moving on without ever releasing.

I love working on my projects and bringing my ideas to life even if they never make a dollar or earn me any kind of recognition. But it is also a great feeling when you’ve made something that other people actually use and enjoy.

The only way to get there is to get organized, stay focused, and launch small.

Some stats after a month working on GhostiFi:

  • 18 hours of livestreaming while coding
  • 12 blog posts
  • ~1,000 lines of Python
  • ~1,000 lines of PHP/HTML/CSS/Javascript
  • 155 Tweets
  • 1 customer/$9 MRR
  • 7 newsletter sign-ups
  • 350 unique visitors

Sign up for the mailing list at https://ghostifi.net to receive an email when we launch!