Today, we’re launching Lumber: a command-line interface that generates an admin microservice for your application. We thought it’d be interesting to share what went into its making and why we’re doing it now.
🔥 Fire in the hole
Last June, we soft launched our main product: Forest. It did really well, racking up over 1.3k upvotes on Product Hunt and, most importantly, gave us plenty of feedback to reflect on. Among other things, we realized we were missing out on many potential customers because of a purely technical limitation.
Indeed, at the time we could only onboard projects in Rails or Express. That made up a big chunk of our initial target but, still, we were not suited for many of the more exotic stacks all the cool kids are using. Soon after the rush was over, we went back to work, keeping this learning in mind while thinking of new ways to improve the product.
Onboarding new projects is a major area of focus for us since it’s always been tricky. We have no idea what the codebase of our clients looks like, all the while trying to provide them with a customized admin interface. Automagically ✨.
👾 Building for developers
Ever since we started working on Forest, it’s always been about developers — much like Steve Ballmer below. We’re all techies on the team, even though everyone isn’t necessarily putting their hands into the actual code.
This means we mostly interact with other coders, and we’re really keen on implementing their input back into the product. That’s also why we set out to build something that would make our techie lives easier, by solving a pain that’s all too often underestimated: the admin.
With the visibility that Product Hunt gave us, as well as conversations with lots of interested developers, we noticed a trend in their feedback. An increasing number of startups were looking at the microservice architecture as a way to maintain internal velocity and enforce cleaner code.
In that kind of setup, it makes so much sense to have your admin as just another service that is independent from the other ones, has its own API and secured access to the database. It just feels better to have this particular, sensitive logic encapsulated in its own app.
Bearing that in mind, we kept on improving the main product that was still living on top of production applications. Nevertheless, we always had an inkling that this other approach could present a powerful twist to how we integrate with our customer’s apps.
💡 Trying something new
Fast forward to a couple weeks ago, we were looking at new ways to onboard our users. Once again, we ended up talking about this architecture. In all fairness, it did help that it’s picking up steam within the community at large — the latest example coming from none other than Sequoia Capital, with their Innovate or Die: the Rise of Microservices piece.
We were in San Francisco, meeting with executives from successful, growing companies and we were faced with microservices powering their businesses. That’s when we finally decided to give it a serious try. We hacked together a proof-of-concept over the course of a weekend, effectively showing how it would work. After fixing a few bugs, adding a neat interactive console, and putting up a quick landing page, it was ready for prime time.
Remember our technical limitation to Rails and Express? That’s a thing of the past now. With Lumber, we’re lowering the friction to use our services: you just need a MySQL or Postgres database to get started! Sounds good right? We think so too. And that’s particularly relevant for us right now, as we’re moving toward scaling adoption of our product. Basically, we want to have Forest installed on all the new and existing projects you’re working on.
🤗 Putting it out there
So here we are, a couple weeks later, presenting it for everyone to try. We’re really excited to see what you guys will do with it, and hope it will enable every one of your projects to come — regardless of whether it’s a side project, an MVP, or the next unicorn 🦄.