Practicing Product
NB: This is a repost from my newsletter. You can see some of the things I make and sign up for more over on my portfolio site, brainbow.studio.
—
I think side projects, software at least, are a lot like the Civilization games. You can’t wait to start. The first 10% is awesome. 10–40% is complex and the difficulty ramps up. 40–100%, all you can think about is starting over on something else. At around 80%, you just quit and actually do start over. [comment]
I laughed, like you do when alone by the computer: with a smile and a snort, when I read this hitting comparison on Hackernews.
It feels like you are almost done before you even type rails new
. And so you jump right in but already after the first few minutes you realize you’ve made the stupid mistake again.
The stupid mistake of thinking that anything would be easy just because you can imagine a few parts of it in your naive head.
Yet, side projects — or lets just call them projects because why does it matter if they’re on the side? — are the best way to learn. Even if you don’t finish them you learned something. You can read all the books or blog posts in the world and still learn more by actually building something.
You get to experience the whole process from designing to developing to redesigning to planning features, eventually (hopefully) deploying and marketing your thing. When you consider the whole of it, it isn’t quite so small anymore.
But what if the things you want to practice are specifically the last parts?
I recently launched many.link.
It all began when I saw someone use linktr.ee on Instagram. I liked the idea but felt the execution lacking. Their administration tool was anywhere from bad to not working. The actual profiles looked bland. I could do something like it1 fast enough, I thought.
First, I needed a short, quirky domain so I typed words like bio into iwantmynameand bio.kiwi was available.
My gut feeling told me some things would be important for this to work:
- The domain had to be short enough and signal intent. People expect your Instagram link to do one thing. How do we signal that this one might contain several — only by the name?
- The profile pages needed to look presentable and well arranged, easy to understand. And…
- Be customisable. People who have multiple things to link to are also people who are concerned about their online presence. Aesthetics are a big part of anything. How do we make it easy to customise yet hard to mess up. Pre-built themes would be relatively easy to provide so we’ll start there.
- Frictionless sign up. OAuth (the “Sign in with whatever” buttons) makes it easy to provide authentication features for every service on the planet. But would that make sense? Intentionally I kept it to Instagram. Adding Facebook or Twitter might take a second to add but it would confuse the entire sentiment of the service.
One problem though: this was in the middle of the Cambridge Analytica story and Facebook had seemingly put a cooler on handing out API keys to anyone and their neighbour. So after applying to get my Instagram app approved and waiting, checking for updates for a few ~~days~~weeks to no news, I eventually put the project away.
Showing what I had so far to a few not-so-maker-scene-but-very-Instagram-savyfriends made me realise that the domain, although cute 🥝, didn’t tell the story well enough. My friend Emilie suggested allmylinks and .app
was available. Bought the domain but did nothing with it.
There it was for a month or two. Online and working on the wrong domain. Far from done, even further from done enough to submit.
Then came Christmas and I discovered Magnify. A few days later they launched on ProductHunt. Nice little product, simple concept, good execution. They were #1 for the day. Wait a second? I have one of those lying around somewhere!
I checked Instagram’s developer section. It had gotten approved!? What’s the minimum amount of work I need to do to put this on ProductHunt? The landing page and … polish?
I copied the general idea of Magnify’s landing page — header, short text, big preview on the right. Made sure everything looked presentable on the inside too.
Then I discovered allmylinks.com doing the exact same thing (there are so many!) and went back to iwantmyname. I typed all kinds of things into the box and pulling the lever like a granny working a slot machine. Suddenly, there was many.link. Works!
A few evenings’ work and I had it ready for launch. I put it on PH at 00:13 San Fransisco time and to my surprise it went to #1 for the day.
There’s so much more to making a thing than programming it. We all know that it’s a lie that if you build it they will come. I wanted to practice all the other parts than building.
many.link was the perfect project to practice ProductHunt. Everyone has an Instagram account and is familiar with the problem. The problem is so small, you can explain it with a single sentence. The running costs are the price of whatever the cheapest VPS you can find costs.
Now, this leaves the project in an awkward place as its main purpose has been fulfilled. Could I do ProductHunt? I could. Can I make it generate some revenue? We’ll find out in the future.