· 27:15
Jack: Hi everyone. You are listening to Scaling Dev Tools, the show that investigates how dev tools go from zero to one. I'm joined today by Matija Šošić from Wasp. Wasp is aiming to be the fastest way to build a full stack web app.
Matija: much Jack for invitation and yeah, super excited to be here and chat.
Jack: Could you tell us a little bit about Wasp and about yourself?
Matija: So, you know, Wasp is technically a simple configuration language for building full stack where applications react, node Gs. This is what we are supporting right now. So just very briefly, you know, like developers can describe their high level of functionalities like , API data models and for example, running, guessing jobs.
So all that is declarative described in Wasp configuration language, and the rest of their business logic, they can just write in their typical React and ojs code. So we are trying to simplify a lot of, you know, this process of, uh, getting started, but also maintaining your full stack application going.
Jack: that sounds, uh, sounds very useful and something that I think a lot about Every time I wanna start a project, you want to get going fast and not worry about all this stuff. So really cool to see what you're doing.
Could you tell us a little Bit about what it's been like? Could you tell us about what it's been like, getting to that, journey.
Matija: Sure. I mean, there is a lot, there is a lot to talk about. You know, there is like the whole journey before, before Y Combin or before the investments and you know, just starting out with the idea. Then there is the journey after, you know, just building the team, building the first version of the product.
So, shall I just start from, you know, from scratch, from the idea stage?
Jack: Yeah, we wanna hear about the hardest parts,
Matija: Okay, cool. Hardest part. Yeah, hardest part is definitely not the idea. It's what comes after the idea actually is going to do it and not giving up. That is the hardest part. But yeah, I mean, it, it all started, you know, , my brothers, so, so co-founders are my brothers, my twin brother, Martin, and myself.
And we were always considering ourselves to be like, you know, general software engineers. So we were never like specifically going for web development. And we were doing like a lot of stuff like algorithms, machine learning. App development, but no, pretty much whatever we ended up doing, uh, we always needed to build some sort of web app because you need to deliver your end solution somehow to users.
And, you know, funnily enough, you know, next to all the algorithms and machine learning and the kind of cool stuff, , web development was always the hardest part. . So that was kind of what struck us, back then. And you always felt like, oh, look, like, you know, every couple of years we have to relearn the latest tech.
You know, we started from PHP and Java then switched over to like backbone J uh, I know like, angular. Then on the front end, and then finally gs. So we just felt, you know, like there is this huge amount of knowledge you have to go through every time just to build the same thing all over. So this is finally our motivation.
We said like, okay, like there must be a better way. You know, because we are just rebuilding all these common pieces. Like there should be some way to justy. I want my, I want my worker, I want my data models, which are propagated across the full stack. So this is what gave us an initial, uh, you know, inkling of idea for Wasp.
so yeah, it all started then we were, working in this company in London, kind of building the pretty complex, web application for running Bioformatics. In the cloud. So it has like all the parts on front end backend, spawning processes on aws, Azure, and Google Cloud. So it was a pretty complex application and this is kind of the final trigger, you know, for it.
So we started working on that idea while still working at that company. and in the end we decided, you know, just to go full-time. , we decided , that we want to switch, , what we are doing we, we got to the limit of what we could do there and we kind of want to do something else.
So, you know, we just said, okay, like, you know, in the meanwhile we are looking for a new job, or we can just take a couple of months to play. , with the idea of was. And in the end, you know, this couple of months, were like one year . Uh, and then after one year, basically doing full-time just working on mop, uh, we got into Y Combinator from the third attempt.
And yeah. After one year got into yc, raised our seed round hire team, and now we are basically off, it was off a stage now we just released beta and now we are going.
Jack: Yeah. I think the part that like I find really cool is that it's such a big shift, right? You're building something that completely changes how people build their apps. So, It's gonna be really hard to like build something kind of small and test that. So how did you kind get around that
Matija: true. true. I mean, the, the tricky thing if it was, you know, because kinda it started as, as you said, like it's, it's a pretty different solution than, you know, other approaches. I mean, typically all the frameworks are built as libraries. I mean, they start out, for example, as libraries, right? And then it's, easier to start something, you know, and just build it, plug it in, try it out, see how it works.
And, you know, you have this incremental kind of approach to building it, which is great. But we felt, you know, like we don't want to build another, you know, like library or just front time system. Like we want to have, , our own language, although it's not a complete, tour, complete language or anything, but still, it kind of turns things a bit upside down and you know, it has to be kind of built from scratch.
So, yeah, as I said, like it's really hard to just build a little bit of it and get the training into production or get somebody to use it. Their projects immediately. So this is, you know, why we, felt, you know, okay, we have to, you know, give proper focus on this. Plus you probably need to, you know, to raise funding at some point because it's not going to be sous sustain until we developed the actual technology, which is this language part.
So yeah, this, this was a challenge. And I think, you know, this is also why there aren't many approaches. , there are some attempts at this, but usually you'll see like more incremental approaches to solving this problem and also other types of problems.
Jack: when you're not taking the kind of incremental approach, how do you get enough kind of feedback or like, motivation I guess as well, like to kind of build such a big thing?
Matija: I think that that is the hard part, especially motivation, you know, even motivation by yourself. I think that the hardest part is, uh, not even, you know, coming up with an idea, not even actually, you know, working on an idea. The hardest part is not giving up and basically cause, cause you know, every day you have to ask yourself, okay, why am I actually working on this?
You know, this is so far away from, I don't know, from alpha, from beta, , from anything. Even somebody just, you know, using it. So I think that is the hardest part. You know, you have to somehow convince yourself how to actually keep going and every day make a decision. Okay, I'll keep going.
So yeah, for us we try to communicate, you know, as much as possible with, uh, users. . So for example, like, you know, the first thing was just to come up, you know, with a landing page. It was a page just describing what we are doing. Saying, Hey, this is like going to be a new configuration language. The idea is you, you can still use your reactor node.
So we are not trying to take you away from your existing stack, but we are trying to simplify something. So we are trying to provide like, you know, radically nicer developer experience, which we can achieve by this approach. And this is kind of roughly, you know, how it's going to. So, of course it was much less today.
It was something very different. It wasn't, you know, so nicely divided. It was of course, uh, much less developed altogether, but it was the first step. So once we had this landing page, I mean we also had the GitHub rep, uh, already, but you know, it wasn't in a state where somebody could, go there and easily run Wasp.
Like you actually had to compile, you know, all the source from source code from Hull, run it with no instruc. So it was really, really hard for anybody to try it out on their computer. So our goal was just, you know, to get the word out, get the idea, get the idea out, and then get some initial feedback.
we also have a blog, post article which kind of describes, you know, this process with some comments from Reddit and similar, so I think we, we first put it on Reddit, like several, several communities like we js JavaScript, programming language. And we got like, 10 uploads on Hacker News, 20 uploads on React or JavaScript.
A few people said, okay, this is an interesting idea, but like, you know, this is really hard to do. How are you going do it? This is going to take a lot of time. I, I remember specifically like one guy told us, you know, we are cheaters. Like, you know, this is just like, you know, it's vaporware like this, this doesn't exist.
Like what is this? I can't even try it out. So, uh, we had a couple of people who called us crazy. But yeah, all altogether it was obvious that some people were excited about the idea, although they were pretty skeptical. Some people were just, okay, this is cool. I want to see how it develops. And yeah, proport of people were just like, you know, dismissive, okay, this doesn't make.
So, yeah, this is kind of the initial communication, uh, that we had, you know, before we actually had anything for people to try out.
Jack: , did you kind of like look at that, like objectively like, oh, should we carry on? Is this good feedback or was it like you just had so much conviction you were just gonna build this thing?
Matija: I think it was combination because it wasn't, you know, we were kinda drawing a lot from our own experiences. You know, we have been kind of senior developers at that point already. We have developed, you know, several complex server applications. Marketing was doing stuff at Google and Partner and similar.
So we knew that, you know, what we are doing, theoretically makes sense uk there is something to it. We were also aware of the challenges and there are still like a lot of challenges that, you know, we are not a hundred percent sure what's the best way to overcome them and similar. So I think, you know, we were experienced enough to know why we are doing this, but we weren't sure how far are we going to get and what's the end result going to be.
So, I mean, even if it is, it was super hard to stay, kinda I mean, you are never a hundred percent sure. So the feedback was okay for us it was, I, I think it was more motivating for us to know that we could just see somebody else big open to this idea and, and actually, you know, grasping it the way we are.
Because I think also, you know, , the way we are describing the idea is also like, it's much more important. I mean, it's super important next to the actual idea. So that is also one thing that we're, that was changing, although maybe our idea itself wasn't changing so much in our heads, but we just learned how to phrase it better and how to communicate it better.
That was one of the biggest things we learned earlier from, , people who were checking us out.
Jack: How did it differ what you started at and then how you describe it?
Matija: Yeah, I mean initially we were super excited that, you know, that we are building a new programming language. So, you know, both Martin and I, we are kinda, you know, we like this part of computer science. It's very cool having fun with compilers and you know, especially working in Hull, which is our compiler built in.
So we were kind of pretty excited about that. Like, you know, hey, we are building a completely new programming language, you know, that's going to be super cool and you know, it's going to be so much easier. But no, when you say outwards programming language, it scares people. , especially you. If we, if we kinda emphasize that part.
And we haven't emphasized enough, you know, you can still use, use your React and ojs. , we didn't even mention it cause you know, we, we were proud that, you know, the big idea was to be stack agnostic. You know, like we, we can support React view or go and Python on the backend and similar. So I think we haven't even been mentioning that on our landing page.
And then naturally people got kind of, you know, skeptical. Okay, why do I have to learn a new programming language? Like there is enough languages, I just have to learn a new one. I have to scratch all my noise from just feel like I'm not, I'm not doing this, you know? No, no way. So once we learned that, we kind of switched the narrative the other way around.
So, you know, we stopped saying, you know, VO is a super cool, your programming language, this, you know, we just said, Hey, you know, VO is a super simple configuration language. And basically you get to plug in, you know, you get to use still mostly your React no GS code. And you know, we specifically said this is React, no js.
It's almost like a framework. Pretty much the same thing. You know, don't think of it as a language, it is just like a super simple way to write your React. No Gs full stack web apps in, although, you know, fundamentally nothing changed. Our code stayed the same. Everything stayed the same. It is just, you know, that people started reacting much better to this.
Jack: So you kind of made it seem like it's less required change
Matija: Yeah, which, which it is. In fact, it is because not nothing changing even, you know, from the, from the functionality because you really are writing your majority of your code in o Gs. It was just, you know, we were so excited about the future. Very much future , which which is not even there yet. Right, right.
Now we explain, look, this is nothing. You can just start now and
Jack: And could you dig in a bit more to like how you are speaking to users today and like kind of how that's evolved the product?
Matija: So, I mean, so far, you know, we, we had a couple of main mechanisms, uh, for communicating with users. So first of all, uh, mark and I, you know, we built like one or two startups before, so we had some experience, , with, uh, customer development, which is super, which we learned, you know, on the last job, which is super, super important.
So even before starting , although we hit our own. And, you know, we felt like, okay, we know the problem, what the problem is, and we know we dunno what the solution is. Uh, we still wanted to verify that and learn more about the problem that we are going to solve. So, even before, you know, like starting, starting wsp, we just, you know, communicated with like 20 of our friends, people we knew were developers and conducted, uh, problem materials.
So the problem interviews are usually, you know, like, like there, there's like a difference between, usually people go naturally with solution interviews, which is, Hey, I build this solution, check it out, you know, what do you think about my solution? Would you use it? Would you pay for it? And this is kind of, you know, although it's very natural, it's, you know, the wrong way to do it.
If you go, you know, with customer development lead startup methodology, typically you should start the problem interview basically asking, Hey, what's your biggest problem in web development? Or, you know, when starting a new full stack application, what's your biggest challenge? And then let people tell you, you know, what's the first thing on their mind?
And then if you know, the first thing on their mind is what you actually want to solve, that's great. You kinda got the problem right? But if, you know, if they're thinking of something completely else, then you know, your problem doesn't even come up when they're chatting about it, you know, without.
Soliciting then that's maybe, you know, like a, a red, red flag. Like maybe it's not such an important, problem. So yeah, even before starting with mos, we just wanted to conduct, you know, this whole problem interviewing to get, you know, better feel of a space, what are the first features we want to build, because also it'll help us prioritize, uh, the features we were building.
So we just need out that in 2025 of. And basically, you know, then, then they could cluster like, you know, answers, uh, in different clusters. Basically. Like one portion of people like over, like this is, it's really hard to start, you know, every time it's new technology. I dunno, like the best practices, how to connect my, react to GraphQL to, or whatever other parts of like, oh Jesus, like there's so much magic going on there.
There is like different stakes. I dunno what, I don't even know what to, what to choose. There is obviously different thing. So we have like all these clusters and then we could understand better, okay, what is actually the problem? What are people thinking about? How do they communicate about it? So we use that to inform and to inform our messaging on our landing page now and later.
Jack: Were you just interviewing like web developers as like a broad category or
were you
Matija: We try to kinda have different, uh, let's say representatives. We had a couple of people from startups who were building their own products. Uh, we had a portion of people who are, you know, working in web development agencies, so they're like developing other products using what new technologies.
And we even have like a couple of product managers who know who were maybe coding indirectly, but they were experiencing, you know, pain through their developers. So we were asking them how did it look to them from the outside? What are developers, you know, struggling with the. So, yeah, it was, it was mostly all developers, but they were like in different roles.
Some are like more front end, some are more backend, some are full stack, some are startups, some are bigger companies, agencies. So we had a range of, interview.
Jack: And I know you've mentioned previously that you kind of have different, like kind of you segment your users slightly, you know, as as the
needs that they
have.
Matija: Yeah. I think you've even, you know, learned a lot just by putting it out, you know, putting the word out and seeing, you know, who are the people who are going to get excited and engage with you in either positive or negative way . So I think, yeah, I think so, so far, you know, we have identified, uh, I would say kind two main or maybe like three main crowds or people that, you know, engage.
It was, and they're excited about it. The, the big thing is also like, you know, in which stage you are. So I would say given this alpha, alpha, beta stage is like one, let's say one type of people, and you know, moving forward it's going be probably different type of people. So that's also something that should be, you know, taken, taken into account.
I think, you know, it's also maybe a mistake sometimes to. To kind of think, oh, people that are excited about my product right now are the only people that are ever going to be excited about my product. You know, thus the market is too small, or thus, you know, it's not all who I want to serve. I think that that's something that should be very much accounted for when, you know, thinking who is, who is actually interested in what you're doing.
So for osp, I think especially now in Alpha, and you know, we just got beta out. We have like a lot of people who, you know, just want to get their React, no JS application. So maybe, maybe they're know a bit more on the junior side. You know, they just finished boot camp or they just started out, you know, or they're more like front end developers and basically they're super excited about the vo, you know, just giving them all the tools and all the best practices to get their application after running.
So all, all they have to do is just, you know, write, vo start, everything is running. Then they have voice built, deployed to Heroku or fly or render and it's going. And you know, we are also covering a lot of stuff on this kinda. crowd stuff. So you don't have to define the api. They basically handle all this for you.
Under the hood, you just have to define your data model and you hear it accessible everywhere on client, on server. We update everything as it happens. So like, let's say, a lot of stuff, uh, are just handled for you. And I think there is like, you know, good, good amount of developers who want to trust us that we are doing it in the best possible.
And you know, they just want to build an application and they not to really care. Or is it like a redux under there or GraphQL or React query, which we are using now, by the way. They just want to use, you know, what you offer to them and you know, just somebody else handle it. I want to write my own business, uh, logic.
So yeah, I would say that is one portion of developers that we are seeing that are using the most. But I would say also, on the other hand, you know, we have identified some more senior developers, like people from eBay, Airbnb, Lyft, Facebook. A portion of them even became our angel investors, you know, after they saw connection and got excited.
I would say they're kinda, they, they kinda, you know, look more into the future of us, you know, together with us, their senior developers who, you know, are leading teams in their companies and they see how it could be useful in the. Both in the sense of, you know, making it easier for, let's say junior developers and their teams to get speed and get up to running, you know, without all the, possible mistakes you could do, you know, while building a full stack web.
And on the other hand, you know, being stack agnostic, supporting like vehicle on one hand view on the other hand. Or, you know, just making like a standardized way for building a, deploying, you know, typical business web applications. So there kinda, I would say there is a small amount of people. Because of course, like, you know, they are maybe like, you know, less around on Twitter or they're more busy with other stuff, or, you know, they have their own stuff going on.
But it's very motivating to have such a group of people, you know, who share the bigger vision for, the product.
Jack: You mentioned Twitter there and like this kind of juniors and, and wanting something like best practices. Could you talk about how, you've been reaching them?
Matija: So, I mean, so far we have used multiple methods, just kinda saying to others, so what, what we are doing. So our main methods so far were launches, so like launches on Hacker News, Pearl Hunt and Reddit. Those were the most successful ones. And I think we have, we have pretty much been using almost exclusively only this, you know, starting, you know, with, this thing even before half of, and we just put our landing page that was read.
And then when we had our first version that could anybody, you know, just try out, we called it Alpha. And that was just after we were, we got into yc. Uh, we, again, I think the, the biggest traffic came from Han and like re js, Java script. So we were mostly focusing on those just because, you know, we didn't have time.
Actually, it was only Martin and me and we didn't have resources to do any kind of more extensive market. . I mean, we also, we also started our Discord channel. So we have our Discord server where people can come in and ask questions. So this is now becoming much more, and I would say important because we hear more people in the community and they're asking questions.
but before it was mostly like external marketing, basically doing external launches. And it was working surprisingly well, especially, especially Reddit, because on it's, it's always kinda, you know, hit or miss. Sometimes you get it big sometimes, you know, you just go by, so you have to try several times, but even that went well after yc.
But, but before yc, Reddit was super good. . I'm not sure why, but you know, like we just posted on several subres, like vhs, Java script and I think we got like 200 or 300 up votes and people commenting, you know, trying it out. So I think this was the biggest, you know, initial source of people try coming, coming, coming to.
Jack: Yeah. What do you think you did well on the Reddit posts?
Matija: I'm not sure actually, you know, like we trying out different stuff. Sometimes it's very, sometimes it didn't. I think in the end, uh, kinda our signature. Which my brother is using. He was always saying, yeah, like, hey, like, you know, my brother and I, we built a new web framework, which is actually a DSL . So he always put this, my brother and me apart.
But sure if that's what people interested, but I think maybe it gave it like a bit of a personal touch, you know, like it wasn't just, you know, oh, you know, just another framework somebody's trying to push or some company companies trying to push their own product. They were, they have been. I think maybe that gave it a bit of personality.
Hey, this is my brother and me, you know, we are trying to do something. It's only us, you know? Give us, give us a hand. , tell us what you think.
Jack: Yeah, so I guess anyone that's also building a developer tool, if their sibling can use that right now. That makes sense though, to make it more personal.
Matija: Just kind trying not to be, Hey, here, just a matter, you know, or, you know, VR web framework for x, y and, you know, sounds very, very robotic. Right? There has to be some, I think, you know, personality around
Jack: Mm. And did you do that on Hack News as well
Matija: Yeah. Yeah. As well. Because, you know, you can basically, uh, write like the, the first text is like, you know, your first comment can basically describe your journey, what you're doing. So this is also what kind of is, you know, typical YC format. So we could also describe leaders. Hey, we encountered this problem.
We wanted to solve it. This is what you're doing right now. So we could tell our story in the, in the first section.
Jack: Yeah, it's amazing to see how you've got to such a, like a advanced level, with just like launches.
Matija: Yeah, you're actually pretty, pretty surprised, you know, with the positive, with the positive feature from the audience, especially, you know, even before it was just kinda, it was barely alpha, right? Like you, you could just write out maybe. So you were surprised that it went, it went, went so well. I'm not sure what was the reason.
I mean, I guess, you know, we also adjusted our messaging several times due to the interviews we were doing. So I guess that was already kind, you know, improved compared to before. And yeah, I guess, you know, also people just resonated with the problem of boiler plate in web development. I think we also, we also often use like, you know, get rid of boiler plate in full stack development.
Jack: I think just the final question, Mattia. If you had a friend who was doing a similar thing to you with Wasp, and they were coming to you for advice and being like, what, what should I do? Like, what kind of things would you focus on?
Matija: He is building, for example, a developer tool, right?
Jack: Yeah, let's say like kind of a Wasp, but slightly different. , not a competitor,
Matija: I think the, the biggest thing is, you know, kinda you know, convincing yourself not to give up and how to do it. It was a thing that, that was bothering us for a while, especially, especially my brother, because like, you know, I think for us, you know, developers, the biggest fear is, you know, this opportunity cost, right? Oh, I'm doing this. I could have been at Google or some other huge company giving me ton of money, you know, why am I even bothering with this? I'm just wasting my time and all the money that I could have earned, right? So I think this is kind of the biggest, you know, question that, uh, we ask ourselves every day.
And I think, you know, it's good to have a system to do, to have a system for it, because if you don't have a system how to think about it, and you just every day try to decide if you're quitting or not, that is, that is the hardest part because then you spend all your willpower, you spend it on that, on this, on this thing.
First half of the day you are battling, why am I doing this? Should I keep doing it? 10, you do something and then you know, another thing in the morning you're doing the same thing and you're basically not doing anything in the end. , , it was very hard for us. I think also, especially for Martin, he's always a bit more on the varying side and I know he's wearing, so I worry less
So it, it's how we divide . Uh, and he also, . So in the end, you know, we came up with the system and we said like, look, it doesn't make sense to worry every day because we are not getting anything done. You know, we should come up with some sort of a milestone. Like, okay, we have been doing this for three months, let's say we know that what we want to achieve, you know, let's, let's do this in the next three months.
And then, you know, if this other version that we got out doesn't get an injection, if nobody, you know, likes it, nobody gives us any good feedback, then we know it Doesn. I mean it's basically what happened. Like, you know, we got it out, we got some okay. I mean, it's never super clear in the end because of course, like it's always like, it's never a success immediately or failure immediately.
But I think, you know, just having that next milestone is, is going to help you not to worry every day and, you know, to focus on actually executing stuff until you reach this milestone. So for us, you know, like we reached that, we got Alpha, we said, okay, there is some feedback. Great. You know, like we applied to yc.
We didn't go to the final stage of the, I. That was motivating. Let's keep going. And you know, now, now our next milestone is going to be, I know, like get these free features and again, do marketing and launch at all the platforms and see what happens. So we again, did that and, you know, every time it was a bit better than, you know, we expected.
And in the end, you know, like we had signals that made us curious. I think it's important to be curious you know, in the end if you're not curious about about what you're doing, if, if it is just like, you know, opportunistic, oh, you know, it's a. Thing I have to do my checkity thing because now it's, it's like, you know, it's time to do it and then if it fails, you're going to lose motivation.
Oh. You know, obviously it doesn't work for us. You know, like we had a million of this, it doesn't work moments, but we also had a million of, you know, moments. But what if we do this, you know? Uh, we were like super curious, like, okay, I know this doesn't make sense right now, but what if, if we did this, like, how, how would this look like?
So we had lot of this ideas that we just wanted to personally try out for ourselves because we were just curious, we were genuine, genuinely curious. How is it going to turn out? So I think, you know, just having this component when you are building stuff for yourself and you are discovering stuff for yourself, that's basically what you keep you.
, yeah, combination of, you know, having a system for milestones, plus being personally, you know, attached to what you're doing and have some personal curiosity. I think this is the best recipe for surviving. You know, this kind of way until nobody believes in you, including yourself.
Jack: That's all we've got time for. Before you share where people can find out more, I wanna shout out your blog cuz I think it's great. You share. A lot of like learnings along the way. , there's technical stuff, but there's also a lot of blog posts about like how you struggled and overcame stuff on the kind of like marketing side and, you know, testing out your beta program and your, how you got your GitHub stars.
So I think it's really a great blog that people should check out. , but where else can people learn more about, about Wasp and about.
Matija: Yeah. I mean, I think one thing is blog, which you mentioned, and you know, we try to build in public and basically document everything we do as we go. So yeah, getting GitHub stars, you know, just getting to the idea, getting first 2000 stars, running alpha, alpha testing program. You know, what's, what's well, what was wrong, uh, other, the other point of touch is our discord, so feel free to join our disc, you'll find on our landing page.
Uh, we have lots of discussions there. You know, we propose new features. We help people who are trying it out,
Jack: awesome. And we'll put all the links in the show notes. Thanks so much for joining Mattia, and thanks everyone for listening. We'll be back again next week.
Listen to Scaling DevTools using one of many popular podcasting apps or directories.