James Stanley, a software developer from Bristol (England), explains how his side project generates him $750 a month. We asked him to tell us about his project.
Explain in short, what is the purpose of SMS Privacy?
I am a software developer, and SMS Privacy is my side project: it provides phone numbers that can be used online completely anonymously. You don’t even need to provide an email address, and you can use it over TOR and pay in Bitcoin. In general, it’s an anonymous VPN service for SMS.
How did you come up with such an idea?
I wanted to see what is required to set up an online pseudonym that was completely unlinked to my real identity. To lend my pseudonym some credibility I wanted a Gmail account, but you can’t sign up for it without verifying your phone number. The best option I could come up with was to going to a shop, buying a phone and a SIM card for cash, but that is expensive and inconvenient, and still links the pseudonym to my location.
So, I decided to implement an anonymous phone number service for others. I didn’t do any user research upfront, and I just started coding. It worked out OK for me, but in hindsight, I should have found at least some people, who would’ve wanted to use it, before I started coding.
As an aside, I wanted a VPS for my pseudonymous identity to use. So, I sent some Bitcoin to a VPS hosting company that takes such payments, yet when I wanted to launch the server, they wanted to verify my phone number! I immediately jumped on the support chat and said that I wasn’t comfortable with verifying my phone number and I would like a refund and, out of habit, signed off with “Thanks, James,” immediately revealing my real name…
They were fair about it and eventually gave me my money back, but it opened my eyes to how easy it is to slip up and compromise your anonymity: once you make a mistake, you can’t undo it.
What problems did you initially want to solve? What problems do you encounter now?
Initially, I provided numbers using an SMS API service, but I soon found out that the API service was blocking messages like “Your Google verification code is 123456”, making it completely useless for the use case I initially had in mind.
Now I have two workarounds for this: I provide voicemail support for some of the numbers. Some services can send signup verification codes as voice calls, so you can just let Google speak the message to you, and then you only listen to it to hear the verification code.
The other option is “physical numbers” – real SIM cards in real Android phones. When one of my phones receives an SMS, it forwards it to the SMS Privacy server, so that the user could see it in the interface. This system is great, as it means that there’s no reliance on the API provider. The downside is that I have to buy phones and SIM cards physically and whenever a user releases a number, I have to change the SIM card in that phone manually. I am struggling to meet the demands for this service. Whenever a number becomes available, it is bought within hours and the people who manage to buy one, typically hold on to it for a long time.
How did you find your first users?
I’ve seen a few businesses that accept Bitcoin, launched on the r/Bitcoin subreddit, so I just copied that. I submitted a link to the SMS Privacy homepage with the SMS Privacy tagline, and people liked it. I had three paying customers within 24 hours, which was an incredible feeling. In the past, it has always been a real struggle to get any users at all, so I knew I this project was a winner from the beginning.
I wrote a few more articles about SMS Privacy and posted them to various Bitcoin/privacy-related sites, and each time got a new influx of users. I haven’t done any deliberate marketing for the past month or so, and there are still multiple paying users each day. Most people find it from Google now, so I think it must have been up long enough to start gaining some real SEO juice.
Have you done everything by yourself? Where did you search for information?
Carl Sagan once said, “If you wish to make an apple pie from scratch, you must first invent the universe.” A lot of things needed to exist for SMS Privacy to become possible: the SMS network, the Internet, the Bitcoin network, cheap VPS hosting, this list goes on and on. I haven’t had any direct help with building it. I did all the coding and marketing myself. The Bootstrap CSS framework is a godsend: it makes it easy for non-designers to build web interfaces that look passably good.
I made the logo by googling “free logo generator” sites and used the first one that looked OK. That is also what prompted the orange-colored theme. If the logo generator had come up with a purple logo instead of an orange one, the site would have been purple.
The hardest thing to learn was the proper way to accept Bitcoin payments. The easy way is to use a Bitcoin payment service, but I strongly believe that the power of Bitcoin is not having to rely on any third-party services: you simply generate Bitcoin addresses and ask for payment. So, I wrote my payment processor, using the Electrum Bitcoin wallet to interface with the Bitcoin network. It works well enough for me but is far from being ideal. You can read about how it works here.
I also decided to practice what I preach and start A/B testing: this has been tremendously beneficial. A/B tests have been responsible for at least a 4x increase in revenue compared to what I came up with on the first try. Surprisingly easy to implement (about 20 lines of code to run the test and track the data and then about 200 to do the analysis). If you’re running a service that doesn’t use privacy as part of its selling point, then it can be even easier as you can use a third-party A/B testing service to do it for you. There’s no reason not to do A/B testing once you’ve reached the point where you’re making some money. It’s just a handle you crank to get extra money.
Where did the first revenue come from and what have you done to grow it since the start?
The first revenue came from those first pioneering users from the r/Bitcoin subreddit. I owe a lot to the r/Bitcoin subreddit, not just for the exposure that SMS Privacy has received, but also because it is the starting point for nearly all of my Bitcoin learning. I have learned an awful lot of fascinating stuff from that subreddit.
Marketing has always been my weak point. This is the first project where I’ve made a conscious effort just to write lots of content for people to read. It became clear to me that writing content is important just before I started working on SMS Privacy. I was browsing some company’s website because I bought their product and I was excited for it to arrive, but there was nothing for me to read. I was excited, and I truly wanted to know something they had to say about anything they considered necessary, and there just was nothing there.
So, for SMS Privacy I made sure to have lots of pages on the site with lots of info for people to read. That gives passionate users something to feed their enthusiasm with and also gives a lot more stuff for Google to decide to show your website in search results. Writing lots of content is a big win, and if you’ve written useful content, you can get away with posting it in relevant places without coming across as a spammer.
How do you get traffic now? Where do you see your greatest potential?
When I have something to say, I write an article about it, either on my Blog or on the SMS Privacy website. By far, the biggest source of new users is Google search. The most significant potential for future growth is a greater number of companies, implementing onerous phone number verification policies (smiles).
How did you optimize SEO?
I just write what I want to say.
I don’t put a lot of effort into SEO, I just write relevant pages, and then they match the appropriate keywords already. I think you get more benefit from spending an hour writing an extra article than from spending an hour trying to trick search engines into ranking your existing articles higher.
What is your revenue per month at the moment and where does it come from?
The last 30 days’ revenue was $750. I have no idea who is sending it as they are all anonymous (smiles).
Payments are currently split about 50/50 between the virtual numbers provided by the API service and the physical numbers in the Android phones. The fees for the Android phones increases linearly with the amount from Android phones I deploy, however, the amount of time I spend managing the phones also increases linearly. If that continues, I guess the limit case is that I’ll be spending every waking moment moving SIM cards around!
If you would start over, would you do anything differently?
I think the outcome would be more or less the same, I’d just get there faster. I would do more user research upfront to make sure I’m solving a problem.
I would also start A/B testing from the very beginning. I started running A/B tests after a couple of weeks and was blown away by how effective it was. It completely takes the guesswork out of making interface changes.