Building a Startup in 45 Minutes per day While Deployed to Iraq

deployment.png

You may one day find yourself in a position where you’re eager to work on a startup but limited by the amount of time you can put into it due to a day job, family or other obligations. In this post I would like to share with you all the story behind Lean Domain Search, a domain name generator that I built in about 45 minutes per day during a 5-month deployment to the Middle East. If you’re struggling to find time to put into your startup, I hope this convinces you that you can accomplish a lot over time by putting a small amount of work into it each day.

Background

In the summer of 2011 I was a 26-year-old freshly pinned-on captain in the Air Force serving as a project manager at Hanscom Air Force Base in Massachusetts. I was 4 years into my 5-year service Academy commitment which meant that I had to serve one more year to pay back the Air Force for my education and training.

At the time I also had two moderately successful side projects that I had built on nights and weekends in the years prior: Preceden, a web based timeline maker, and Lean Designs, a drag and drop web design tool.

Everything was going smoothly until my Unit Deployment Manager called me into his office one day and informed me that I had been selected to go on a six month deployment in August.

This presented quite a predicament. As a solo founder, I didn’t have anyone I could turn my two projects over to maintain while I was away. I also had no idea what the internet situation would be like wherever I was headed, but more importantly I didn’t want to be distracted by these projects while I was out there.

I was contacted by the officer whose position I was going to take over when I arrived. He filled me in on some of the details and I eventually learned that there was limited internet access where I was going to live, but it was slow, had a firewall, and I’d probably be moving bases several weeks after I arrived anyway. I asked him if he could check to see if he had access to sites like Heroku (where my sites were hosted) and Github and he confirmed he did, but that still didn’t guarantee I’d have access to make changes to my sites, time to work them, or even internet access for the entire deployment.

I decided to keep the sites running, but to stop working on them several weeks prior to the deployment. That would provide time for any bugs to surface which would allow me to head out on the deployment knowing that the sites were in good shape. I also decided not to work on them at all during the deployment so that they wouldn’t distract me from my job.

A small deployment side project

During the pre-deployment training one of our instructors suggested we pick up a hobby or something else to work on during downtime. For example, some officers use downtime during their deployments to take online classes towards a master’s degree. I wasn’t interested in that, but decided that I would try to work on a small software project when I had time.

Back in 2009 I had another domain search tool called Domain Pigeon. I was just getting started with web development so I couldn’t figure out at the time how to do what I really wanted to do which was to allow users to enter a keyword and pair the keyword with lots of other terms to generate and quickly check the availability of quality domains. Instead, I built Domain Pigeon, a service that simply listed interesting available .com domains:

domain-pigeon.png

Domain Piegon, Lean Domain Search’s predecessor, in November 2010

I eventually shut Domain Pigeon down to focus on other projects, but the original idea stuck in the back of my head. By the time my deployment came around, I had a pretty good idea of how to implement it so I decided that would be what I would work on.

My daily schedule

I wound up getting assigned to lead a team that oversaw communications (network, radio, satellite, etc) for the aviation unit that supported special operations forces in Iraq.

We worked 12-hour days every day for the entire deployment including weekends. I need roughly 8-9 hours of sleep to function at full capacity which left me with about 3-4 hours at the end of each day (typically around 6am) to have a meal, exercise, shower, chat with my wife, hang out with my coworkers, unwind and maybe work on my side project. In practice, that usually was about 45 minutes per day. Sometimes more, but often not at all.

Fortunately, there were never any major issues with my other projects during the deployment. A few small bugs surfaced, but nothing that impacted many users. I still had access to my email so I could respond to support requests when I had time. And because I was working on the new domain name generator locally on my laptop, I could work on it without worrying that there would be issues in production.

Piggy-backing on the popular lean startup movement as well as the name for my existing Lean Designs tool, I decided to call the new domain name generator Lean Domain Search.

Due to the drawdown of US forces in Iraq at the end of 2011, I wound up coming home after 5 months instead of six – in January 2012 instead of February 2012 like originally planned. I had two weeks of R&R after I got back, the first of which I spent with my wife on vacation in Maine, the second of which I launched the first version of Lean Domain Search.

leandomainsearch-launch.png

Lean Domain Search when it launched in January 2012

I continued working as a project manager at Hanscom Air Force Base until my commitment ended in September 2012. My wife and I then moved back to Florida to be closer to family and I decided to work on Lean Domain Search full time.

Acquired

Remember I mentioned Domain Pigeon, my original domain name generator? When I launched it in early 2009, Matt Mullenweg, co-founder of WordPress and now CEO of Automattic, saw its launch on HackerNews and shot me an email saying he thought Domain Pigeon was neat and that if it didn’t become a full time job there were a lot of opportunities to work on domains at Automattic.

