Bootstrapping the Moonlight marketplace as a digital nomad
I built Moonlight, a profitable web business, with a two-person team and no funding. All we started with was an idea and a tiny bit of social proof.
I had convinced my co-founder Philip Thomas to leave everything behind in San Francisco, to live and work remotely in cities around the world. We had little personal savings, not much of a plan, and wanted the freedom to live the way we wanted. So, we hopped on a plane to Mexico with an Airbnb reservation and little else planned.
I am a product designer, and Philip is a software engineer. We knew we could make money hourly with our tech skills and Bay Area network. But, despite our credentials and qualifications, we still had trouble finding high-skill contract work outside of our personal networks. So, we started Moonlight, a platform to find, hire, manage, and pay high-skilled remote software developers. Our clients now range from startups to hedge funds to publicly-traded companies.
Ten years ago we would have needed a small army and a large bank account to build Moonlight. Today, there are enough self-serve tools that made starting Moonlight easy enough for one engineer and one designer to accomplish! The barrier to becoming an entrepreneur lowers more every day, and, in this article, I want to share the tools we used to shortcut our way to revenue.
Proving the idea
We had the basic idea for Moonlight, but we wanted to test the market before we invested months of our time building an app.
We launched a landing page with Squarespace and Typeform. For about $50 a month, we had a way to test our value proposition and capture customers. About 100 developers signed up every day for the first few months — developers and designers saying they were interested in working through Moonlight. This response validated our initial hypothesis that other freelancers had the same problem as we did.
We were ready to start building the MVP product — and that meant figuring out a way to collect money. The traditional route would have required a law firm and $10K. We incorporated the business through Stripe Atlas. For only $500 and some paperwork, we had a C-Corp, and a corporate bank account to start managing payments.
Tools used: Squarespace, Typeform, Stripe Atlas.
Pulling together a no-code prototype
Right before we left the Bay Area, Y Combinator accepted us into their inaugural Startup School online course. The program was free and entirely remote, which meant we could join mentoring sessions and courses from Mexico City.
Before we left, Startup School invited us down to Stanford to record a live “office hours” session with partners from Y Combinator. The class featured two other companies and us having our business plans dissected and analyzed.
As two people who know how to build products, we thought we needed an app to begin processing payments. The main takeaway from the office hours session was that we could start making money by prototyping the whole hiring process manually. So, we combined tools like Zapier, email, and Typeform into a fake app.
Over the next few weeks, we defined and implemented a process for matching developers on projects, setting up interviews, helping companies make a final selection, and processing weekly check-ins, invoices, and payments. We ran this manual process using free or inexpensive software tools.
Tools used: YC Startup School, Google Drive, Mailchimp, TransferWise, Typeform, Zapier.
Layering on automated software
We had prototyped the MVP experience without writing a line of code and had processed about $50k in transactions. We had taken lots of time to experiment, design, and develop the full experience.
Nine months after we thought of the initial idea for Moonlight, we publicly launched the first part of the application. We were able to use a lot of open-source software, such as Vue.js and Bulma, to get a working application out quickly.
Marketplace payments are at the core of our application, and we leveraged many tools to build this workflow quickly. Stripe saved us months of development time by providing tools that make it easy to collect payout from developers, credit card information from clients, and to create complex payment flows with minimal code.
Although the app was far from complete, we started getting a lot more feedback from customers right away from the app. This feedback helped us quickly define what the rest of the experience needed to be as an MVP.
Tools used: Clearbit, Google authentication, Stripe Connect, Intercom, Vue.js, Bulma, Contentful.
Launch it!
More than a year after we thought of the idea, we launched the MVP Moonlight application! We had taken a year to understand the needs of our users deeply, and create a lean and automated product. Communities like Product Hunt, Hacker News, and the Stripe Atlas Forum helped us to get some early users.
Because there were so many tools to help us get started, we never had to rush into building infrastructure before having a concrete, validated idea of what users wanted.
This version of the product had a lot of custom-built components but also leaned heavily on open source software and third-party tools. It was far from perfect, but an excellent experimentation bed to iterate.
Tools used: Product Hunt, Hacker News, Kubernetes, Cloudflare.
The future
We are still learning from users and other entrepreneurs every day. The product is good at matching developers and companies, sending weekly invoices, and paying out workers on time. It lets us experiment quickly with the future of work ideals we believe in.
Next up: We’re still traveling the world while we build Moonlight remotely. We’ll be in London for the next few months. On our roadmap: testing out some crazy new ideas on how to structure the future of work (Think flexible, but stable!). Keep an eye on our blog, Instagram, and Twitter for updates!