by @mcknco

Shipping My First MVP

TL;DR: Are you a product maker? Join Levelsmap.

About a month ago I embarked on a new journey — to become an “indie hacker”. I’ve known about the startup scene for a while, but it’s not until recently that I made the commitment to myself: that this would be my path forward come hell or high water. That was a tough decision — check my post year zero for the self-inflicted misery.

Since deciding, I feel like an incredible burden’s been lifted and I’m now free to do what I should’ve been doing a long time ago. As if the future’s inevitable and all that stands between my life now and a beautiful, autonomous future is a lot of hard work.

So without further ado…

Defining a problem to solve

I’m new, I’ve never made or shipped a god-damned thing. So that’s my absolute utmost priority. My expectations are unreasonably low. If I ship and just a few lost souls stumble across it, that’s fine. Not “ideal”, but I’ll pat myself on the back and be able to call myself a maker with some air of legitimacy.

Second — I don’t have a great sense of the community. I’ve hit up Product Hunt, Indie Hackers and Beta List and that’s the entire extent of my knowledge of the startup community. Oh, and I know about I first saw him speak at DNX Global in Berlin in 2015 and made a mental note, since he lives near me.

Although Pieter sort of advises against it in his post on MVPs, what he did do was to solve his own problems, and so will I. Whether I can make the biggest impact possible or whether it’s good for diversity is really beyond the extent of my reasoning ATM. I just want to put something out to announce myself.

My todo list, yesterday...

To recap, my goals —

  1. Ship something.
  2. Meet people.

Notice money isn’t on the list; it’s actually between the lines. Here I’m channeling Seth Godin on tribes: to get money you need to have people to sell to. So that’s how I want start my journey.

Percolating ideas

Ideas, like coffee, need time to percolate. There’s many ideas; good, bad, big, small, about all aspects of your project. We just need a little space to filter them so we have a cohesive plan.

Basically I want to figure out where the nomadic makers and tech solopreneurs are congregating so I can join their community. Succeeding is much easier when you see people doing — day in and day out — what you could only dream of one day achieving. So creating a mechanism to get in touch with people IRL or even just online would be amazing.

Part of that is outreach: engaging with others on the startup forums, etc. I definitely need to do more of that. But the utility of outreach is as a way of link-building / funneling others to your website(s). So if there’s nothing there, you’ll be unmemorable.

I’m a very visual person. During my heyday I studied computer graphics at Caltech, published at Siggraph and worked on visual effects for Hollywood movies. Yes — I like graphics.

So my app should graphically visualize where people are based. Sounds doable. Hmmm… sounds like a… map?

A crowdsourced map of makers

Literally a world map, with little avatars to indicate where people are at and a bit of info about what sites they make / build.

That’s what I want to build.

How to make it minimally viable?

The concept has to be simple — most importantly from the user’s point of view, but also from the implementation / dev angle.

Difficult would be a lengthy sign-up form with username / email / password, upload an avatar, profile, etc. That’s not going to work.

I’m too lazy.

And so are users, I believe.

Instead, I make something highly targeted. I want to attract tech product makers who build in public. What do they use? Twitter.

Suddenly the project is simplified: Twitter has most of the info I need. Now I can think of my project as simply a bridge between two services: Twitter and Mapbox (not Google™).

What glues the two services together are location coordinates, and I solve that in the simplest way possible: a JavaScript call to getCurrentPosition(). No nonsense; addresses, geocoding, validating user-input, etc.

The implementation

I’ve never touched PHP or JavaScript, and it’s been about 10 years since I programmed professionally, so this felt both totally foreign and completely familiar.

Once I figured out how to use sessions in PHP, manipulate JSON objects in both languages and send AJAX requests, I was good to go. Authentication on Twitter’s API was non-trivial compared to the Vultr API, but after banging my head against a wall I found a great, free PHP library called TwitterOAuth.

Problem solved.

The most tedious aspect was spent programming GUI callbacks. I’m always engrossed in a project while the technical aspects are challenging, but once I’ve solved the key technical hurdles my enthusiasm dies because in my head, it’s already finished. A lot of devs suffer this, perhaps it’s a meta weasel to avoid shipping.

Thats why I keep the project so small. I can’t run out of steam because the end is very near the start! It’s like a CS homework.

Marketing / Branding / Launching