We chatted briefly on Skype, but I was a second lieutenant at the time and still had over three years left on my Air Force commitment so it didn’t go anywhere.

In early 2013 after I had been working on Lean Domain Search full time for several months, I remembered Matt’s old email about Domain Pigeon. I checked out Automattic and WordPress.com and decided to reach back out to Matt to see if there was still an opportunity. I found his original email and responded to it again, this time 4 years after he sent it. I reminded him who I was, explained that I was working on a new domain name generator, and that I saw an opportunity for it to be put to use on WordPress.com to help users find better domain names. He encouraged me to apply for a developer position which I did and in the end Automattic wound up hiring me and acquiring Lean Domain Search.

leandomainsearch-today.png

Lean Domain Search today

That period from August 2011 when I deployed to June 2013 when I started at Automattic was probably the most intense period of my life. I am extremely grateful that things worked out the way they did. In the end I wound up with a small acquisition, an amazing job at Automattic, a deployment that I’m really proud of, and experiences that will stay with me for the rest of my life.

If you’re considering working on a startup but can’t make the leap to do it full time for whatever reason, remember that even a few hours per week can have a huge impact in the long run.

Stick with it. Amazing things can happen.

Discussion: HackerNews/r/startups, /r/entrepreneur

Lean Domain Search Launch Report

Yesterday I launched Lean Domain Search, a new domain search engine, on HackerNews.

You can read the discussion here: Review my Startup – Lean Domain Search – The fastest way to find a domain name.

It started with Domain Pigeon

Lean Domain Search is a follow up to Domain Pigeon, my first Rails project which I launched (also on HackerNews) a little less than three years ago.

Lean Domain Search is what Domain Pigeon was supposed to be: you type in a search phrase and the app pairs it with other words to generate domain names and instantly shows you which are available. I even kept a notebook in my car and when I saw a company name that started or ending with something that would also work for a domain name, I’d jot it down. One problem though: I didn’t know how to do it.

It’s not hard to programatically check whether a domain name is available, but doing it in bulk and doing it fast is. When I started trying to implement bulk search for Domain Pigeon, I couldn’t figure out a way to do it well. I decided to pivot slightly and simply listed available web 2.0-style domain names instead.

Domain Pigeon did well, but I made a bunch of mistakes which eventually led to its downfall. I remember thinking foolishly “Man, making money with web apps is easy.” Domain Pigeon was never supposed to take off. It was a something I undertook to learn web development; it wasn’t supposed to be what I became known for. Yet I’d go to Philly on Rails meetups and I’d be the “Domain Pigeon guy”. And so I started working on other projects, one of which eventually became Preceden. I kept working on Domain Pigeon on the side, but as I became more and more involved in Preceden’s development, I let Domain Pigeon slide and eventually just said screw it and shut it down.

Looking back, my two big takeaways from Domain Pigeon where:

1) It’s hard to make money with web apps. If you are lucky enough or talented enough to find something that people like and will pay for, double down.

2) If you do decide to work on new projects, don’t abandon your existing ones. If you don’t have the discipline to maintain existing projects while building new ones, then don’t build new ones until you do.

Lean Domain Search aka Domain Pigeon 2.0

I launched Preceden and eventually Lean Designs, but I still had the domain name itch. I really wanted to build that original search tool and continued brainstorming ways to do it. About five months ago I decided to take a break from Preceden and Lean Designs development and go for it (without abandoning either — see #2 above).

Lean Domain Search is the result. It’s better that what I originally envisioned: it generates and checks the availability of 1,000 domain names in about 2 to 3 seconds (go check it out!).

The HackerNews launch

The launch on HackerNews went well, but it was not without issues (launch day never is).

The biggest problem was the accuracy of the results. I estimated beforehand that about 1 in 1000 available results would be actually be registered due to some quirks with the way they were being checked. That turned out to be a tad bit optimistic: it was more like 1 in 20. As an extreme example, the results for “cloud” returned 10 results, none of which were actually available. This was understandably frustrating to anyone who searched for “cloud”, found domain names that he or she got excited enough to register, and then found out it was actually registered.

As a temporary solution, I added a “Double-check availability” button that let folks confirm an available domain name was indeed available before going off to register it. This worked great on my local computer, but there was a bug in production that caused it to say that every result was registered. I didn’t notice this until a few hours later by which time 800 people had double-checked the availability of a domain name and Lean Domain Search said the equivalent of “Oh, actually it’s registered. My bad.”

There was a hectic hour of hacking after that where I troubleshot and fixed the double-check feature, but it still felt sloppy. Everyone searching for “cloud” still got those same 10 incorrect results. Eventually it clicked: why not track the double-check results and stop showing ones that come back registered?

After another few hours of hacking, I had a decent solution in place: if you double-checked the result of an available domain name and it came back as registered, Lean Domain Search would remember that and it would no longer be shown in the available search results for you or anyone else. This way the results become more and more accurate as more people use it. 1 in 1000 might never be possible, but the false positive rate should eventually be closer to 1 in 100 than 1 in 20 (and thanks to Mixpanel, I can actually track that over time).

This morning I spent a few hours cleaning up the code and making other improvements. For example, when you click a domain name it will now automatically double check the result so you don’t have to.

I also found a typo today in the Namecheap affiliate link that caused my affiliate code to be dropped so I didn’t get credit for who knows how many domain name registrations yesterday. Fun!

But it was still a good day. All in all folks used Lean Domain Search to make about 14,000 searches yesterday thanks to it sitting on the HackerNews front page for almost 20 hours. Launch day traffic is always inflated though (don’t be fooled!); the trick is getting it back up to that point over the next few months.

The mentions on Twitter about Lean Domain Search were very positive too — thank you to everyone who Tweeted about it.

Here’s a screenshot from today:

On a final note, I should be blogging a lot more in the future. If you’re not subscribed to the RSS feed, you should.

Domain Pigeon on Smashing Magazine

Domain Pigeon was recently mentioned in a Smashing Magazine article titled 10 Tools For Finding, Registering And Managing Domain Names:

Domain Pigeon’s approach is different to the search tools mentioned before. It automatically generates lists of available domains as well as Twitter names. The names are displayed in different colors, depending on how many people have showed interest in a certain term. The darker the color the more popular the name. You can also order the lists by length, popularity and show only domains or Twitter usernames. Examples of generated domain names are ablebo.com, meliori.com, minecafe.com or shopshost.com.

Domain Pigeon is an ideal source of inspiration for domains and short available Twitter names.

Cool cool.

Domain Pigeon Fixed

Domain Pigeon has been down for the last few days.

Recent visitors to the site saw this uninviting error message:

apperror

The error, “unitialized constant ApplicationController”, was remedied by SSHing into Dreamhost and running the following command:

rake rails:update:application_controller

… which renames application.rb to application_controller.rb

I think Dreamhost updated something on their end which caused the error.

Regardless, its back up — more domains to come shortly.

Wordoid

A new domain name tool just launched called Wordoid.

The thing I like the most about it is how it lets you enter in a word and then it generates available domain names around that word. Domain Pigeon, on the other hand, only lets you search names that already exist on the site.

There were a few interesting mentions of Domain Pigeon in the Hacker News thread on Wordoid’s launch:

Yeah, I was a fan of http://domainpigeon.com/ for a while, but that got a bit too restricted for me (as it became more commercial), not to mention a bit unwieldy to browse through. Bookmarked!

Wow, it’s like domain pigeon only way better. Awesome.

It’s nice. It reminds me of domain pigeon, but the words it creates seem a lot more natural.

The first point is valid (visitors can’t explore a lot of the names until they sign up). The problem, in my experience, is that its very hard to make money from a site like this purely as an affiliate. Jorge, from hotnamelist.com, can attest to that fact too.

I’ve had a new feature on the todo list since the site launched that would let you do exactly that, but I’ve let a few technical hurdles stop me from implementing it.

Maybe this is the kick I need to get around to doing it.

A Long Road Forward

I’ve spent about a year working on Domain Pigeon and I’ve learned a lot in that time and I’m proud of what the site has become, but its time to start thinking about what’s next.

I’ve been tossing around a few ideas for what to work on and I think I’ve finally settled on a project. I’m very excited about it and I think it will be life changing for a lot of people.

I plan to use the following technologies to make it:

  • Python/Django
  • Flash/Actionscript
  • jQuery
  • Google Maps API

I could probably do it with Ruby on Rails and Prototype, but a lesson learned from a decade of Visual Basic work has taught me that it’s wise to learn something new for every project you undertake. In this case, I don’t have any experience with any of those things, so it’s going to take some time.

At some point in the next few months I’m also going to use the profits from Domain Pigeon to form an LLC to cover this project and any others I might start in the next few years.

I will continue to work on Domain Pigeon as time permits, but with only a few hours a day to work, this new project will be my priority. Domain Pigeon will continue to be updated daily with new domain and Twitter names and there are a few more major features I want to implement, but the days of small layout changes are at an end.

Lots to learn, lots to do.