Everything good starts with a problem. Last Friday, I had one. I couldn’t receive an SMS from my bank in Australia, due to my choice to live, travel and work overseas.
It was infuriating. But then I thought: Surely I’m not the only person with this problem? There must be other poor nomads suffering like me.
I tweeted about it:
And I found out that most other nomads felt my pain.
When faced with an obvious problem shared by many, what should you do? Fix it.
So I built Nomad SMS
To me, the solution was simple – an online solution that allowed you to:
- Buy a local number
- Receive SMSes to that number by email
My first thought was to check out Twilio. I’d work on some other products in the past that integrated with their API, but could they handle new number creation and receiving SMSes?
Yes, and very easily.
But this was really just an idea at this stage, and I’m a big advocate for the whole ‘lean startup’ / ‘rapid-prototyping’ approach. I didn’t want to spend months trying to make this into a reality. It was the weekend, I had some time, so I wanted it done fast and efficiently.
I ended up using the tools I already know and love. Rather than trying to learn a new application framework or build it from scratch, I decided to use WooCommerce, an e-commerce plugin my company WooThemes makes, which is also built upon WordPress.
This could lead to a challenging and confronting discussion on why this was a bad idea and how WordPress is the wrong choice, but that’s not my point. Using WooCommerce enabled me to turn this into a reality with just a couple of days of work. I didn’t have to worry about how I’d handle payments or subscriptions management, accounts and variations. All I had to focus on was writing some simple code that integrated with the Twilio API.
So I already mentioned WordPress + WooCommerce as my platform of choice. I wanted to keep it really simple, so I built a home page where people could choose their countries. It looked really bad at first – I don’t think I even had a screenshot as development was just so rapid, but initially it was literally just a select input to choose a country.
Once you chose a country, you’d see 3 random available numbers. You’d then choose a number. It’d take you to checkout, you’d enter in your CC, send me some money, and I’d buy the number and set up an account for you to view SMSes in + email SMSes to you.
Simple enough, right? There are more features I could have added and some that I do plan on adding soon, but this isn’t about building the ultimate solution. If you read about how other startups like Baremetrics started, you can see that there is value in just building something. Just look at what @levelsio is doing with a new startup every month. I’ll say it again: It doesn’t have to be the ultimate solution. Just fucking build it.
Pricing is always hard. I needed to structure in a way that was fair to customers but always allowed me to build a sustainable business. I think I did a decent job, with pricing from $5-$10 / month for unlimited received SMSes to your new custom number. I need to add annual subscription pricing too, so I can reward customers committing to a full year.
I’m planning to use a different provider from Twilio soon that has more competitive pricing, so I’ll be able to drop the prices for customers too, hopefully bringing the monthly price down up to 50%.
After 2 days of coding, testing and designing it, Nomad SMS was ready to go.
But now how could I get users, customers or just some hits?
I let my team at WooThemes know about it. They were extremely helpful in sharing it amongst their friends. Seeing it’s powered by WooCommerce, our flagship product, I even got a tweet!
Then the big one happened:
But this was different. It was my own personal product featured on the home page. I was touched, honoured and nervous. It was a great experience and just really cool to have so many people visiting my product in such a short time!
You can see that when it came to Referral traffic, Product Hunt was the leading force (85%!). Amazing to see how such a relatively new product/link aggregator can have such a big impact.
It seems I got some attention on a Russian Tech site too – cool!
I made a lot of mistakes. This is probably the first real SaaS product I’ve built that isn’t a WordPress plugin, so I was bound to mess up eventually. I like to be honest, so here are some of them.
- Capturing Emails – I only realised afterwards that it would have been good to have a mailing list sign up form too, even just so people could sign up for updates or to find out when new numbers are released. I definitely missed out on a lot of future customers because of this.
- Details – I didn’t know until after it launched that short codes couldn’t / wouldn’t send messages to my numbers as they have very strict regulations on where messages can go to. It’s not a big issue, as most services that use short codes are very big and will often also have a ‘long code’ number they can send from too. However, it would have been nice to know this first.
- Suppliers – I really should have shopped around for different suppliers first. I just presumed Twilio would be the best, and while they’re definitely a great service and have a lot to offer (with an awesome API too), I probably could have / still can save money using a competing service.
- Checkout – I’m a little embarrassed about this but honesty is the best, right? I should have tested checkout from a customer perspective before launching. It didn’t work for half the day due to a stupid typo. Lesson learnt!
- Yearly Packages – I wanted to offer an annual discounted subscription at first but again, it would have delayed me so I left it for later. I think this would have been worth the extra effort though, but is something I’m just going to add during the weekend now.
Nothing. I’d like to improve it a bit and add some new features, automate a few things a bit better and try cut down pricing, but it’s just a weekend project. It’s important that as developers, we work on our side projects but I truly believe they should stay as side projects for the most part. When a project is ready to grow up and become a fully fledged, full-time product, it will. But for me, I’m enjoying the wait.