Tell us about yourself and what you're working on.
My name's Chris, and I'm a full stack developer and wannabe indie hacker from London, and also a YC alum.
I've been running Urlbox as a side business since early 2013 with a friend. Urlbox provides a simple API that allows users to automate taking a screenshot of any site on the web to use on their own site, blog, email, app, or as part of their own product or internal testing. We provide value to businesses where screenshots aren't the core part of their product or UI. This saves developers time and money because they can outsource screenshot rendering to Urlbox.
There are many use cases for why businesses might want to use Urlbox for taking screenshots. Yahoo! uses us to take screenshots of their various sports sites which they put out across social media. Some users want to display high resolution screenshots of a website in an inspiration gallery or place a thumbnail of a website next to a link on a blog or newsletter. Some users' products involve email marketing, and they want to preview how the email will look before sending. Finally, businesses may want to build a product that captures competitors' changes to their landing or pricing pages over time. Urlbox makes taking screenshots easier so users can focus their resources on the higher level features of their product.
How'd you get started with Urlbox?
In the end of 2012, I'd just arrived back to London after going through Y Combinator that summer — my YC experience had been amazing, but ultimately I had decided to part ways with my team.
I had a friend that I had met a couple years earlier while working in one of the many banks in London. At the time we both wanted to build something fairly small, niche, and self-contained that could start generating revenue from day one and then run it as a side project for semi-passive income. We had already released an iOS word game together, so we had a good idea of our own abilities, motivations, and work styles. At the same time, we used to daydream about creating a product that would earn us enough money to work on it full-time.
I suggested we build something like PhantomJS as a service. There were already services out there like ShrinkTheWeb that had validated the idea of producing shortcuts for screen capture and shown that such a service could attract large as well as small customers. We could build it in a weekend and start charging for it on the day of release, or so I thought! It's surprising how complex even the most simple ideas turn out to be.
We started to build out the initial product and, at first, we literally just used PhantomJS to render the screenshots. Then more and more sites started using web fonts and Phantom always had difficulty rendering them, so we knew we would have to rethink the rendering engine. In fact, font rendering is probably one of the main challenges when trying to render screenshots — especially when you're used to working on Macs but then you start rendering screenshots on Linux! The amount of time I've spent fiddling with font configs in Linux trying to get the most accurate looking screenshots is just crazy!
Having every publicly accessible website on the world wide web as a possible input to your program makes it difficult to test for every edge case. Instead of trying to test everything, we rely on users to tell us if something looks off on one of their screenshots and then try to fix that particular problem. We have seen some interesting websites over the years! The other big challenge is scaling (and all of the things that go along with that, such as monitoring and deployment) while also keeping an eye on costs. A lot of the time supporting Urlbox is spent doing devops activities, so it's important to have as much of it automated as possible.
What did it take to build Urlbox?
We had savings from our time working in the banks that would last long enough to get our first version of the product out. We estimated it would take about a month, but we ended up taking approximately three months! I could have gone on longer, endlessly optimizing meaningless things, adding features nobody would end up using, and micro-managing pixels for hours a day. I seemed to be more motivated by the fear of having the product insulted on Hacker News than I was by the hope of actually making money by getting it in front of a relevant audience. It was my friend who finally had enough and set us a hard deadline that I agreed to work towards.
After launch we supported ourselves by picking up a few contracting jobs. My friend went back to work at a bank and I started another startup where, after a while, I managed to get paid a small salary to cover the bills.
How have you attracted users and grown your business?
We launched in early 2013. We did the typical developer thing and ran out of steam once we had exerted all of our energy on developing the product, leaving marketing as more of an afterthought rather than trying to build up any audience pre-launch. This was a bad mistake! We put links on all of the "launching soon" and BetaList style places and tried reaching out to a few journalists in order to get an article written about us. We desperately cold-emailed loads of companies and web design agencies that we thought would be our target audience. Nobody replied!
We then posted on Hacker News and made it to the front page for half a day. Our infrastructure was very lean at the time and the site came to a grinding halt from everyone trying out the product on our front page. One of the journalists that we had previously emailed saw us on Hacker News and decided to write an article. To be honest, we didn't get tons of signups out of these attempts, but it helped with our SEO in terms of backlinks. To this day, one of the best sources of new visitors to our site is a simple "me too" answer we put up on Quora.
I try to ensure that any queries from users are replied to and answered as soon as possible. I think that quality support is important especially when customers are paying you. On more than one occasion it has been our high quality support that has led an existing customer to recommend us to someone else. What's more, I enjoy speaking with users and knowing that they're trying out a product that I've developed.
Right now we have roughly 9% conversion from trial to paid. Traffic to the site is very low, less than 100 sessions a day. We should focus more on SEO, and we haven't spent a dollar on ads or promotions yet, although this is something I'm going to look into now that we have some profits to reinvest.
What's the story behind your revenue?
Generating revenue from day one was one of the reasons we chose to build a focused, niche product like Urlbox. We're UK-based and, at the time, Stripe wasn't available in our country, so it was quite painful trying to find a good payments provider that didn't charge a ridiculous amount. We initially had three plans for $9/$29/$99 a month for increasing numbers of unique screenshots, plus custom plans if users' needs were larger. We never had a free plan. It's something we thought about, but we wanted to give the impression from the outset that this is a quality product and is worth paying for. We do have a free trial though!
After launch we had a few trial signups and had our first paying customer sign up out of the blue about one week after. Even though it was only $9.99 a month, it gave us some hope! Since then the signups have been fairly steady, and that's good considering I haven't been putting much marketing effort into it. I emailed Patrick McKenzie (patio11) shortly after launching, and he replied suggesting we raise prices. I finally decided to put that advice into practice and increased the prices a few months ago. We now have plans for $29/$99/$199. This has had the effect of increasing revenue, and we get to deal with a less painful class of customer. Last month we made $3,750 in revenue and, if current growth continues, we should hit $5k by year end.
Here's a chart of our revenue between December 2014 and the beginning of Oct 2016: (Please note values are in £GBP.)
What are your goals for the future?
I want to get more experienced at internet marketing and SEO — figuring out what works and what doesn't — as it would be valuable not only for Urlbox, but also for any other products that I work on in the future.
I really like the idea of making a living by selling products rather than selling time, but you need time and money in order to make a decent product. I'd love to be able to build another product similar to or larger in scope than Urlbox and grow that using some of the lessons I've learned from Urlbox, YC, and my other startup experiences.
I like the freedom that indie hacking can potentially offer — not just freedom to set your own schedule but also the creative freedom to build and learn whatever you want to. I also always intend to start a blog and write about this kind of stuff too as I find it interesting, but I never seem to get around to that.
If you had to start over, what would you do differently?
I would start focusing on marketing earlier. A lot of devs like myself do things the wrong way round and leave marketing right until the end or just before launch. By then, you're most likely to be kind of drained, and quite frankly you won't feel like delving into the murky world of SEO, ads, and social media where a lot of it comes down to trial and error. You cannot just write a unit test for these things and expect them to work. I would say this is a bit like eating your greens — you know you should do it and it would be good for you, however you can't always summon the motivation or sometimes courage to do it.
I definitely would have tried to get to release a lot quicker than we did — I spent too long trying to make the website look nice — while I think that these things matter, I realize the need to prioritize and remember that design can be improved over time. I also would have listened to patio11 earlier and raised prices when he suggested rather than 3 years later!
What things have been most helpful to you?
I'm inspired by the likes of Patrick McKenzie and Nathan Barry and am really grateful to them for sharing all of their knowledge and experience. YC's advice and Paul Graham's essays are really helpful and can be applied equally to small side projects as to big, change-the-word ideas. It's all available on the web now, so no excuses not to read or view it.
In terms of good decisions we made, I'm proud that the architecture of Urlbox hasn't changed since launch and continues to enable us to scale out horizontally as we take on more and bigger clients. I also think we've been good at saying no to various feature requests that were highly specific to someone's use case but would not have benefited many other customers.
What advice would you share with aspiring indie hackers?
Be realistic with your goals. It takes time for small projects like Urlbox to start taking off. (Although there are obviously things you can do to shorten that time if you try hard enough.) Even now, compared to other products on Indie Hackers, Urlbox is small and it's been running for over 3 and a half years. So don't expect to get rich straight after launch!
I'd say it's important to set deadlines and try to work towards them. You need to have a certain level of self-discipline, otherwise you can go on programming a lot longer like I did. It's natural to worry about being criticized on internet forums — that's always going to be par for the course — but if you're not embarrassed by your product when you launch then you're not doing it right ;)
Also, exercise is important. (That was the only other thing PG allowed us to do during YC!) If you're working on your own and spend a lot of time coding and thinking in solidarity, it's important to get out from time to time, otherwise you will end up going mad! I would also recommend trying to find a partner or mentor, someone with whom you can discuss your ideas and who will challenge you on your decisions.
Where can we learn more about you?
On Twitter I'm @cjroebuck and I'm cjr on the IH forum and HN. I've also co-founded and developed bluebookacademy.com, a site for people doing the CFA (chartered financial analyst) exam who want a virtual tutor to mentor and coach them through it. I'm currently looking for the next big thing, so if anyone has any ideas and wants to work together please do get in touch!
You can also leave a comment below, and I'll try to get back to you: