Normalization of non-deviance

Date Added
Dec 11, 2020 9:58 AM

If you'd like to get an email when the next post is up:

This year I reached several milestones. My revenue grew to over $1 million per year. Traffic increased to 1.4 billion requests per year and I'm serving over 1 million users per month. Over 20,000 people have paid for my products now. Nomad List and Remote OK are the main revenue generators responsible for 3/4 of revenue.

From the beginning of my little startup career I wanted to prove you can do things differently when building a company.

Without funding

Imagine burning $2 billion dollars of VC funding in 6 monthsThat's $10 million per day$455,000 per hour$7,589 per minute$126 per second https://t.co/TVk7RMXuy8— ؜ (@levelsio) October 21, 2020

I wanted to prove you don't need to raise venture capital investment: early on I was never able to get venture capital investment, and I discovered you don't need it. Instead of raising money you can operate extremely lean and scrappy and still succeed. My belief was customers would care about the story behind the product more than how it looked. And they would be okay that it wasn't immediately perfect and might have some bugs. Instead, they'd appreciate the authenticity of that more. As long as I'd improve based on customer feedback, I'd get a loyal and happy customer base and get more customers from word of mouth.

Without a team

It's a big experiment to see if I can do it. The goal is to reach $1M/y as a solo founder with just automation. I'm nearing that. If I hit that I might sell or hire people— ؜ (@levelsio) July 27, 2020

I wanted to prove you don't need to hire a big team, but instead could do it mostly solo by learning how to things yourself. When I started out I could barely code, but I learnt it on the spot. From the beginning I've come up with the idea for, then coded and built every single feature on my sites. I've designed the layout, the logos and picked the colors (mostly looking at what the big startups like Airbnb and Product Hunt did). I've edited the landing page videos myself, sent newsletters and did all the marketing myself. (I did pay two part-time contractors: 1) to keep the server secure so I wouldn't get hacked and lose my customer's data; 2) a moderator to keep Nomad List's community a friendly place).

Without fancy technology

https://t.co/rORz8wW1YR is a single PHP file called "index.php" generating $65,651 this month. No frameworks. No libraries (except jQuery). 💖 (SGD 89,415=USD 65,651) pic.twitter.com/aG0K3oGm9b— ؜ (@levelsio) September 21, 2020

I wanted to prove you don't need to use the latest hipster JavaScript framework and a complicated hosting set up with hundreds of servers in a cluster so you could scale. I use a single VPS server on Linode for all my sites. I've reached the frontpage of Reddit multiple times with it. I don't use any framework except jQuery. And I use a language despised by most professional engineers called PHP, also without a framework. My code is mostly vanilla. Kinda like duct tape programming. My deployment process is extremely primitive: I write my code in Sublime Text, then I test it on my laptop (I have NGINX locally, so I open nomadlist.test for ex), then if it works I upload it with Panic Transmit via SFTP. I don't use Git and my versioning works by having backup services with infinite history running on my laptop. But I'd mostly just undo in my code editor. I said primitive, right :D

Without paid marketing

I wanted to prove you don't need to buy ads, but instead that the best marketing is organic and that if you make a product customers use and love, that word of mouth is your best funnel. I've used the story of my own life and building my products with all the ups and downs as my primary way of marketing. Instead of acting like a professional startup founder whose life and business is perfect, I've tried to be as transparent and vulnerable as possible. People like to go on a journey with you especially if you share all your imperfections and mistakes.

Normalization of deviance

This scrappy way of building also made me ship super fast. I saw it as a light form normalization of deviance:

Normalization of deviance is a term used by the American sociologist Diane Vaughan to describe the process in which deviance from correct or proper behavior becomes normalized in a corporate culture.Vaughan defines this as a process where a clearly unsafe practice comes to be considered normal if it does not immediately cause a catastrophe: "a long incubation period [before a final disaster] with early warning signs that were either misinterpreted, ignored or missed completely".

A presentation I made about building companies without funding

Why prove it at all?

If it's possible to build million dollar companies without being able to code properly, without outside investment, without a team, without a network and without fancy technology, that means theoretically any person with a laptop anywhere in the world with internet access can now learn to code, find a problem, build a solution, (and with Stripe expanding around the world) charge money for it.

Building a company is becoming democratized, globally

