"What you're building is the holy grail for developers. No one has succeeded so far." 🏆 ☠️
This is the feedback from Y Combinator when Martin (my twin brother) and I applied with Wasp for the second time in May 2020. At that point, we had worked on Wasp for 1.5 years, the last nine months full-time. We had quit our previous jobs and gone all in.
Today, Wasp has over 15,000 stars on GitHub. Even more importantly, developers of all backgrounds have used it to develop thousands of web apps, from side projects that have grown into acquired or revenue-generating businesses to venture-backed startups and internal tools deployed within Fortune 500 companies.
Some people have grown to love Wasp and the vision it pursues. Thanks to them, we enjoy working on it. Without the community that gathered around Wasp (>4,000 devs in our Discord), we wouldn’t have been even close to where we are today. For them, we keep pushing towards the holy grail we promised.
Our work has just begun - but we’re more excited about it than ever.
The journey - getting from 0 to 15,000 stars
As with most success stories, the success rarely happens linearly. It usually starts with a long period of "drought" with occasional signs of life, and then there is a moment when things click together and start moving really fast. We experienced the same, and it looked something like this:
The inception - “Why not?”
In the beginning, Wasp was just an idea—or rather, a question: "Why hasn't anyone built this yet? What would we discover if we tried?" After spending a decade building web apps and using every major tech stack (from PHP to Java and Node.js on the server to Backbone, Angular, and React on the client), we were feeling the pain of "framework fatigue," aka reinventing the wheel with each new stack.
So we set out to start thinking about it and put things on paper (ok, Google Slides). This is how the original idea for Wasp was born - can we create a framework that removes a lot of boilerplate by offering higher-level abstractions, but is still flexible enough and is not strictly bound to the specific stack and architecture?
Now looking that, it really does sound like a holy grail.
Getting in YC and things getting real
We had already quit our jobs a year ago and were quite exhausted and doubtful of the whole concept. We were getting some early traction and received promising feedback from Reddit, Hacker News, and Product Hunt, but we also started realizing how much work is needed to bring a full-stack web framework to a state where it’s usable, especially with the ambitious requirements we set for ourselves.
Finally, we got into YC the third time we applied for it. They were following our progress for the last year and, having seen the community excitement, decided to take a bet on our crazy idea.
Beta and beyond - MAGE and OpenSaaS
Looking at the graph, you can spot two key inflection points. The first one happened in July 2023 when we launched MAGE, a GPT SaaS starter that uses Wasp under the hood (you can think of it as one-shot Loveable/Bolt). It was among the first LLM products that could generate a working full-stack web app, bringing many eyes to Wasp.
The second major growth catalyzer came in December 2023 with the launch of OpenSaaS, our open-source SaaS starter built on top of Wasp, which now has almost 10,000 stars on GitHub.
We realized that most builders really want to start working on their idea as quickly as possible without picking out and patching together all the different features every SaaS needs - authentication, payments, admin dashboard, sending emails, blog, …
And this is exactly what we provided - a 100% free & open-source, high-quality, SaaS starter based on React, Node.js, Prisma, and Wasp. OpenSaaS basically became a “killer app” for Wasp as it attracts developers to try it and realize how helpful the framework is.
Open SaaS also pairs extremely well with Cursor - given Wasp’s robust structure and higher-level primitives, many developers have found it as an ideal combo for getting their SaaS-es from an idea to a production-ready app in a matter of days.
Language/DSL vs framework - so which one is it?
As you can see from the examples above, we used to refer to Wasp as a language, DSL - a Domain Specific Language. It was for these reasons that we originally set out to have an abstraction layer that can, in the future, work with any language, library, and architecture.
For this, we needed to introduce our own compiler that would first analyze your app’s specification that you defined via Wasp (e.g., your routes, async jobs, db operations, …), combine it with the “native” code you wrote in React & Node.js, and finally generate a React/Node.js app. That effectively meant we’ve invented our own language, albeit very limited and simple.
This is how we initially presented Wasp, but we learned that is the wrong way to think about it. Wasp is by its function a web framework, just like Laravel, Rails, or Next.js. The fact that it uses a compiler under the hood is simply an implementation detail that gives it its superpowers. For example, thanks to this approach, we can easily visualize the topology of your whole app, from database to server and client components:
The road to 1.0 and building the next-gen framework
This is the story of how Wasp came to be where it is today. For more details on the very early days (getting from an idea to the first 1,000 stars), you can check out this post.
What’s next? After almost five years of building and getting feedback from you, we have a pretty clear picture of what Wasp 1.0 needs to look like. Simply put, we have set out to build a full-stack framework with the best possible developer experience. We want you to focus on building your product and spend as little time as possible fighting your stack.
Think what Rails and Laravel did for Ruby and PHP - we’re doing the same for the modern, AI-powered, JS ecosystem.
To follow our story and support us, star Wasp on GitHub and join our Discord - we can’t wait to see you there!
Top comments (33)
Dude this is the story of persistence and grind work! Matija 🔥
This inspires developers like me a lot!
Thanks Saurabh! Really appreciate your comment :)
From the post and the documentation I read I would not say the project is a Rails or a Laravel. I think the only thing it has in common with the frameworks is that it uses convention over configuration.
It looks more like an orchestration tool.
I wonder how far you can go with the abstraction of the dependencies.
Interesting to hear how you perceive it!
Why we compared Wasp to Rails/Laravel - because it's opinionated, great for rapid prototyping, and covers the full stack (client, server, database, deployment).
Abstraction of the dependencies - yeah, that's something that we're testing and discovering as we go. In theory we have a lot of flexibility because of the compiler/code generation, but there is definitely custom work to be done for each new stack/lang/architecture. We have already been internally playing with running Rust server code within Wasp, but Python is probably going to be a more immediate target with which we will go public.
It is mainly that abstraction of dependencies that makes me think it is in an other category than the frameworks. Because they are hard coupled to their language.
Also the frameworks are not responsible for the client and deployment. That is done by other tools.
I understand! This is actually how we initially thought about it, too, so we presented it as a DSL. But from building and talking to people, we figured out that calling it a framework makes it much more straightforward for developers since that is the role/function that Wasp essentially fulfills. It would also fall in a category of meta-frameworks, like e.g. Next/Astro, which are frameworks that make use of other libs/frameworks such as React.
For me Next is not a meta-framework because the hard coupling with React. If it was a meta-framework Nuxt (Vue) and Sapper (Svelte) wouldn't exist. It is more an isomorphic framework that allow you to run the same components on the server and in the browser. That is been done by meteor years before Next existed.
Astro is also not a meta-framework. Switching different UI libraries for me is like switching from Blade to Twig in Laravel. It is just another template engine.
Astro is different in a sense that it outputs html instead of pushing a shell of html and UI library code.
Which is how back-end frameworks always been working.
I understand creating a tool that does a bit of everything is hard to categorise.
that is true👍 next.js is not meta-framework
Meteor was also one of the frameworks that served as an inspiration for what we are building at Wasp! Thanks for sharing your knowledge - I'll definitely look a bit more in how people perceive what a meta framework actually is.
😁🐝
Wow! I didn't know Wasp was a YC startup. Doing it long enough really works :)
As YC says, there are only two rules in startups:
I remember starring the repo a few years ago. Congrats on 15k!
Thank you for your support, Ansell! :)
Nice. I have wondered why the academic computer languages community has ignored the big problems of web development for decades. Very long ago there was a project called Bigwig at a Canadian university. Can't remember which. That was on the right track. But no one else picked up the ball. The CLists are focused on small and theoretical stuff. Huge missed opportunity in my book. And I did my PhD in language stuff.
I completely understand where you're coming from - we did a lot of research on other attempts at this and concluded the same. There were academic attempts (e.g., WebDSL being one of the more recent ones), but it never really left the academic circles, and they never got that community adoption push. But the idea itself has definitely been floating around for the last few decades.
That topology visualization is cool! What is the name for that kind of diagram when designing or just diagrammatic your current apps design to team members? I've been trying to find an effective way to explain the design at this level, routes, use cases, services, domain entities, commands/queries via diagram but couldn't find any tips or the name of this type of diagram.
Glad you like it! Hmm not sure what would be the "official" name of this kind of diagram, or if there is one. We typically call it "high-level overview" or "topology" as mentioned here. It directly derives from what Wasp as a framework "understands" about your app, so that's why we can show it in this form.
Let’s go!
what a boomer response from a tik toker
Kids don't say that anymore?
Here's to many more 🍷. More will come to know the greatness of daboi.
Many more to come! 🐝🌟
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more