Latest / The Founder's Journey with Fexingo: First-Time Entrepreneurs, Failures, and Lessons Learned / How a Founder Used a Rejected Tool to Build a 30M Business
Transcript
- Lucas: So picture this: you build a tool that solves a problem you personally have, you show it to potential customers, and they all say 'no thanks, we already use something else.' Luna: That's basically every failed startup, right? Lucas: Usually, yeah. But what if that tool isn't even the product you're trying to sell? What if it's the thing you built to make your actual product, and that 'rejected' side project ends up becoming way bigger than the original company? Luna: I feel like you're heading toward a specific story. Ruby on Rails? Lucas: Exactly. Today we're looking at how David Heinemeier Hansson—or DHH as he's known—created Ruby on Rails as a byproduct of building Basecamp, and how initial rejection from the enterprise world forced him to take a completely different path that turned Rails into a thirty-million-dollar ecosystem. Luna: Thirty million? I thought Rails was free open-source software. Lucas: It is. The framework itself is mit licensed, meaning anyone can use it without paying a cent. But DHH and his company, 37signals—now called Basecamp—built a whole ecosystem around it. Consulting, training, hosting, and the goodwill that translated into their main product's growth. The thirty million is the estimated annual economic impact of Rails-related services and products that 37signals and its partners generated by the mid-2010s. Luna: That's wild. So the rejection actually pushed them into a smarter model? Lucas: Let's start at the beginning. In 2003, DHH was building a project management tool for his small design firm. He was using PHP initially, but he got frustrated with how messy the code got. So he switched to Ruby, a relatively obscure language from Japan, and started extracting reusable pieces into what he called 'Ruby on Rails.' Luna: And then he tried to sell that framework to other companies? Lucas: Not exactly the framework itself, but the idea of using Ruby on Rails for enterprise development. He pitched it to a few large companies, and the response was basically: 'Ruby? That's a toy language. We use Java or.NET. Come back when you're serious.' Luna: Ouch. But that's totally fair from their perspective. Java had the ecosystem, the certifications, the vendor support. Lucas: Right. So DHH had a choice: try to convince the enterprise market he was right—a losing battle—or find a different audience. He chose the latter. In July 2004, he open-sourced Rails under a permissive license and released a twenty-minute screencast showing how to build a blog in fifteen minutes. Luna: That screencast became legendary. I remember watching a version of it years later. Lucas: It was the first time many developers saw that web development didn't have to be painful. Rails introduced the concept of 'convention over configuration'—meaning Rails makes assumptions about what you want to do, so you write less code. Instead of configuring every little thing, you just follow Rails' naming conventions and it works. Luna: Which sounds obvious now, but at the time, Java frameworks like Struts required pages of XML config files for even a basic app. Lucas: Exactly. So Rails attracted a community of developers who were tired of that overhead. They were mostly indie developers, startups, and hobbyists—the people the enterprise market ignored. And that community became Rails' distribution channel. Luna: So the rejection from big companies turned out to be a filter. It kept out the people who wouldn't 'get it' and attracted the ones who were hungry for something better. Lucas: That's a perfect way to put it. By 2005, Rails had over a thousand contributors on GitHub—back when GitHub was still a young platform. The community was writing plugins, gems, and tutorials. DHH didn't have to build all that himself. He just set the direction and the guardrails. Luna: What were some of those guardrails? Because I know Rails has strong opinions. Lucas: The biggest one is 'convention over configuration' that I mentioned. Another is 'Don't Repeat Yourself'—DRY. And then there's the 'boy scout rule': always leave the code cleaner than you found it. These aren't just technical guidelines; they're cultural norms that made the community self-policing and welcoming to newcomers. Luna: And meanwhile, Basecamp was growing. So Rails was both a side effect and a driver of that growth. Lucas: Exactly. Basecamp itself was built on Rails, and when customers saw that Basecamp was running on this new framework, some wanted to use it too. But more importantly, Rails made Basecamp easy to customize and extend. That flexibility helped them win clients who might have otherwise gone with a bigger platform. Luna: So the rejection essentially forced them to build a community instead of chasing enterprise contracts. And that community ended up being way more valuable. Lucas: Let's talk numbers. By 2006, Rails was powering Twitter's early infrastructure—before they switched to Scala. In 2008, GitHub launched, built entirely on Rails. Shopify launched in 2006, also on Rails. Airbnb launched in 2008 on Rails. These aren't small companies. They're multi billion dollar businesses. Luna: And none of them paid a license fee to 37signals. But Rails made them successful, and that success reflected back on Basecamp. Lucas: Right. The indirect benefits were enormous. Every time a developer learned Rails, they became a potential Basecamp user. Every time a Rails-based startup got funded, it validated the ecosystem. DHH and his partner Jason Fried wrote books like 'Rework' that became bestsellers. They gave talks at conferences. They built a brand around being the anti-enterprise, the bootstrappers' heroes. Luna: I remember when they released the book 'Remote' and it was a huge deal. They were basically saying 'you don't need an office' years before the pandemic. Lucas: And all of that was fueled by the credibility Rails gave them. So when we talk about the thirty-million-dollar figure, it includes consulting revenue from Rails projects, training workshops, hosting services like Rails Machine—which they later sold—and the premium version of Basecamp that they could charge more for because of the ecosystem. Luna: Wait, they sold Rails Machine? I didn't know that. Lucas: In 2011, they sold Rails Machine to Engine Yard, a cloud hosting company. The terms weren't disclosed, but it was a significant exit. And the whole time, DHH maintained control of Rails itself. He's still the benevolent dictator for life of the framework, even though he doesn't code as much anymore. Luna: That's a smart move. Keep the core asset, spin off the services. Lucas: It's a lesson in itself. Most founders think their product has to be the thing they sell. But sometimes the most valuable thing you build is the tool you use to make the product. And if you can't sell that tool to the enterprise, don't force it. Give it away to a community that will love it, and the money will come back in other forms. Luna: I think a lot of founders hear 'rejection' and think they need to pivot hard or give up. But DHH took rejection as a signal to change his distribution strategy, not his core idea. Lucas: Exactly. The idea—a framework that makes web development simpler—was solid. The problem was the channel. By open-sourcing it, he found a channel that was perfectly aligned with the product's strengths. Developers love free, they love simple, and they love being part of something that feels like a movement. Luna: And that movement is still going. Rails 7 came out in 2021, and it's still used by thousands of companies. Not bad for a 'toy language' framework. Lucas: If today's conversation gave you a useful lens for thinking about your own rejected side project or tool—the way these episodes stay ad-free is listener support. You can buy the team a coffee at buy me a coffee dot com slash fexingo. That's buy me a coffee dot com slash fexingo. Luna: Yeah, it's a small gesture that keeps the show independent and lets us keep digging into stories like this one. Lucas: So back to Rails: one of my favorite details is that DHH never set out to build an ecosystem. He just wanted to ship Basecamp faster. But by paying attention to the friction he felt, and by being willing to share the solution, he accidentally built something bigger than the product itself. Luna: I think that's the takeaway. Sometimes the best business move is to solve your own problem well, then give that solution away. The market will find you. Lucas: And if the enterprise says no, that's not a dead end. It's just a sign that your distribution model needs to change. DHH proved that the people who say 'no' aren't always right. Sometimes the people you least expect—the hobbyists, the indie developers, the bootstrappers—end up building the future. Luna: And they did it with a framework that was written in a language from Japan, created by a Danish guy, and run from a small office in Chicago. That's the kind of story that makes you think global from day one. Lucas: Absolutely. So next time a potential partner or investor tells you your tool isn't serious, maybe thank them. They just saved you from competing in a market that's already crowded, and pointed you toward a community that's hungry for exactly what you've built.