Sunil Pai === Paige: ~Test, test, test.~ Sunil: ~Test, test, test.~ Paige: ~All righty. ~[00:00:00] Hello and welcome to Pod Rocket, the podcast that is brought to you by Log Rocket. Log Rocket helps software teams to improve user experience with session replay, error tracking, and product analytics. Try it for free at logrocket.com. ~So,~ hey everyone, my name is Paige Niedringhaus and I am a staff software engineer at the ~Internet of Startup for~ Internet of Things Startup Blues Wireless. And I am really thrilled to be a new part-time host here at Pod Rocket. ~So,~ I'm very excited to do my first recording as one of their new hosts. ~So~ with us today is Sunil Pie. And Sunil has worked at companies like Yahoo Visa, Flipkart Meta, JP Morgan and CloudFlare. Welcome, Sunil. Sunil: ~Uh,~ hi Paige. Thanks so much for having me. Paige: ~I mean,~ we are very excited to have you on today. You've worked at some really great companies. ~Um, you're part of the React. You,~ you have been part of the React team. You've built some popular CSS and JS libraries like Glamor. You've built CloudFlare [00:01:00] Workers, CLI Wrangler. You've co-created Babel Macros and a number of other contributions. So we are very lucky to have somebody as prolific as you joining us today. Sunil: ~Yeah, thanks for having me on it. Um,~ I seem to have bumbled from one small success to the other, and it's only when I look backwards that I'm like, okay, fine. I think I did some things that were interesting. So ~that's,~ that's good to see. Paige: I would say bumbled is a very much an understatement, but actually today you're going to be talking to us about your latest project, which is called Party Kit, which is, as you describe it, an open source platform for collaboration that you're now working on. So maybe before we get into the specifics of Party Kit, we could talk a little bit about your past experience, because when I say meta, when I say cloud, And react core team, that's something that people really perk up, myself included. So I'd love to hear about what it was like working for some of these big companies. Sunil: so my career is pretty long. I've now been an engineer for, [00:02:00] About 19 years, which is ~kind of~ weird by the way. You realize this only when you used to be the youngest person in the room, but suddenly you end up being the oldest one and the middle parts are a ~bit,~ bit of a blur. ~Uh,~ so yeah, I've worked in a number of places. ~Uh, uh,~ I moved to London a little over five years ago. That's when I started with Facebook. I worked inside Facebook with Oculus and then with the React core team. ~Uh,~ I, ~uh,~ then spent a year in JP Morgan helping them build out some of their infrastructure. And CloudFlare, I spent a year building out, ~uh,~ the C l I. ~Uh,~ a lot of my career has been driven by open source. We were part of the React community, ~uh,~ right when it launched, about 20 13, 20 14. ~Uh,~ and that's where we got, ~uh,~ where that's where I got very heavily involved in open source myself. I was al always tinkering, but ~uh,~ react. The React Library provided such a new paradigm for UI programming that there was just so much fertile space to explore. It was very, ~uh,~ a lots of, not just undiscovered stuff, but a lot of rethinking of the tools that we had for the [00:03:00] last 15 years before that. ~Uh,~ one thing that I, ~uh,~ gained some infamy for is, ~uh,~ C CSS in JS Library called Glamor. And that was fun. I made it as a library for a friend to build a website and then I shared it online. And the next thing you know, we were involved in a lot of online, some healthy discussions, some flame wars. ~Uh,~ but it was an interesting phase in web development when every day was about CSS and JS libraries. And I remember that fondly enough. ~Uh,~ I think some of the lessons were taken and there are. Well, I don't wanna say new, but definitely a newer breed of libraries now, like Tailwind and, ~um,~ vanilla extract that have, that have taken those ideas and have made it better. So it's nice to see that we had some impact on the past. One. One of my claim claims to fame, by the way, is that when the first version of next JS was released, the only. ~Uh,~ the only c s s that it supported was powered by glamor. At the time, it didn't support any other c to write all your CSS. With that, [00:04:00] that made me feel good, but, ~uh,~ it, ~uh,~ annoyed everyone else because of course everyone wants to write c s s in their own way. And then next J became a lot more. ~Uh,~ generic and welcoming for other technologies, which I think it really shines in right now. ~It,~ it acts as a focal point for other libraries. ~Uh,~ so that was my, and then~ I,~ I spent a year on the React team. I shipped a couple of nice APIs. I did some research for them. That's only now getting shipped. ~They're called. Um, so, uh, uh,~ it, it was a privilege to work on the team. When I did, ~uh,~ working in CloudFlare for and rebuilding the developer c l a, I did a. ~Uh,~ rewrite from Rust to type script, which is actually the opposite direction that a lot of tools go right now. A lot of tools actually go JavaScript to Rust, but I did Paige: I was gonna say, Sunil: Yeah, we had a Paige: went against the grain. Sunil: exactly, and it, and it was a good decision. ~Uh,~ it meant that we could iterate a lot more quickly and it was fine. It was the, I think, type script was actually ~the right,~ the right tool for the choice. ~So, uh, ~what, what was interesting with that is that I moved away from front end specific programming to edge compute and backend programming. And [00:05:00] that's where I discovered, ~um, Uh,~ a real desire to participate in building real-time computing tools. And that's what I'm doing now. For the last six months, I've been building out a product platform company called Party Kit, which is such a great name, by the way, if I, my might say so myself. ~Um, It's, uh, it's, uh,~ it's a set of libraries and tools and a development environment and a platform that you can actually deploy to that takes a problem that was previously very hard and very expensive, building collaborative realtime, ~uh,~ applications and makes it dirt simple. ~So, um, I,~ I'm working with the design partners and some people and ~it's,~ it's working out well. I'm looking forward to opening it up to everybody. So that's a longish way of saying, yeah, I've done some stuff in the past and this is what I'm doing right now. Paige: ~Well,~ there are a couple of questions that I wanna ask you because I have used glamor and I've used styled components, and now I'm more of keep CSS in its own file instead of having it mixed in with your js. So as the creator of glamor, if you were starting a new web development project today, [00:06:00] would you do CSS and JS or would you do some more separation of concerns? Sunil: ~Um, glamor was never meant to be the.~ Glamor was meant to be a stop along the way to, ~uh,~ what I hoped CSS would become, and it probably will as well. ~Uh,~ the idea that not only should be you be able to. Write, ~I, I,~ I think you should write CSS in its own file, by the way. Or you use a utility style library like Tailwind e either's fine. ~Uh, uh,~ because, ~uh,~ let me put it this way. ~When you,~ when you write CSS files, ~uh,~ you usually use classes as little hooks that you then write in your TML to link to, ~uh,~ to the CSS that you want to apply to it. Glamor basically took that idea and it used it inside css, but the idea always was, hey, instead of using a class name, which isn't really statically analyzable or so on, what if we had a first class reference that could, that was shared between JavaScript and cs. ~Uh,~ and glamor generated its own class names Ha hashed unique class names for it. But the idea always was, ~uh,~ if [00:07:00] you used c s s modules, it does something like that where you name it with a class and that is accessible as an export on that c s s file. ~So I think Glamor wa was my hope.~ My hope with glamor was that it would influence the CSS spec and I even wrote a short version of a proposal. ~Uh uh.~ Uh, would've done it where instead of saying something like.xyz, you would say something like Dollar X, y, z that was a first class, ~uh,~ export from a CSS file that you could then compose inside a HR script file where you're like, Hey, take this style, these three styles and add this style when this, ~uh,~ condition is true or false. ~Um, so I, so if I was honestly what I would use. There are, there are~ the decision tree for choosing what style you write your CSS in, I think is one of two decisions right now. If you're doing it by yourself, you pick what makes you happy. If you're working on a team, then you work whatever has the least amount. What would take the least amount of thought to. Mentally understand in your head. ~That's why I like utilities.~ I like utility style libraries. ~Uh,~ I also like design systems. Like you should have a qualified team that is building and making, not just [00:08:00] making the decisions for what it should look like, but really how it's constructed so that they're composable, that you don't send too much styles to the front end, that it's extensible, that it doesn't clash with other stuff. But yeah, if you're building something by yourself for a quick thing that you're putting out on the weekend, you use literally what makes you happy. ~Uh,~ but if you're working on it with other people and it needs to be maintained a period of time, ~uh,~ then you pick the thing that. Lasts ~that, uh, that, that, uh, that, that lasts.~ I think I, I think that is the decision ~you make,~ you make ~your,~ your technology choices have to be boring so that in three months or in three years, you shouldn't be looking at it and wondering, which fool wrote all of this stuff for you. ~That's,~ that's what I feel about it. Paige: ~Well, I mean~ as soon as you do a get blame also you'll see that you were the one who wrote it. So yeah, it that's, Sunil: past Sunil has made some very stupid decisions and current Sunil has to, ~uh,~ live with them exactly. Paige: ~Well, that is, that is very fascinating and.~ We will dive into Party Kit right after I do a quick ad read for our listeners. So this is just a reminder that [00:09:00] this podcast is brought to you by Log Rocket. Log. Rocket offers session replay, issue tracking, and product analytics to help you quickly surface and solve impactful issues that affect your user experience. So with LogRocket, you can find and solve issues faster, improve conversion and adoption, and spend more time building a better product. Find out more today at logrocket.com. Alright, so let's talk about Party Kit. You briefly touched on it and you kind of talked around it a little bit, but how does one go from working at Meta to working for JP Morgan to working to CloudFlare, to suddenly becoming an indie developer and working on Party Kit? What is, what is the deal with this product? Sunil: So, ~God,~ it's a good question. ~Uh,~ I have, I ask myself the same thing, ~uh,~ a few times every week. ~Um,~ when I was working, not just on the, in meta on the React team, but also in Oculus, and really for the last 10 years, I've always been fascinated with. User [00:10:00] interfaces as, ~uh,~ a mechanism of interfacing humans and computers and humans and other humans. ~I mean,~ that has always been the dream of the internet. I think just connecting people and it turns out it's a hard problem. It's, I don't think we have really solved it just yet, but working on the React team and working with the people on the React team, I think really made me understand. ~Uh,~ the care and concern that you need to have for users and humans when building user interfaces. You want. The nice thing about React, especially when it came out, I mean J S X and function functional programming aside, was ~how,~ how it. Empowered developers to move quicker in implementing features, ~uh,~ because they're nice little component boundaries and you can swap them out with other stuff and you can reuse those components. And, ~uh,~ it means that you can build a simply because you can build your experiences faster and safer without worrying about too many bugs. It means that you can [00:11:00] ship a better experience for your. When I was working inside Oculus, ~I, uh, which was easily one, I, ~I was writing a React components for vr, which is easily one of the most sci-fi jobs in my life, by the way. ~Uh, I,~ Paige: cool. Sunil: it is exceptionally cool. I I miss that team a lot. ~Um,~ I learned about how, ~uh,~ it's not just about clean rectangles and buttons that you click, even though that's a big portion of UIs, ~uh,~ UIs can be alive and they can be used to drive very dynamic experiences. It's not just about. Flat rectangles on webpages. They can be truly 3D and interactive and immersive. ~Uh,~ and when I was inside CloudFlare, I managed to peek behind the curtain, so to speak, and learned how, ~um,~ There is this new paradigm of edge computing where literally within 10, maybe 20 milliseconds of every human being on the planet are these little edge servers that, ~uh,~ you can use to run all your code on. You can run your apps on it and so on, and ~uh,~ you can use it to power. Truly real-time collaborative experiences.[00:12:00] ~Uh,~ and that was fun rewriting the c l I for it really gave me a chance to get familiar with the entire end-to-end of it. ~Uh,~ so I spent five years in the uk and I don't know if you're aware of this, but as an immigrant in the UK after five years, ~On the, on the, on the,~ on the Skilled Worker Visa, you get something called I L R I L R is indefinitely domain. What it means is that you don't need a Visa sponsor, you don't need an employer to stay in the country. ~Uh,~ and I decided to take that, ~I mean, it,~ it was 1560, well, no, it was 18 years of building applications for other people, and I figured I needed a chance to see if I can build stuff by myself because. Despite the fact that the tech industry and the economy, ~uh,~ is in a bit of a weird space right now, I figured I could always come up with excuses, but I did want to truly try building my own products. ~Um,~ and, ~uh,~ a mentor just told this to me recently ~that~ that is the migration. I think for an engineer, you start off by building. Features, then you end up building full products. At some point you have to try to build your own company because [00:13:00] that you can have a lot more impact when you do that. ~Um, so I start, uh, I was hanging around, uh, looking well.~ I was just contracting. I was just looking for interesting things to do, and I started hanging around with the folks at Tierra. ~Uh,~ TLdraw is a collaborative whiteboarding. a application, ~uh,~ and, ~uh,~ it's, ~uh,~ built by a London team. ~Uh,~ the CEO is a friend of mine. His name is Steve Ruiz. Great guy. ~You should reach out to him. Uh,~ and, ~uh, they were trying to, I, uh,~ they were working on a rewrite of their application and they were trying to figure out how to do multiplayer right. ~Uh, and it struck me that instead of.~ Let me take a little of ~a, a,~ a side journey here. Building realtime applications has been the dream ever since, for the last 15 years, really? I think. So web sockets were launched in Chrome in about. 2009, I think the spec was 2008. So everyone has wanted to build real time, uh, synchronized UIs across the world for a while, but it turns out there are two hard problems to solve. One is that you write the code. The code itself is hard because it's a distributed systems problem. The second part of the problem is that it's operationally hard and expensive. ~Uh,~ it turns out setting up these servers [00:14:00] and. Setting up re clusters and readers instances. It's not only is it hard to do, but it's expensive. It's not a mistake that the great applications, collaborative applications, your Google Docs, your Figma, or even your ~uh,~ AAA game studios, which have, ~uh,~ multiplayer experiences, it's not a mistake that you have to be a multi-billion dollar company to be able to achieve that. Paige: Right. Sunil: But in the last two or three years, what's happened is edge computing and CloudFlare, I think is my favorite. No bias of course. ~Uh, but, uh,~ but other players in the space as well. ~Uh,~ not only have their networks become so widespread and production ready, ~uh,~ but also the libraries and software, open source software that can take advantage of this have matured just about to the point of. ~Uh, so, so, uh,~ I was hanging out with Steve. I was like, Hey, I think you should use CloudFlare and durable objects. There's tech stack to build this out. ~Uh,~ and for a small team like that, at the time I think there were [00:15:00] two, maybe three engineers, I think there're just five engineers now. ~Uh,~ to be able to ~take a,~ take a bet on that and on me was, ~uh,~ I suppose it was a little scary, but it turned out to be a great decision for a small team like that to be able to leverage a global network and build a truly. World-class multi-player experience, which should, which you should try out by the way, tldraw.com, click the share button, share it with anyone on the planet, no login required. There is, I, I thi if, if it's not the best, it's in easily one of the best multi-player, ~uh,~ whiteboarding experiences you can have right now. ~Um, so. I helped them~ and we built it in a relatively short period of time. It was about a week that we got a prototype working, and within, uh, six, seven weeks, it was production ready and it went great. The sh ~uh,~ the launch went great. So that's when I was like, you know what? This deserves to exist as a product slash platform for everyone, which is why I started building it from scratch. Again, ~uh,~ and the inbound interest has been pretty intense. It turns out that everyone wants a piece of [00:16:00] this. ~Um,~ so I've been quietly building it. I've been onboarding some design partners. I've been working with some people. I have a little bit of a discord. ~Uh,~ there's a signup sheet that people have been, ~uh,~ signing up all their use cases on, and they're all very exciting, and I cannot wait to build out the rest of this platform and open it up to everybody. That's the plan for the next quarter. So ~that's,~ that's, so that's the little bit of a brain dump for how, ~uh,~ how my past five years have informed the product and company that I want to build right now. Paige: Yeah, so how has the experience been so far? Do you like being an entrepreneur? Is it fun running your own company? Is it way different than you expected? Would you recommend it for everybody? Sunil: I definitely don't recommend it for everyone. ~Um, So,~ About two year, ~uh,~ three years ago, ~uh,~ right when the pandemic started, actually, I decided that I needed to take care of myself physically and mentally. ~Uh,~ I quit smoking, ~uh,~ which is yay. So good by the way. A hundred percent. ~If,~ if there's one takeaway you should take from [00:17:00] this podcast is you should, ~uh,~ Either you should quit smoking or just never start smoking in the first place. There's nothing good about it. ~Uh,~ but I fixed a lot of things. I fixed my diet. I started exercising. I, ~uh,~ mended relationships with people. I, I got myself in a good place. ~Uh,~ the reason I'm bringing this up is it turns out, Taking a bet on yourself and going out into this entrepreneurial world is a stressful experience, and it's stressful in the strangest of ways. ~Um,~ the big one I've noticed is that the highs are very high, the lows are very low. And it oscillates really quickly in a single day. Like you will have five separate highs and lows in the same day. So on average, I feel great, Paige. It's been like just a wonderful discovery of myself and the fact that, ~uh,~ I feel physically and mentally fit to do it has just been powering me through the thing. Oh, damn. It's intense. ~It's,~ it's intense. On a daily basis, I will have one call with [00:18:00] someone who tells me how much they're enjoying the experience and how much it's enabling them and their small team to achieve a lot. ~Uh,~ and then I'll get, ~uh, uh, uh,~ some shitty feedback from someone who just doesn't get it and it's, or. I used to worry about competitors. That was another source of stress. But, ~uh,~ another digression by the way is, ~uh,~ I don't worry about competitors anymore because I've started looking at this much like the early years of React there is, I happen to believe that the realtime multiplayer space is ready to explode. I think the size of the market is going to be a hundred, maybe a thousand times bigger than it is right now. And much like the early days of reactor, even like ~with,~ with other frameworks, ~uh,~ especially in the CSS and JS space. At the time we were sniping at each other on Twitter, et cetera. But then we decided just to become friends because we are players in the same space. So I've started talking with all my competitors now, and it turns out we all. Kind of share the same values, and there isn't even that much overlap because everyone is,[00:19:00] ~uh,~ going towards it with a different view, a different perspective, and a different solution. So it turns out that if for sunk and party kit to succeed, uh, all of them kind of need to have success as well. ~So we start, we are kind of, we're, we're talking to each other and, uh, it. It's nice to try to expand the space anyway. But that being said, it is stressful where one day I think to myself that I'm kind of hot shit, that this is going to work out really well. Uh, but on other days I'm like, oh my God, I think I've, uh, Well, not ruined my life.~ ~Well, I don't know. I, uh,~ Paige: ~you've made a terrible mistake.~ Sunil: ~I pro it, it, some days it feels like I made a terrible mistake. Uh, but I just, uh, trust the process. I just try to ship and, uh, get through it. So, do I recommend it to everyone? No. But honestly, if I could bottle the feeling of independence and this kind of hope that I have, and if I could sell, Ah, that's, that.~ ~I, I've never, I've never felt, I've never felt this way before in my life, in my entire career. Nah, this is, this is truly unique and, uh, it gets me up in the morning. It makes me want to do this more.~ Paige: ~That's so awesome.~ So you mentioned that people are signing up, there's, they're giving you use cases that they would like to use Party kit for ~What,~ when do you use party kit? ~Like~ what kind of use cases do you think it's best suited for in your opinions? Sunil: ~Um,~ right now the use case I'm working on is the three magic phrase, one realtime multiplayer, collaborative. ~Uh,~ Paige: Okay. Sunil: the two big examples that people can, ~uh, uh,~ can appreciate I think are applications like Figma or Google Docs. Paige: Mm-hmm. Sunil: my theory is that all work is sort of remote. Even if you're in the same city nowadays. Hey, can you jump on a call? Hey, can, here's a link, can you share your thoughts on that, et cetera. Paige: Yeah. Sunil: And, ~uh,~ there are professionals all across the world who are spending four to eight hours a day staring at their laptops, working on something with [00:20:00] somebody else. Building those kinds of applications, I think are, is what I'm focusing on right now, ~uh,~ to help you build the next tier, draw your next. Collaborative code editing experience. ~Uh uh,~ a couple that I want to go after, which have been very hard is how do you make collaborative music together? That's the sort of thing that latency has always been. ~Um,~ Paige: Mm-hmm. Sunil: because of latency. It's been very hard to do, but Party Kit solves that. So, Hey Ableton, if you're listening to this podcast, please reach out to me. ~Uh,~ there are some other interesting use cases that have come across that I hadn't thought about before, but I think ~I,~ I can enable. The big one is a lot of people want to build games with this, ~uh,~ simple games, but also complex games. But again, they've. I mean, imagine this, there have been kids who build games on the weekend, but have never been able to share them online simply because it was operationally hard and expensive to do. And, ~uh,~ part it ~kind of~ kinds of decimate that and makes it so easy for these people. So games is one. There are other things I want to look at in the [00:21:00] future. ~I mean,~ when I'm a billion dollar company, FinTech company should reach out to me. ~I, I suppose,~ but the big one right now I want to do is to enable folks at work. And folks who do exploration, there's a community I'm a part of in London, ~uh,~ called Future of Coding. Actually there, it's both in New York and London. ~Uh,~ the London one is run by Maggie Appleton. ~Um,~ And I love that community because they're all looking for what's next in computing, not just in like the framework or library space. And these are folks who are messing with LLMs, ais, collaborative spaces, ~uh,~ 3D modeling, lots of very, very cool stuff. And I want to be able to enable every single person who comes, goes to that meetup. ~It's, uh, that, that, that. That's my favorite meetup in town right now. And, uh, I'd like, you know, like that's just it.~ ~Uh, the first,~ the first customer of my product is myself. The next one are my friends and those people are my friends. I'll, ~uh,~ figure out a revenue model right after that at some point. Paige: ~I mean,~ it sounds like you'll have plenty of revenue models because anybody who's worked collaboratively, remotely knows the latency issues, the choppy internet, [00:22:00] the bad, sometimes the bad video. So if you can solve for that, I think you'll have plenty of people who would jump on board. Sunil: That is very much the hope. That is. That is the hope. That is the hope. Paige: ~Okay, so let's talk about some of the actual features that Party Kit boasts. You've talked a little bit about be able to, being able to deploy it on the edge, so can you talk a little bit more about that?~ Sunil: ~Sorry, uh, could you repeat that?~ Paige: ~So~ let's talk about some of the features that Party Kit boast. On your website for it, it says that it can be deployed on the edge. You can bring your own code. It's faster than anything else. Batteries included. Tell us a little bit more about these, these features and how they work or how people take advantage of them. Sunil: Wonderful. ~Uh,~ the first one is that the platform is deployed on the edge. ~Uh,~ the sh the simplest way of saying that is edge networks like Cloudflare's, and I use CloudFlare. ~Uh,~ I use CloudFlare to build party kit. ~Um,~ They've deployed these servers out across the planet in about 270 something cities, ~uh,~ 10,000 points of presence. ~Uh,~ what that means is that, ~uh,~ somewhere within five to 15 milliseconds of me here right now, or [00:23:00] most people, ~uh,~ is a CloudFlare endpoint. ~Um, so, uh, when,~ when you. When you want to build an a collaborative application, it means that it's going to use points that are closest to you to synchronize these, ~uh,~ these messages, these applications that you build. ~Uh,~ simply by nature of using these edge networks, we monitor the next thing, which is that it is as fast as could theoretically be. If I can draw a straight line between Page and Sunil and use that as a way to synchronize. There is nothing that could be faster. ~I mean,~ it might get faster once cloud, ~uh,~ if, ~uh,~ Cloudflare's network gets broader, et cetera. But Cloudflare's network is incredible. They say that about, ~uh,~ 80 something percent of the world is within 20, ~uh,~ is within 50 milliseconds of, no, 80% of the world is within 20 milliseconds of a CloudFlare point of presence. And about 95. 95% is within about 20 milliseconds. ~So,~ so it's ridiculously fast. ~It's,~ it's out there. And the way they do that is incredible. They don't not, they don't even have a lot of their own data centers. They go and install their racks directly in the ISPs [00:24:00] and mobile, ~uh,~ this thing. So ~that,~ that's why the moment packets leave your laptop, it's a short hop to get into something like that. So it's deployed on the edge, that's number one. Paige: Okay. Sunil: ~Uh,~ number two, we let you bring your own code. ~Uh,~ there are a lot of third party services that enable, ~uh,~ collaborative, ~uh,~ applications. ~So, um,~ And these are other players in the space with their own strengths. ~Uh,~ but I, I don't know to name any of them for right now, but, Paige: Sure Sunil: but very few of the, they are well players in the space. ~Uh,~ the, but ~uh,~ one of the things that distinguishes particle is that, ~uh,~ from these others, is that you get to write your own code that runs on these machines. It's not a simple, ~uh,~ messaging system. It's not a database to which you're making queries, even though you should be able to de, ~uh,~ deploy your database onto part directly, ~uh, you can,~ you can think of it as if, ~uh,~ if verse, if your aw, if AWS is a. Computing platform, ~uh,~ simply because they don't really care what code you run, but they take away some [00:25:00] operational cost and complexity. You can imagine that party kit is, ~uh,~ the a w s, but for collaborative applications that you take some code that runs anytime a user connects to a room or a document, ~uh,~ Particle will handle all the infrastructure underneath that for you. You just need to bring your Java script and your vam and we take care of the rest. So that is a big differentiating factor from a lot of other third party services. ~Uh,~ I mentioned how it's faster than anything else, simply because we are leveraging as well, as fast as the laws of physics could, ~uh, uh,~ manage, ~uh,~ batteries included. Because it's such a brand new paradigm of computing, ~uh,~ the libraries and ecosystem for it aren't a hundred percent there yet. They're getting there and there's a great community behind it. But par kit. Says, Hey, you don't have to reinvent all of this from scratch. You do not have to invent conflict resolution data types, which are a way of building these sorts of application. ~Uh,~ we take either your, either [00:26:00] popular open source libraries like Y J S or Auto Merge or replica. I don't think replica is open source, but it's such cool software. ~Uh,~ and we will, ~uh,~ either we, ~uh,~ have first class integrations for those, ~uh,~ or we have some version of library of those libraries that we will. And further, it works well with your existing stack. Hey, if you have an application already on a word cell or a netlify, Wherever, or fly.io. ~Great, great team there. By the way,~ you can keep all of that still running except just put the multiplayer networking part onto party kit. That's where where we shine, so the rest of your application can run on that. But all the synchronizing between users and. ~Um,~ so on, ~uh,~ party kit will take care of that for you. So that's sort of what I mean by, ~uh,~ batteries included. At very soon we will have our own templates and libraries and your one short terminal command or a get clone away from, ~uh,~ leveraging all of this for yourself. And I think that's also important if we want, ~uh,~ adoption in the community. We need a way, ~uh,~ for it not to [00:27:00] be only. Not for the arena not to be only filled with subject matter experts. We want regular folks to build these applications. That's the whole dream with JavaScript. Anyway, that's ~kind of~ what React did for UI programming, and I'd like to do the same thing for collaborative programming. Paige: That's fantastic. And that's something that I, ~you know,~ I love that about Vercel and about Netlify is that it took away so much of the pain of actually building the website. Cuz that's what I love is building the website, not getting it onto the internet, not having to think about DNS and CNA and all that stuff. And they made it. So simple. So to hear that party kit wants to do that for anything multiplayer, because I've had a very little bit of experience with web sockets and sockets io and I, I can completely relate to you saying it is tough. So ha having somebody who's gonna come in and do that for me and me not have to think about it is awesome. Sunil: Not only do I think do we want to build the libraries, and this is what I meant with collaborating with other [00:28:00] players in this space, I suspect that party Kit will also support. by other teams and other libraries. For example, Y J s is an example of, ~uh,~ it's probably the most popular C R D T library out there right now, and I'm so looking forward to supporting them in any way they can. If the developers like access to part kit, that's great.~ I'm definitely going to, uh,~ they're an open source project, so I would love to contribute to their, ~uh,~ open Collective as well, because that, like I mentioned, ~my,~ my. My, my philosophy here is that I need them to win for Party Kit to win. And, ~uh,~ I would love for us to, ~uh, uh, uh,~ to win Paige: each other. Sunil: Yeah. To support each other. Yeah. ~Yeah,~ yeah. Absolutely. ~And that's just it. I'm building the platform that I wanted and I would like for all of these things to be, uh, supported and, uh, stable and, uh, sustainable software projects. So, uh, being able to support them would be a way for me to not just say thank you, but to ensure my own future.~ Paige: Yeah, I mean the whole rising tide lifts, all boats ~kind of~ mantra comes into play here very much it sounds like. Sunil: That's exactly it. That's exactly right. ~Oh, another thing I, I didn't, sorry, another thing I didn't mention that, that you had said is, uh, ~the other thing that Pardi Kit believes very str, when I say Pardi kit, I mean me of course. This is very much the royal, the royal we. ~Um,~ I also [00:29:00] believe that pricing should be based on usage. ~Uh, it.~ In 2023 and beyond, we don't pay for a, like a per seat or a per user basis. ~Uh,~ I think, ~uh, uh,~ the, one of the things I, and it's particularly hard to do with real time, especially because it's this whole distributed network thing, but I think I have some ideas to solve for how to charge on the basis of usage. What this means is, ~Well,~ it goes back to the operational cost really, that you don't need to already have a million users and a big revenue model to be able to, ~uh,~ access party kit. We will have a generous, free tier anyway. I would like to see so many people just trying this thing out, and if you have a lot of usage on your application, then I suspect paying for usage, which is the equivalent of just paying for, it'll be stupidly cheap. So I wanna make sure that this is accessible to so many people on the planet because, I wanna make sure that ~an 18 year old Sunil Pai in 2005, 2002, uh, 2005, I was not 80. I was, I was 22. Yeah.~ A 22 year old sun. Sunil Pi wouldn't, if it wasn't for [00:30:00] JavaScript and cheap internet, he wouldn't have been able to bring himself here. And I would love to enable that for the next generation of, ~um,~ technologists and entrepreneurs. Paige: Yeah, so you're taking the serverless approach where you only pay when somebody actually accesses your endpoint, not just because you've signed up and you have an account. Sunil: Exactly. You just pay for the water and the taps. You don't pay for just access to the taps. It's Paige: ~Nice. All right, so~ let's talk a little bit more about the specifics of Party Kit. Are you actually, how are you building it? Is it built with React? What? What technology stack are you using for this? Sunil: ~Um,~ while I expect people to use React when they're building applications on top of it, Party Kit itself is a much lower level server side concern. ~Um,~ I am using CloudFlare workers. ~Um,~ it's a great product. ~Uh,~ by CloudFlare. ~I'm keeping the in, I mean,~ but that is just an implementation detail for. I suspect other platform providers will also come up with comparable primitives for building applications like this. What I need is only provided by CloudFlare right now. [00:31:00] Paige: Mm-hmm. Sunil: so that is a major part of it. ~Uh,~ it's mostly written in JavaScript. There is some ~web,~ web assembly that I'm using for some~ perf uh,~ Performance sensitive parts, but all of that really is hidden from the user. ~Uh,~ there's a full development stack that I've built also with, again, with JavaScript. It's a c l i, that u that's, ~um,~ that uses Node and Esil ES build is such a great build tool, by the way. It's one of the. One of, if not the fastest built tool out there right now. It's very opinionated, but that's because Evan Wallace has taste and he knows what he wants a software to do, and I'm fine buying into that philosophy. It's very good. ~Um, There are, uh,~ and ~uh,~ there are some libraries that I've built, so a backend for Y J S and some other helpers. It's, most honestly, it's like 99% JavaScript at this point. ~Uh,~ there's that, ~uh,~ I am building out a SaaS dashboard. I'm using React for that, of course. And Tailwind, if you should know. That's what I'm using for css. ~Uh,~ I'm not using [00:32:00] glamor, which honestly now I'm thinking back. I'm like, should I just do that again? I don't know. Maybe, ~uh,~ it still works well. ~Um,~ but, ~uh,~ that, that is mostly the stack. ~Uh,~ and the idea is that I will be open sourcing most of this code base anyway. In fact, I'm trying to open source it within the next month or two, hopefully within the next month. ~Uh,~ because this is all stuff that, ~um,~ I would like to build a community around, and I believe in working in public. That's how I've always written code for the last 15 years. So it would be weird if I didn't open source all of this. ~Uh,~ the value really isn't in the code. The value is in figuring out how to make edge computing, ~um,~ accessible to the planet. So it's fine. The JavaScript itself, so it's gonna be completely open sourced on GitHub. ~And, uh, that's mostly it. Uh, I will be, uh, I do, I am very tempted to build a new React framework. Uh, I don't know if you're, uh, uh, uh, if you're a, uh, well, about. It, it's always surprising to me when I realized that, uh, react is now 10 years old.~ ~Before React. The average lifespan of a JavaScript framework was about five years. Jake, prototype Dojo, what have you. So when I say 10 years ago, it feels very strange to me that, that, that I was even around then. Anyway, back then everyone and their uncle was making a a React framework. So part of me is wondering with, should I be considering making a new React framework or a new view framework?~ ~Interacting with this, and I think the answer is yes, but I'll do that after I've shipped v1. Let me get the product actually into people's hands first before I distract myself with that.~ Paige: ~You're gonna have to come up with a good, a good name for it, like party hat or something else to~ Sunil: ~I do think so. I'm also thinking that, uh, I've decided the logo, well, I've not decided it. I don't think I can get away with this, but I would've loved to have had a red solo cup as the logo for party kit.~ Paige: ~I think that would be perfect. It would be very recognizable.~ Sunil: ~Mm-hmm.~ Paige: ~Well that is, that is very awesome. So where do you see, I mean, you talk about open sourcing party kit. ~What additions do you see being made to it in the future to make it easier to use or more broadly accessible ~to~ to others? Sunil: ~Uh, I'm going to, um, there is, uh, the. ~The bare minimum of stuff I'll have to do is build out libraries and an ecosystem and a community and to make sure that they are [00:33:00] supported. That is the first part. Anyway, there are two or three other communities that I would like to support and I would probably have to do some work there. The first one is the local first, ~uh,~ style of building applications. That's something that's been building out over the last year. ~Uh,~ there's a great community. ~Are they l fw? Dev? I think. That's right. Uh,~ local first web.dev. ~Um,~ where. A lot of the style of application is very much treating browsers like real application platforms, but also that they're called local first because they should be able to work, even if you're not connected to the internet, ~uh,~ you should be able to run an actual databases and then when you actually connect back to the internet, Possibly to a party kit server. It synchronizes and actually saves, ~uh,~ that I would very much like to enable them to build great applications. And I think Party Kit would help there. And ~I,~ I would like to find the answer to what I need to do there more. The second one that, I assume it's not just me, but half the planet is thinking about right now is what is the ai l l m story [00:34:00] for ~uh,~ whatever product you're building. And what I think there is, we are already starting to see a shift in the kind of l l m applications that are built. The big popular one right now is, I wanna say a request response driven. So it's chat, you type something in, it says something back to you. And that itself is completely magical by the way. But I think we are also moving to a style of application that's more agent driven. So the example I like giving people is, Hey, imagine you were in Google Docs with five people, but one of those. People was actually an L L M behaving like a human making edits, asking questions, doing drafts, and I suspect we are going to see this happen again in across all types of applications, documents, design, music generation. Where they, ~where,~ where L LMS and AI is behave more like. Agents instead of just tools that you have to ask questions for, they will be actively doing stuff in the space. And in a space like that, I think Parq is very well positioned simply because it provides the focal [00:35:00] points for these documents and spaces. And one of those web socket connections will be to open AI or to your own AI cluster. So I am excited to explore this once I ship my dashboard. Paige: ~I mean, that sounds like such a cool thing, cuz I,~ I completely agree with you. A AI seems to be the hottest thing. Last year it was crypto, now it's ai. But the, you know, the variety of things that you can do, the answers that you can get, the questions that you can ask, even if it confidently answers them, and it's not quite right. Just the, the fact that it is trying to come up with something that you can use is so great. So having somebody there who's just acting like another collaborator in the room to bounce ideas off of and come up with suggestions, that would be so cool, I think. Sunil: ~Uh, the crypto, uh, comparison is very interesting to me because I think there are some few use cases that crypto is very good for digital ledgers, uh, some finance use cases, et cetera. But a lot of the crypto industry is building tools for, uh, the future where they, I imagine an industry like this. But the weird thing about LLMs is that it works today.~ ~Like all of a sudden in six months, everything changed. And it's be, it's almost been whiplash to see how, uh, how everyone's adapting to it. I, I, I'm a techno optimist, but I'm interested in the details before I actually commit to, uh, uh, uh, truly endorsing the technology. But a lot of it works. Today. I, I have a chart, G p t tab, uh, tab open Every time I'm.~ ~Writing code because I like, I, I like having this very over enthusiastic intern that is, uh, always willing to give me answers. Love it. Great~ Paige: ~So, do you use GitHub co-pilot as well?~ Sunil: ~I've been using it nonstop for the last year. Half, half, more, half. Well, it's really good at writing tests and filling in the blanks. When I do need to do something unique, like I said, much like an or enthusiastic intern, I need to ask them to shut up for a few minutes where I'm like, no, I need to think for a while.~ ~It's. I love co-pilot, co-pilot's.~ Paige: ~Nice. Um, well, let's see.~ Is there, is there anything that you would say for anyone who's looking to get started with Party Kit? What advice would you give them to get involved with it? Try it out. Sunil: Oh, they can [00:36:00] just tweet at me, bother me in the dms. If they have an interesting use case, I'll onboard them. It's fine. I'm really looking forward to having people try this checkout anyway, if they're willing to deal with the rough edges. There's not a lot of docu documentation right now. ~Um,~ But that is literally what I'm investing in and, ~uh,~ trying to get some more people to collaborate with, to build the rest of it. But you should just ask them to reach out to me, party kit.io or, ~uh,~ party kit underscore io on Twitter or 3.1 Twitter. I, ~um, I, I,~ I spent half my life on that website. You'll find me on Twitter, I think. Paige: You're easily accessible there. Sunil: Very much so. As you can tell, I have a big mouth and Twitter is such a great platform for people like me. Paige: Is there anything else that we haven't touched on so far that you'd like to talk about, whether it's party kit related or where you see this going in the future or anything? Sunil: ~Um,~ I come onto a podcast, I do like leaving people with a little bit of enthusiasm for the future. Party Kit, for me, is very much like a piece of myself where I'm taking a bet [00:37:00] on what I think the future of computing is, but it's not just that. Technology did so much for me as a kid from small town India, and it brought me all the way here. I got to travel the world and great jobs and I met so many incredible people. And technology does that. It brings social mobility, it brings technological mobility, it changes the world truly. ~Um,~ I would love for a parting thought to be, for anyone who's listening to this, to truly consider what ambition means to them. And it ambition can be a number of ways. It doesn't have to be just wealth or GitHub stars. It can be a having the, ~uh,~ having a, a, a great life for yourself, ~uh,~ and reminding them that, Look, the world is in a really weird space right now. ~Uh, it's,~ it's not going great for a lot of people, but for optimists and people who try to, who try a little harder than average, I see that their lives are always markedly different from those who don't. So, ~um, a like,~ believe in yourself, ~I guess,~ which [00:38:00] is very much a Hallmark greeting card, I understand. ~Uh,~ but we use a particle to build your ambitious websites. I'm here for. Paige: I mean, that's that's fantastic advice and, and it's very true. I've had very similar experiences. If I had stayed where I was fresh outta college, I would never be. Here where I am today. So doing that little bit of extra work to help yourself kind of stand out from the crowd really can pay off in amazing ways. Sunil: ~I mean,~ you can get your computer to do half the work for you. Use charge G P D for it and just bring your whole self to the rest of it. Paige: Exactly. ~Well,~ Sunil, it has been an absolute pleasure to talk to you today. Thank you so much for joining us. Sunil: Thank you so much for the opportunity. ~I enjoyed myself. It's always nice because I get to examine my own thoughts when I do these things. I'm very grateful for the opportunity. I enjoyed it.~ It was great. Paige: ~Well,~ we will see you on the next episode of Pod Rocket. See you then. Sunil: ~See you. ~