I’ve put this section after the dev part, but the truth is I’m thinking about all aspects in parallel. The goals, the idea, the feasibility and thinking about the launch all happened in tandem, one part informing the other and vice-versa in a beautifully synchronized, multivariate dance.

My big idea is to name the product in honor of Pieter Levels. He’s got a pretty big, high-quality audience of nomads and makers, exactly the kind of people I want to be in touch with. In all honestly, there’s no chance I’d be building a site like this on my own if I hadn’t seen what Pieter was up to, so I think it’s only fair to give him the big credit where it’s due.

Another favorite of mine, Mike Cernovich writes that “blog posts are the new email.” In other words: blog about people whose attention you want. I’m heeding that exact advice here, but taking it up a massive Level (pun), by building an app about a person.

Beat that.

I have no idea if this is a good idea or what the response will be, but it’s a risk I’m happy to take. Failure and public humiliation are a part of entrepreneurship. Just accept it and move forward.

Once I show Pieter my app, Levelsmap, I’m hoping he might be able to guide me towards a the next steps of a good launch.

Testing the limits of acceptability

Levelsmap is also an experiment in testing what’s ethically acceptable in terms of mining user data. Although I don’t charge money, Levelsmap isn’t free — I demand access. When you sign-in using Twitter, I don’t request the minimum privileges I’d need to make the app work — I ask for a bit more.

First, I ask for write access. Why? So I can add myself to your Twitter. When you sign-in to Levelsmap you’ll automatically follow me on Twitter. That’s the price of entry. Again I stole the idea, which I like a lot, from Nomad List.

The big difference is that Nomad List has big credibility and I don’t. To try and mitigate that issue, I made the source code for Levelsmap available on GitHub, so users have transparency.

They can see what I do: I don’t store your Twitter credentials or hijack your account, although I do ask for permissions to. I hope open-sourcing the code will ease those concerns, although I’m not sure. Having a lot of users would definitely help.

Alternative: I could ask for read-only permissions until I have enough users, then switch to read + write. I also thought about a warning before login, but I’m too scared it will detrimentally hurt my conversion rate.

In addition to read + write access, I also ask for permissions to access your email address. I don’t care about it or need it, nor do I have any intention to use it (perhaps later, for feedback), but it’s simply an experiment to see how easily users will give up their privacy just because someone like me — someone random on the internet — asks for it. I just log it on the web server along with your Twitter handle.

Preparing to Show Your Work

Right now my app is sort-of presentable, which is a good enough time to ship. If not now, then when? In fact, I showed a beta to literally one guy on Twitter who immediately leaked it on Who knew the maker community has more holes in it than the FBI.

Note to self: if you want to keep it secret; keep it bloody secret!

Apparently even Pieter saw a draft of the app, although I have no way to know if that’s true. Anyhow, if he hasn’t seen it then he will very soon when I tweet him. So I’ll keep my fingers crossed.

During the leak I had people signing-up, so that was a great, exhilarating feeling, although also embarrassing because my NGINX logs were lighting up like crazy with PHP errors. Trying to fix them while the system was “live” made me stressed out, so I took the app down while I kept working on it.

BTW: my expectations? I already met them during the leak!

Social-proofing your app

The one good idea I had today was to prepopulate the map with makers. This idea actually came from IKEA of all places. Near my house, IKEA offers a $1 breakfast that attracts swarms of retires and unemployed people with no / low disposable incomes literally queuing up before the store opens. I know this because I’m one of them. Although they don’t spend a lot of money, they warm the place up, creating a buying environment for more affluent shoppers to feel comfortable in. It’s like an iPhone launch every morning; a herd mentality. But it very definitely works.

Since I’m just curating public information from Twitter onto a map, I realized I could prepopulate the map with people who aren’t even using my app. So I wrote a quick script to scrape the Twitter API for a few product makers I found on 500 Hunters.

Hey if it works for Airbnb

Where to go from here?

Put up this post, tweet Pieter and see what he thinks. Then I’ve got to figure out how to engage the big sites. @ParasharAnmol wrote me following the leak, suggesting I “post it on PH first, then HN, then Reddit.” Since I have no plan whatsoever, his is as good as any. Stay tuned as the soap opera continues.

December 5, 2017, @mcknco

Want updates as I navigate my way through the emotional ups and downs of online solopreneurship? Get on my private email list. A few mails a year, max. No spam!

Have feedback?
Thanks for your message! We'll get back to you shortly.
A suggestion? Or a bug? Say hi!