Our first customers were the exception
We started Responsive in April 2023 to build a platform for running event-driven Kafka applications. By April 2025, we decided to abandon that plan. In between those two points in time, we achieved some meaningful milestones, the most important of which is closing real customers and making real revenue (we crossed $1M run-rate revenue for a time).
Through this journey, we got a first-hand education in one of the cardinal rules of startups: if a great team with a great product meets a bad market, the market always wins. Of course, we knew this rule going in. Every founder worth their salt does. But just like every founder worth their salt, we didn’t think we needed to worry about it.
Here’s the story of how we eventually figured out and accepted that we were in a bad market.
Our story
Part 1: Starting fast
We got out of the blocks really fast. Our original product solved scalability and reliability issues with Kafka Streams, a popular stream processing library. Our founding team had built a lot of the core technology of Kafka and Kafka Streams at Confluent, and we understood the problems users were facing really well.
Even so, we were really surprised that it only took us a couple of weeks to find a company that was struggling with the reliability of their Kafka Streams apps and wanted to talk with us about a solution. We didn’t have a website or a product. We just messaged a person who was talking about their problem on the internet, and got a response. It was literally our first outbound message!
From there, things went really well. By June 2023, we had built a product for this prospect, and they were trialing it. By October 2023, they signed a high five-figure contract and were ready to go to production. I still remember sending them their API keys in a 1Password note. They literally onboarded to production with that.
We really felt we had strong product/market fit. Our first outbound resulted in a deal. And we still didn’t have a website!
Part 2: The good months
In parallel to building our product and onboarding our first customers, we started investing heavily in our marketing in the fall of 2023. Our strategy was to invest in high-quality and deep technical blog posts on how to solve reliability and scalability problems with open source Kafka Streams.
This content didn’t exist on the internet, and we were the best team to write it. We were also nudged by one of our customers, who kept telling us to convert our long Slack messages explaining the internals of Kafka into blog posts. They said they would appreciate this content.
The bet was that if people were struggling with reliability and scale of Kafka Streams apps, they would land on our blog. And once they did, they would learn about our solutions to those exact problems, and we could start a conversation that would lead to a sale.
Our content worked. The graph above shows how our content performed on Google search in 2025. You can see our top 3 posts by click-through were published during the fall of 2023 and spring of 2024. And these 3 posts were exactly focused on the problems our product solved. The people clicking through to them were looking to solve a problem we could help with.
So we had people who had the same problems as our first customer showing up on our website looking to solve those problems. We believed we should start seeing a flood of customers once we learned how to convert this top of funnel.
Then, around June 2024, we introduced usage-based pricing and landed our first expansion. The usage growth of our initial customer cohort combined with usage-based pricing meant our revenue growth accelerated sharply through the end of 2024.
This made our business look great. And indeed we felt great. More importantly, it gave us the confidence and runway to run the real test: could we turn this early pull into a repeatable sales motion?
Part 3: The cracks
However, at no point since we launched our website were we able to repeatably convert our website traffic to customers. This was the first clue that something was wrong. We had way more social proof and a far more polished product than a year earlier. Yet closing customers felt like it was getting harder.
In the summer of 2024, we attributed this impasse to a lack of selling skills. So we brought on a couple of sales reps. One of the reps was Confluent’s first sales rep, who had done fabulously well selling Confluent’s first deals. We felt they would be able to figure out our sales issues.
You can probably guess how this story ends. The salespeople were no more successful at converting our website visitors to customers than we were. In general, salespeople can help scale a working motion. They rarely discover one that the founders themselves cannot find.
In this period from June 2024 to the time we pivoted in April 2025, I probably had dozens of calls with engineers who were dealing with precisely the problems we solved. Some of them were staunch advocates for us inside their companies. But excruciatingly few of these prospects actually converted to paying customers. And none of our deals were super meaningful in terms of size and growth potential.
Part 4: The pivot
By March 2025, having been unable to sell meaningful deals, our salespeople left. More importantly, our attempt at sales revealed a clear pattern: while developers struggled with Kafka Streams reliability and scalability, their companies really didn’t care.
Our initial success turned out to be the exception. In hindsight, we had already found the small handful of companies that demanded extreme reliability from their Kafka Streams apps and were willing to pay for it. To our dismay, that set was vanishingly small.
The other nail in the coffin was the lack of growth of the Kafka Streams install base as a whole. When we started the company, we already knew that the industry was coalescing around Apache Flink for stream processing. Our bet was that if we invested in marketing Kafka Streams and fixed the structural issues that plagued its reliability at scale, it would get back onto the strong growth curve it once enjoyed.
We were wrong. The growth didn’t come back. We had completely picked over a niche that simply wasn’t growing.
Put this way, pivoting felt like the obvious choice.
Lessons
Looking back, our market was broken in two independent ways, and either one on its own would have been enough to sink us.
Companies, not people, need to have a burning need
Ultimately, companies either have burning needs or they don’t. And if they don’t, there is nothing you can do to get them to buy your product.
The key word in that sentence is ‘companies’, not ‘people’. We learned that these are not the same thing the hard way.
Thousands of developers around the world wanted our product—an unreliable Kafka Streams app was a thorn in their side and they wanted their issues fixed. But a few developers suffering a bad oncall rotation due to unreliable Kafka Streams apps didn’t constitute a burning need for most companies. The companies could tolerate that problem. And companies don’t open their checkbooks to solve problems they can tolerate.
This played out in many ways. But in every situation, once we got past talking to the developer, we would just get stuck. Their managers wouldn’t act on our proposals, or would simply ghost us. Budgets would freeze mid-discussion. We’d be asked to sell through one of their existing vendors. And that’s only counting the cases where we actually heard back!
You can’t change a market
In hindsight, the decision to try and resuscitate the Kafka Streams market was doomed to fail. Once developers move on from a technology, there is very little that you can do to bring them back.
I’m pretty convinced that even if we had an order of magnitude more customers for our Kafka Streams product, we would have had to move beyond Kafka Streams fairly quickly to continue growing.
Execution still matters
If there is a silver lining from our first two years, it’s that we figured out our market was unsalvageable without spending too much time and money. We built the product quickly, had the best content in the category, and we made multiple attempts at building a sales motion.
A high level of execution meant we could be decisive about the pivot and commit to it fully. Had we not executed aggressively against our original plan, we would simply have come to the same realization later, thus wasting precious time and money.
Till next time
Deciding to pivot was rationally obvious, but that didn’t mean it was emotionally easy. The decision forced a complete mental reset. We were essentially starting the company all over again. But this time, we already had employees, customers, and investors. And we had already been burned once.
Choosing to embrace that uncertainty rather than sell the company—and we had options to do that—is a decision I’m really proud of. It’s also a testament to the quality of the people on our team and our mutual compatibility that we stuck together through this process.
Next time, I’ll talk about those eight months between April 2025 and Jan 2026 when we figured out our new direction. It is a story of false starts and false hopes, of grinding through hundreds of discovery calls, of stress and arguments, and a lot more. It’s the unglamorous part of doing a startup that you typically only hear about after people are wildly successful and are looking back with rose-tinted glasses.