I knew if I'd show this was possible, with me as an especially imperfect example, some people might try to do the same. And together with lots of other people doing the same, we could start a little wave of people building companies in a more organic and lean way without needing much else except for their own hard work. And I think that's happened by now.

As more people will realize this around the world in the next few years, more people around the world will try to start companies. And more will succeed. And the barriers to entry for starting a startup will decrease.

And now for....normalization of non-deviance (or "the end of index.php")

Now that I've proved this up to a considerable amount of revenue and impact, by my own standards at least, I think it would be stupid to stubbornly try to do things scrappy and solo just because I did until now. I told my friend John from Ghost:


My sites are finally operating stable enough and I don't need to put out fires or fix bugs all day, so this month I've started to think about hiring people. For that I needed to clean things up. So I think my new focus is normalization of non-deviance. Instead of scrappy, I'll try to do things properly from this stage on, at least for Nomad List and Remote OK:

I'm now using Git

You won't believe it but I did my first git commit today pic.twitter.com/rBwAFOO8qz— ؜ (@levelsio) November 14, 2020

I've put my sites on GitHub, and I can now deploy my code from my laptop's local environment, push it to GitHub, which then pushes it to my Linode VPS. Working with Git makes sense because if I hire people, they'll need access to the code base easily. I've also started cleaning up some old code and technical debt so it'll be more easily understandable.

I'm now using Composer and NPM

So today I learnt how to use Composer after manually require'ing PHP libraries for 5 years + I learnt how to auto update my dependencies via GitHub with 🤖 Dependabot and I guess that means I also accepted my first Pull Request today (from a robot)inb4 I raise VC next year https://t.co/rlJf1OXyUa pic.twitter.com/gcsK6JARQL— ؜ (@levelsio) December 9, 2020

I've learned how to use Composer and NPM to install libraries and even use GitHub's Dependabot to auto update my libraries. Before this I'd manually include and update libraries.

Building admin tools for the people I hire

I've started to create more admin tools for my sites. For example to edit a job post as an admin on Remote OK, I used to have to do it in the db. Now an admin can do it on the edit page. And on Nomad List, on the admin page new members can be screened for spam and easily flagged.

Anyone know anybody nice, friendly and smart who'd like to do part-time customer support for Remote OK? Mostly:- helping customers figure stuff out- say "sorry it didn't work for you" and refund- report bugs back to meThanks!— ؜ (@levelsio) November 8, 2020

Hiring people

And I've actually started hiring: the first person I'm hiring is a customer support person. Most of my customer support is automated but I still get about 30 inquiries per month. Also the customer support person can help do other stuff like flag people joining Nomad List with fake/spammy accounts or stuff like NSFW profile photos. And for example organize Nomad List meetups remotely.

... and as much as I'd like to keep doing the solo thing, if some of those plans means bringing more people aboard to help, so be it. After all, Carrd isn't just my dinky little side project anymore (people actually rely on it to get shit done) – time for me to act like it :)— aj (@ajlkn) January 2, 2020

Raising money

Just kidding, I don't believe I need to raise investment though, the problem with venture capital for me is the same as it always was. I don't want the stress of having to grow my revenue to a $100M/y company or go to $0. I'm fine with how it's going now and I can cover costs fine.

From rusty to shiny

Before, my goal was to make my sites operate like this, built on-the-fly with scrap metal I found on the road, rough but effective and fast to build and iterate on. And it worked:


The goal now is to have my sites operate without me for a year or more. That means I can focus on what I think is most fun to do: building new startups, products and new features. And the objective is to make them operate more like the pic below, rough but now clean and shiny:


Mad Max without the dirt

The deviance will continue, elsewhere

Me when I launch my MVP pic.twitter.com/raRzzsovQu— ؜ (@levelsio) April 25, 2019

This isn't the end of scrappy life. When building something new, like an MVP or new feature, I think I'll still do things the old scrappy way though. No Git. Just FTP. No frameworks. Just solo. No hiring.

I'm convinced doing things scrappy is the best way to validate new products or features and iterate towards making something that people actually want to pay for. It's the closest you can be to the product and customer feedback loop. Make, get feedback, iterate, get feedback, etc.

And that's one of my favorite things to do in the world.

P.S. I wrote a book on building indie startups called MAKE. And I'm on Twitter too if you'd like to follow more of my stories. I don't use email so tweet me your questions. Or you can see my list of posts. To get an alert when I write a new blog post, you can subscribe below: