Building Namebox

by Drew Wilson

Published

Yesterday at 7:30am I launched Namebox with the tweet below and this post is going to shed a little light onto how I built it in just two nights.

What is Namebox?

Namebox is a simple service I built to help you list your unwanted and/or unused web domains for sale. It's free to use and is built to make listing your domains super fast and easy. If you haven't yet, go sign up and share your domain list with everyone!

Two Nights

I've been tossing around the idea of a site where we can all share trade and sell our unused domains for a while now, probably two months. It wasn't until a couple weeks ago I actually bought the domain: namebox.io. At that time I had no intention of building it anytime soon.

That all changed though on monday night when I sat down at my desk and said to myself, "what if I could build this entire thing in one night?!" A rad challenge I had to take myself up on. However, six hours later (3am) I got tired and went to bed :) I started back up again on Wednesday night, because I take Tuesdays off instead of Saturdays. I had a normal day working on my other apps all Wednesday, then that night at 9pm I started up on Namebox again. I was completely stoked because I could feel that I was super close to finishing and I'd be launching it that night. But I was wrong. I worked all through the night and at 7:30am launched it all.

When I sat down on Monday night I had nothing but a few ideas and a domain name. So in those 16 hours of build time I designed everything from scratch, wrote all the back and front end code, wrote up the marking copy and FAQs, and everything else needed to launch a website. It's a new personal record for me and I couldn't be happier about it. Previously my record was building Space Box in 5 days.

How... HOW?!

I get this question a lot. Truth is, I didn't build it in 16 hours. It took 17 years to build lol! That's how long I've been making websites. I've been doing back end code since 2003. I have a lot of experience and can visualize design and code and the connection between the two all in my head. I know what's possible and what isn't. I know the quickest way to do most everything. Many other people can do this too, it just comes with plenty of experience doing both design and code all yourself on many projects.

The site is built on a custom PHP framework I wrote from scratch and have re-used on all my own recent projects. It's super duper light-weight and is great because I know exactly where things are when they go wrong and since I wrote it all, I understand how each piece works, which makes for super fast debugging.

The front end of the site is all custom javascript (using jQuery). Back in 2008 I wrote a JSON templater. It was built for my first ever commercial app Firerift. Since then I have never used a front end framework. I prefer to have as little code as possible and be able to optimize for speed anywhere and everywhere without having to "work-around" a framework. I don't think frameworks are bad at all, I just prefer to hand roll everything. By doing so it makes development and debugging super duper fast. Because again, I know what every piece of code is doing and where to find everything because I wrote it all.

Other than the logo and avatars Namebox uses zero images. Everything is drawn in CSS and the icons are from my Pictos Server. This makes development and retina support so incredibly fast.

Optimizationisms

I hope you're noticing a trend here. I optimize everything for speed. Not just the website itself, but my entire process is optimized for speed. And it's not done by having special meetings with fancy and clever names. No. It's done by building things over and over and having a pool of code resources to pull from. I didn't write a PHP framework for Namebox, I already had one. I didn't have to write all the code to handle users and data because I already have all that code from my previous projects. I didn't write all the front end code just for Namebox, I stole a bunch of helpers and functions from my previous projects. In fact I never once thought about how best to handle this or that in code because I'd already figured out good ways to do things in previous projects.

The path had been cleared for me, all I had to do was lay the bricks and Execute.

I'd encourage you to do the same if you want to experience speedy builds. Build stuff, tons of stuff. Over and over. After a few years you'll be at a point where a 16 hour build is easy too :)

Why

I was burnt out. I've been working on a huge (unreleased) update to Space Box for so long and consequently needed to ship something purely for fun. That's why I made Namebox: for fun.

I shipped a complete re-design to Space Box a few weeks ago and it felt great. I need that feeling a lot these days. Shipping is a blast, shipping new things is 1000X more blasty-er.

Launch Day

Launch days are always fun. So much interaction from customers and users. So much inspiration. So much good stuff.

Within the first 24 hours there has been 15,000 visitors to the site, 800 sign ups, and over 2,100 domains added to Namebox!

Namebox is a super simple app, so it's really quick and easy to add new features. That's what I spent my entire launch day doing: adding new stuff. I still have a few more things I want to add, and if you have any suggestions please hit me up on Twitter.

I hope you enjoy using Namebox as much as I had a blast building it!