Dan Abramov on Working at Bluesky, React, and the Social Internet

Speaker 1:

I don't

Speaker 2:

know if it's meaner than it used to be. I think the largest shift, like, I'm seeing is just I think people who are, like, entertainers, and I'm not saying this, like, in, like, a bad way.

Speaker 3:

Max and I feeling called out.

Speaker 4:

Yeah. With our super fancy cameras, like Yeah.

Speaker 3:

We've never met. Dan, you have you met Dax? Have you guys met?

Speaker 2:

No. Not really.

Speaker 1:

This is the first

Speaker 3:

time. Twitter. Yeah. Twitter. Yeah.

Speaker 3:

Does Twitter count? I don't I don't think so. How are you, Dan? You you're in the UK. Is that right?

Speaker 2:

Yeah. Yeah.

Speaker 3:

Yeah. So Dax just got back from Europe, and we had to bring a little piece of Europe onto the show today because he missed it so much. Is the UK Europe? Is that even Europe?

Speaker 2:

From American point of view, I'd say yes.

Speaker 3:

So many things from an American point of view.

Speaker 4:

Do you feel European being in London?

Speaker 2:

I guess, like, on the world scale. Sure. Yeah.

Speaker 3:

Was it more European before Brexit? Is that the main reason it's no longer European? Is that

Speaker 2:

I think so. Yeah. I mean, just from, like, technical, legal aspects. I don't know.

Speaker 3:

You you're you're originally from Russia. Right?

Speaker 2:

Mhmm.

Speaker 3:

And you just like, you could pick anywhere you want to live and you chose the UK. You went from Russia to the UK.

Speaker 2:

Yeah. I mean, it was kind of random because I've I've never really considered TK as a place to go to, because I didn't know anyone, who went there. So I just didn't consider it as a possibility. But then I did get a job offer in UK, and so that's that's how I ended up here.

Speaker 3:

Oh, gotcha. So you took a job in the UK. Wait. Where who who is that with?

Speaker 2:

That was Facebook.

Speaker 3:

Oh, in the UK. Okay. That makes sense. Yeah. I guess they're everywhere, probably.

Speaker 2:

Yeah. I didn't know that either. So I was like, wow. That's not

Speaker 3:

something Silicon Valley offices, and that's it. I don't know.

Speaker 4:

That that stuff really blows my mind because I was telling Dan earlier that, so Cloudflare has an office in Lisbon where I visited and they were telling and the guy that I met there was telling me like the history of it. So they originally had a London office and he was explaining how London was like the New York of Europe. Like no matter what you wanted to do, like if it was tech, entertainment, finance, that was like the place. And then after Brexit, they had to consider other places. So they moved to Lisbon, but then they were talking about how, like, know, there's great engineers there they want to tap into.

Speaker 4:

And me having never really been a part of a company that scale, it's mind blowing to think, like, you're so desperate for engineering talent that you have to literally, like, search, like, globally for it. Like, you need so many people that you need to, like, have offices everywhere just tap into, like, whatever talent is around those around those areas. It's, like, really crazy as someone that thinks about hiring, like, 1 or 2 people at a time. Like, yeah. I'll be able to find someone, you know, locally.

Speaker 4:

But, yeah, these companies, they're completely different.

Speaker 3:

How many engineers work at Meta?

Speaker 2:

I actually have no idea.

Speaker 3:

Yeah. Is it, like, 100? Is it 1,000? Thousands.

Speaker 1:

Like, thousands. Yeah.

Speaker 2:

It's somewhere in 1,000. Yeah.

Speaker 3:

That's insane. I've just never worked anywhere where there were even, like, 500 people. So I don't I don't have any context. Not even, like, engineers. Just, like, people.

Speaker 2:

I think, like, you don't really, like, interact with all of them at the same time. Right? So Right.

Speaker 4:

Yeah.

Speaker 3:

Yeah.

Speaker 2:

That is, like, that is more of a concern for, like, people building, like, tooling. Right? Like, you need to make sure that, like, continuous integration can work with, like, commits landing, like, every minute and so on. But other than that, I think it's still you know, like, I worked on a pretty small team. And, like, I work at Blue Sky now, which is, like, a super small company.

Speaker 2:

But then in terms of, like, team dynamics, it actually kinda feels similar just because it's like well, there's, like, 7 people or so who are, like, actively, constantly, like, doing something together. So it's actually not that much of a difference in some ways.

Speaker 3:

Yeah. Yeah. So there is a company that makes Blue Sky. It's not it's it's not, like, just in the fediverse or whatever. Like, you guys all just shake hands.

Speaker 4:

I thought it was pronounced Blooski.

Speaker 3:

Blooski.

Speaker 2:

Yeah. There is a company. I think it's, it's incorporated in, as a, like, public benefit something something. I don't I don't I I don't understand the legal stuff

Speaker 4:

Yeah. Yeah.

Speaker 2:

Well enough to say. But, yeah, it is definitely a problem.

Speaker 3:

But it's a normal job at a place that pays you to work there. Yeah.

Speaker 2:

Yeah. Yeah. Yeah. But everyone is remote. Like pretty much the entire team is remote.

Speaker 4:

Yeah. How big is the Blue Sky team?

Speaker 2:

I think it's like under like the entire company is like under 20 people. I think

Speaker 4:

Oh, wow. That's a big

Speaker 3:

amount of shifts.

Speaker 2:

Maybe we just crossed 20, but I think it's, like, it was under 20.

Speaker 4:

When you, when you joined Meta, did you have to interview? Like, what was the process like when you're, like, kind of a very specific type of hire?

Speaker 2:

It was like I went through kind of the normal process, although under, maybe strange circumstances because I was at a conference and, I was given, like, my first kind of big, conference talk. And, I was talking to Jin Chen. And like I talked with her before, she's, like, one of the coin vendors of Flux Architecture. And she just mentioned that they have a London office, which I had no idea they do because I couldn't actually go to US, because I couldn't, I didn't have like, you had to have enough education or, like, enough years of experience to get, h one b, which I did not.

Speaker 3:

It's like getting a mortgage.

Speaker 2:

Yeah. I didn't really consider that as a possibility. And, yeah, and she said that they're hiring in UK. And so because they had a bunch of speakers, from Facebook at that conference, they actually arranged kind of like an impromptu, interview cycle where, I just skipped the 2nd day of the conference, and they interviewed me in a hotel basement.

Speaker 4:

That's awesome. That's incredible. Yeah. I love when people find little side doors like that.

Speaker 3:

Dan, I don't I don't expect you to remember this. But we actually have a little history that goes way back to that time frame. I emailed you in it was, like, 2014 or 15 or whatever it was, right before you joined Meta because I was using Redux at my start up. And I emailed you to try to hire you at a company called StatNews, and you were very polite. You responded.

Speaker 3:

You actually responded to me, and you were like, sorry. I'm actually taking another job.

Speaker 2:

That was when I was still responding to things.

Speaker 1:

Yeah. Yeah.

Speaker 3:

I got in right before Facebook, and, I got a a response. But, yeah, we have that history. I I didn't expect you to ever remember that. But the company is still around today, so you kinda you might have chose the wrong company. I'm just saying.

Speaker 3:

Because that means it's still a thing.

Speaker 4:

That's funny. So you left Meta, like, a year ago, it's been or so?

Speaker 2:

Yeah. Yeah. It's actually been almost exactly a year. Yeah.

Speaker 4:

What what was, like what made you wanna look for something new?

Speaker 2:

I think, like, I wanted to try, like, something new for a while, but it was just, like, never the right time because there were, like, a bunch of things that I really wanted to see them kind of complete in. And, I was also working on the React documentation website. I really wanted to, like, get that over the finish line, and that took a couple of years more than I thought. But, like, when, you know, like, all the work seemed done, and we also hired a person who, I thought, like, was, was gonna be able, like, to to take over a bunch of, just, like, developer kind of relations thing that I was doing without it actually being my job. Like, we hired a person

Speaker 4:

Yeah.

Speaker 2:

For that job. Then that person got laid off, which was, like, completely, wild. And then we complained, and I don't know. Like, we managed to rehire that person in our org.

Speaker 4:

Oh, really?

Speaker 2:

So Wow. Yeah. Because, like, this person was in a different org. And so, yeah, that that was just, like, a few, wild weeks. But we we hired this person, and I just felt like, okay.

Speaker 2:

This is this is the time. And I was getting pretty excited about Blue Sky, like, in general. So it just felt like, okay. Now this actually makes sense because I, previously, I thought maybe I, wouldn't like, I wasn't actually planning to work at the company at all. I was thinking maybe I just become like a YouTuber or something or, like, sell courses or whatever, and that

Speaker 1:

that

Speaker 2:

might still be like maybe that that that would have been, like, a more kind of rational choice. But it just kind of clicked, like, on a bunch of levels, so I thought, yeah, this is the thing I have to do now.

Speaker 4:

That makes sense.

Speaker 3:

But how's blue sky? Like, I haven't been on I think I got on Blue Sky when I got on all the other, Twitter alternatives as Twitter was going up in flames, but I haven't been since. How's it what's the scene like? What what's it like over there?

Speaker 2:

Yeah. I mean, it's it's it's kind of like a mix. I don't know. We have, I think, like, we have a few communities that, like, really settled. And I think, like, tech community hasn't really settled there.

Speaker 2:

So there are, like, a bunch of people who signed up, but then, like, you know, the conversation wasn't really flowing, and then people left. We're working on a bunch of things, you know, like, just like making the app better. We didn't like, one problem is, like, we're still catching up in terms of baseline features because, like, the way we build things is, is kind of, like, more with this decentralized angle where, we wanted to to not be tied to 1 company in terms of the implementation. But then from the user experience point of view, like, we think it's bad if that leaks into the user experience. So, like Yeah.

Speaker 2:

When you, like, when you look at your feed, it kind of looks like a normal Twitter feed even if it gets pulled from, like, different data servers or whatever. Or, like, if you move, like, where you host your data, like, that doesn't affect you know, like, nobody you know, like, your like counts don't disappear or whatever. Like, it it just looks normal. So that, you know, that that way of developing kind of you know, it it it takes a little more time to do some things, so we're still catching up just in terms of functionality. You know, like, some like, we just added DMs, like, literally a couple of weeks ago.

Speaker 2:

Even though DMs are actually like a centralized service, so we're not doing, like, a end to end decentralized thing for now because that's, like, a huge chunk of work, and people just need DMs. So that that's been, like, a huge pain point for the community. So we kinda refocused a little bit on, like, working on the product and, you know, like, we added, like, give support, working on videos now. We were still catching up. So it's, I think, like, and also just, like, making the app feel better, feel faster, and stuff like this.

Speaker 2:

So it's a process, but, you know, we're we're excited to make the app better for, you know, next time you check us out.

Speaker 3:

Yeah. Is Blue Sky the Jack that that's the one that Jack is part of? Cofounded something?

Speaker 2:

Not not really.

Speaker 3:

Or no. Is that Mastodon? No.

Speaker 2:

No. So he's, like, the relationship with him is is kind of interesting from, I guess, like, the PR angle because the way it happened, it's actually kind of a funny story because he so he used to run Twitter. Right? He was the CEO of Twitter, and, he funded this exploration of, you know, what would it look like if, if Twitter was not the sole company and kinda making the rules. But if it was possible to kind of move this, you know, move it out to the protocol and have different companies be able to, like, host your data and kind of interrupt, while it would still work with the Twitter client.

Speaker 2:

So that was kind of the original vision for the project. It was, kind of decentralizing Twitter, the company, and and, like, making it interoperable. And, they assembled a bunch of people in a chat room, and these people were, like, people who explored decentralized social media for the past decade, with, like, very different views on, like, how it should work. And so they didn't really agree on a lot of things. And so the project was kinda stolen for a long time, which is you know, it's it's pretty hard to find people with different opinions, get them to agree on something.

Speaker 3:

Like Twitter. Like, the actual experience of being on Twitter.

Speaker 2:

Yeah. Exactly. And so, one of those people, Jay Graber, she she kinda compiled, like, a review of pros and cons and of different approaches, and, you know, what what are their kinda technical or, like, user experience implications and, and stuff like this. And, Jack chose her to lead that project. And so she was supposed to actually, like, get hired at Twitter and lead that project at Twitter because that was part of the Twitter, the company.

Speaker 2:

But Jay insisted that that's actually not the right way to do it because the incentives don't match up, and there is a risk that Twitter would shut down the project or that, like, if if she works on it within Twitter that actually, works against the goals of the project. And so she kind of like, it took like a bunch of, like and I think she kind of fought with them for, like, 6 months. And then, like, her they ended up agreeing that it should be, like, a separate complete separate company, and, like, Twitter would get, like, a board seat, and Jack would get a board seat and and and so on. And then Twitter funded originally this project. So Twitter, just paid some money to the project.

Speaker 2:

But then, she also kind of set up some, like there was a, like a clause that if, Twitter, you know, that that that doesn't want to continue working on it, then I think they lose the board seat. And so, like, it's not, you know, if they stop funding it, like, they also don't really, you know, they stop controlling it in a way. And so that's effectively like what happened with, when Elon Musk took over Twitter. He kind of canceled the project. And so, the focus shifted from just working on the protocol for Twitter to, okay.

Speaker 2:

Like, we have a reference implementation of of a client.

Speaker 1:

Mhmm.

Speaker 2:

Let's make it into, like, a real app because because, like, Twitter is not gonna integrate their client with us. Right. Right. That's kinda how the project started. And Jack has, like, has not been actively involved in the, like, in the running the actual project.

Speaker 2:

I think, like, the lead engineer, Paul, has only, like, talked to Jack once. So he's not he wasn't really, like, he wasn't really present, and then he gradually, just, like, changed his opinion. He became, like, more enthusiastic about, like, Bitcoin, stuff and some other projects. And so his interest kinda shifted, and then, he left the board, I think, like, a couple of weeks or maybe, like, a month ago. Okay.

Speaker 2:

So he's not really present.

Speaker 3:

Got it.

Speaker 4:

Yeah. No. I was gonna say that that that makes sense. And, like, yeah, I do want it as interest shifting because I think in this space, there's basically a spectrum. Right?

Speaker 4:

There's the very centralized services that we're used to, and then there's the extremely decentralized ones. And I'm sure you guys look at things like Farcaster, and there's, like, a few other things in this category. Right? It sounds like Blue Sky is trying to figure out what minimum you can do to make it a little bit more decentralized without losing, like, the typical UX that people expect. I mean, does that sound right?

Speaker 2:

Yeah. I I wouldn't necessarily say minimal. I think we do want to essentially, you know, make it very plug and play so that it feels more like the web.

Speaker 4:

I I think Email, I imagine. Like, kind of similar. Right?

Speaker 2:

Yeah. Email is another analogy. But we want to make but I think it's architectural is closer to the web. So it's, the idea like, the technical idea is really kind of that, you know, when you, like, post something or you like something, you're really kinda push into your like, behind the scene you know, you don't see it as a user, but, like, behind the scenes, it's kinda like you have a repository that's hosted somewhere. So, like and we're kind of like GitHub.

Speaker 2:

Right? Like, we're one of the hosters of these repositories, but in principle, you could run your own. You could, like there could be other providers. We're, like, opening up to, you know, to for other other players to kinda join that. And then we have our own, like, indexer.

Speaker 2:

So it when you like, the indexer kinda crawls this repository, so you can think of it kind of like Google crawls the web. And so that indexer is, is like all the events from this repository is flowing to this one single funnel, and you can subscribe to it. So, like, anyone can subscribe to the fire hose of, like, everything that happens on Blue Sky. It's it's kind of like, you know, like an event log of everything in the system.

Speaker 1:

Mhmm.

Speaker 2:

So you can listen to the through, like, a WebSocket or or something like this. And then we have an, there's something called app view, which is, like a materialized, application specific view of the network. So Blue Sky is the only app well, not not the only. Actually, like, somebody else is making, like, a blogging platform now. But this is, like, a thing that listens to the events and just, like, updates, like, a snapshot of the database so that it's easy to query, and that's what the client talks to.

Speaker 1:

And so

Speaker 2:

this is why, like, it's it's really decentralized in terms of, like, how you store your data is decentralized. We're, also decentralized in moderation. So we have our own kinda hard coded moderation service that you have to have if you use our client. But in prints, you we also offer other people to run their own moderation services. So there are, like, community.

Speaker 2:

You can, like, you know, have your own, like, moderation and, like, people can submit post to you. You can tag them with your own, like, labels and stuff. And this can be used for, like, you know, both kinda serious things and less serious things. And the client is able to, like, actually show it. So for every aspect of, like, social media, we kinda want to give people ability to, like, compose it, but then present it in a very cohesive way.

Speaker 4:

Yeah. That's cool. So if I never wanna say anything about React, I can just have a React free feed.

Speaker 2:

You can so, like, we we have a, we have somebody running a, so because these moderation services, they, you know, they can be manual. They can be, like, AI driven. Like, somebody you know, you can do whatever. Like, if you're a developer, one developer is running a, a labeler that labels all screenshots from Twitter. So you can subscribe to that labeler and you can say, like, hide all screenshots from Twitter and that will help

Speaker 4:

you out. That's really funny. So with this model, do you feel like you were saying earlier, like simple things are a lot more challenging, right? Like it takes you a little bit longer to build something that's straightforward and centralized service. Do you feel though, like given enough time, the experience is basically the same?

Speaker 4:

Are there certain things that are that feel like impossible to ever do without a centralized system?

Speaker 2:

So I'm I'm not, like, an expert on all the, like, back end stuff, so I'm I'm just speaking from my knowledge. I think eventually, you should be able to do everything that you can with, like, maybe slightly different trade offs, but we have gaps right now. We have, like one significant gap we have is that we have no great way, for non private for non public information, to be kind of integrated. So although we do have, you know, like, your personal server will, like, store your, like, authentication stuff and, like, private settings and stuff like this, but it doesn't kind of integrate into the whole network in a nice way. So it's hard to build features.

Speaker 2:

For example, we don't have locked accounts yet. So if you post, like, your posts are public, you have, like, private, like, preferences. Right? But but you can't have, like, access control, to to, like, your posts. And this is something we want to build, but it's just gonna require, like, a bunch of thinking of, like, how how does this actually work in a distributed system.

Speaker 2:

And so there are, like, different options, and it's probably gonna be solved, like, within, like, a year and a half, but not today.

Speaker 4:

Yeah. That makes sense. And the other side of it is, so typically if someone's founding a social media company, they run it in a very specific way, which is, like, entirely focused on on growth and, like, getting the viral coefficients, like, all the things that a social media company does. You guys are also building, like, new technology. Are you still, like, focusing on growth right now and trying to make that happen?

Speaker 4:

Or, like, is that kind of a later thing? How are you guys thinking about that?

Speaker 2:

Yeah. It's it's kind of it's it's interesting. Like, we've kind of shifted a little bit into that. But the thing is, like, initially, you know, the team was very small. It it's like the entire app, so the app is built with, Expo and React Native.

Speaker 2:

And so it works on, like, on Android and iOS. It's like an actual native app. It and there's, like, a web version as well. And it was built, like, by a single person over, like, several months initially.

Speaker 4:

Oh, nice.

Speaker 2:

Now now there is a team. But it's like at the time, you know, it was kind of like almost like a research project. And then when Elon bought Twitter and, like, this whole thing happened, and, a lot of people were interested in, like, in an alternative. And because they had a reference client, they, you know, the team started kind of investing into it. And so the demand went through the roof.

Speaker 2:

And, actually, like, the growth, you know, that was really, like, unexpected, and that's why, they had like, they they had to set up this, like, invite code system. Yeah. Not like, like, maybe many people think it's a growth hack. The thing is, like, the architecture, like, literally did not scale yet. So, like, if you add in, all the people, like, everything

Speaker 3:

So anti growth hack.

Speaker 2:

Yeah. And so, like, there was a lot of demand. I think some of it kind of calmed down. And now it's now it's kind of more like, you know, level. Yeah.

Speaker 2:

I think the biggest the biggest thing we're seeing is just that people who come with their clusters and kinda settle in, like, some of them are, like, having a good time on the app and and, like, retain. And then, some people, like, they come and then, like, for example, like, maybe their friends already have an account, but, like, are not post then. And so they kind of fall off as well. So we're working on different kind of community focused things to, you know, you can think of it, like, in terms of growth, but another I think another thing is retention. Right?

Speaker 2:

It's

Speaker 4:

Yeah. Right.

Speaker 2:

Like, okay. Somebody signed up, but, like, how do we actually make the app useful to them? How do we make them want to, like, stay there? All these, like, social kind of dynamics of, like, well, why do you come there? Like, what do you find?

Speaker 2:

So we're we have a few communities who really kinda settled in, and we will we're investing more into those kinds of things.

Speaker 3:

Like, you work on you you mentioned the back end team. You work on the front end. So, like, people ask you to, like, add buttons to things. Like, Dan Abramov is just, like, making the front end the blue sky. That's how this

Speaker 1:

works. Yeah.

Speaker 2:

I I fixed, I fixed a bunch of borders, like, borders broken up from breakpoints. Today, I was fixing an Android animation stuttering after we upgraded React Native. It's That's awesome. It's like Android is interested.

Speaker 4:

How's I'm assuming I'm I'm I'm just guessing, but I'm assuming this is, like, a lot more product work than it used to do. Like, how has that transition been? I imagine it's nice. Right? Like, I I find myself going from framework work to product work, and product work feels like very straightforward compared to, like, framework stuff in a very satisfying way.

Speaker 4:

So I was wondering, like, what yeah. What your experience has been like?

Speaker 2:

I think it's a mix, really. I mean, I'm enjoying it because I, you know, I like this type of product. So, like, I I was, like, a very engaged Twitter user, and, you know, the goal is to make something that's better than Twitter and kinda retains, like, the the magic of Twitter, but also improves on it. I don't think we're, like, anywhere close yet, but, like, we're slowly starting to get there. So that's exciting.

Speaker 2:

In terms of just, like, product work versus, like, framework work, I think, some of the product work is nice. So, you know, it's cool to, yeah, just, like, fix something that was broken. Now it works or, like, polish, like, an animation or something like this. Like, that's kind of fun. I don't necessarily, like, enjoy, like, creating new screens or things like this.

Speaker 2:

Like, that's just, like, stressful. Yeah. I'm, like, not good at design, to be honest. So it's, we didn't even have a designer until, like, a few weeks ago. So

Speaker 3:

I'll be honest, that splash screen, that was just it goes to giveaway. The the big sky picture, like, I

Speaker 1:

don't know.

Speaker 2:

We have changed it a while ago. It's actually typical now.

Speaker 3:

It'll be waiting for me

Speaker 4:

when I try it again. Yeah.

Speaker 2:

Yeah. No. We had a designer on contract. So, like, we had a designer who helped us with a bunch of stuff, but they were not, like, super integrated into the process. And so we hired the first designer who's, like, really integrated.

Speaker 2:

But I think in terms of work, like, the parts, you know, there's also just, like, all kinds of random shit. Right? It's like, like, today, like, we're dealing with, like, we released an update yesterday, and it's crashing. Like, it's just instant crashing for some Android users. And it's maybe, like you know, I was diving into, like, a bunch of it is, like, 10 levels in the stack.

Speaker 2:

Right? There's, like, React code, product code. There's React. There's Expo React Native, like, actual, like, native bugs, like Android weirdnesses and so on. And it's just like, well, like, which level is the problem on?

Speaker 2:

And these kinds of things are not super fun. Like, why does Android not show keyboard unless you, like, at set them out 100 or whatever? Like, this kind of stuff is, like, not super fun. And, also, you have to move a lot faster, like, with I feel like with framework work here, usually, like, you can really think through the fix because, like, it's more important to get it right. Whereas, like, if everything is on fire, like, maybe you just add a hack and, like, fix the hack later or, like, never fix the hack.

Speaker 2:

And it's just hard for me to, like, to kind of adapt to that mentality a little bit because I'm used to, like, trying to fix things properly.

Speaker 3:

Wow. I've never I've never done framework work. It all it's clicking for me now. Like, I've never had to think, like, I should fix this the right way. Just always just junk.

Speaker 3:

Just throwing junk at stuff all the time.

Speaker 4:

Yeah. Well, it's funny because, Dan has a post from a really while, like a long time ago. I don't know when. And I don't remember what the post was called or anything, but it definitely impacted me a lot. I think you were talking about the philosophy of building React and how keeping React internals is not keeping React internal is clean is not a goal because the whole point is to absorb the complexity.

Speaker 4:

I think product work is kind of similar where, yeah, like that hack isn't great, but the goal is to like, you know, get stuff working for the user. So keeping your internal stuff clean is not necessarily a goal. Of course, any pathological case of this is not good. Like, you still need to find a balance, but, yeah, that that line or that post was, it like really changed how I thought because whenever I worked on product code, I was like, really wanted to make sure it was like maintainable for the long run, which, which does make sense. But a lot of times you do sacrifice capability or absorbing complexity and and things like that.

Speaker 4:

So, yeah, that makes a lot of sense. So what does, like, success for Blue Sky look like? Like, the near, like, near term? Like, what's the next milestone for you guys to to achieve?

Speaker 2:

Yeah. I think we'd like to improve retention, because, you know, a bunch of people signed up or, like, also reactivate existing users. So, like, a bunch of people sign up, checked it out, but, like, nothing was happening there. Part of it is just, like, we have pretty poor onboarding, so you don't really find the people you want to find. The search was not prioritizing people by like, we now have something like page rank, so it's actually it's actually really good now.

Speaker 2:

I think you find, you know, you find the people you probably, like, expect to find when you start typing. We didn't have a good algorithm. So, because, you know, like, algorithm is, like, kinda swappable on Blue Sky.

Speaker 3:

Right.

Speaker 2:

So there's the, the one that we maintain is called discover, which actually kind of acts more like a for you feed. But we're still, like, we're doing, like, a lot of tweaks there. So, we just added, like, an AB testing framework a couple of months ago so that we're able to actually try things. And, for example, like, we had an experiment where we showed, more content from kinda mutuals, or, like, things that are popular, like, liked by your mutuals, in that feed. And so we saw, like, oh, that leads to, like, 4% increase in, like, post likes or whatever.

Speaker 2:

Right? So we're, like, able to kinda start tuning things so that they're actually, there's, like, so so many things that he don't really think about that, like, go into making, like, a nice social experience. So just I think, like, getting to a point where somebody can sign up and find the people they want to they kind of vibe with and, just, like, not run into, like, constant bugs and, you know, crashes or things like this. And and just stick around. I think making that outcome more likely is, like, in the top goal right now.

Speaker 4:

Yeah. Which is very hard. Like, it's very straightforward, but very difficult.

Speaker 2:

Yeah. And and one of the ways we're we're kinda thinking about it is, we really want to empower communities. I think, like, Twitter hasn't really focused on communities. Like, it it's kinda more like celebrity driven and, that, you know, that worked out in that time frame. Like, I don't think, like, we can't, like, repeat, like, Twitter's history.

Speaker 2:

But there there are things that work about Twitter that, you know, for example, like, there is there's no Twitter has a product called communities, but it's not really, like, you know, the React yeah. It it doesn't really feel like it captures you know, the actual communities are outside of the tab. Right? They're, like, in the home. Yeah.

Speaker 2:

But so we we want to kind of formalize that a little bit and make it easier for people to discover, like, what's actually happening on the app through, like, human curation and, just, like, groups of people who are, like, kinda part of the same scene. Yeah. That works. Yeah. So, you know, making it easier for communities to find each other and and have fun with each other.

Speaker 2:

That's, like, the kind of short term goal. And for the long term goal, I think there's there's, like, different goals for the app and the protocol. Right? Because the app is kind of almost like a reference app, but, actually, the the underlying technology doesn't care which app you're building. So these, like, repositories that I referred to, you can store anything there, and then you can, like, say, like, you know, this this record was created, and that's gonna go into the fire hose.

Speaker 2:

And, like, the fire hose doesn't care what what kind of record it is. So if you build an app that listens to the fire hose and that posts, to to these repositories, you can build this, like, materialized view where you're like, okay. I'm only interested in these types of records. So you could build, like, a block. You know, somebody's building, like, a blog engine on top of this.

Speaker 2:

But then it's it's a bit, like, under documented, so it's not super clear how to do this. But in principle, you can build these apps where they can kind of read each other's public, information. Right? So you could integrate information from, like, different apps that all live within the space. The they kinda use the same, like, identity system that's, like, pretend to kinda standardize.

Speaker 2:

So I think the success like, success for the protocol in, like, long term, is just that this is, like, another way that people can build, you know, apps or, like, web apps, that that is, like, very kind of open and integrated. And the key part is that, you know, you can always, like if if you're unhappy with the app, like, somebody can build an alternative that uses the same data that already exists so that you don't get locked into these platforms.

Speaker 4:

Yeah. This has been like an interesting concept for a while because I guess like the first or the internet was all about network effects where whoever dominated a network just held that dominance forever. And you can see that with Twitter where despite, you know, all the issues with it, like it's still extremely used because purely because of network effect. And it's possible that the next generation internet eliminates network effect as an advantage. Because it is like a weird monopolizing thing, you know, like once you get it, like you can never lose it.

Speaker 4:

Whereas in your model, you have to compete on the experience, nothing else. You can't compete on what we have users locked in or data locked in

Speaker 3:

and you can't leave.

Speaker 4:

It's interesting. It would be crazy if that's how the internet evolved because that just seems seems better overall.

Speaker 2:

Yeah. I think it's, like, it's a little bit idealistic in terms of, well, how are we gonna compete with, like but then if you think about it, like, it's it's pretty cool that we do have a community. Like, there's, like, a really passionate group of people. You know, they're not, like, necessarily technical. A lot of them are not.

Speaker 2:

A lot of them don't care about which I think, like, is actually, like, a success for decentralization. It's like, they they don't they don't fucking care about it. They're like, like, what is this product whole thing? Like, I don't wanna hear about it. Why are you not working on DMs and videos?

Speaker 2:

Yeah.

Speaker 4:

No. That that that's a goal. Like, it's obviously, like, the people that really care about technical details are always a small vocal group, but you have to make this stuff invisible. And if you don't, it's never gonna be something that is massively adopted. Yeah.

Speaker 4:

I I just opened up the app again. It feels totally different.

Speaker 3:

I did too.

Speaker 4:

It feels it feels really nice. Yeah. Yeah. Wow. Good job.

Speaker 1:

I'm reactivated.

Speaker 3:

You you're just gonna have to go on more podcasts. One person at a time, you can

Speaker 4:

just Yeah. We're we're gonna show them those, that reactivated number in their in their metrics.

Speaker 2:

Well, we need to we need to get those Android crashes fixed first because that's that's embarrassing.

Speaker 3:

So when you run into issues, like, and you discover it's like a react native issue, are you just like DM ing people and they fix it immediately? Is that how this works?

Speaker 2:

I just rant and, like, sometimes people respond. Like, I'm I feel bad because I think, like, I I've gotten a lot more, like, ranty assumption of, like, why is no one working on this? Like, text inputs don't preserve the position, like, of the carrot. Like, isn't this, like, you know, the thing that, like, a text input should do? Like but, you know, like, I know that, like, the team is very busy.

Speaker 2:

There's there's a lot of improvements they're working on that that are actually, like, long term bets, that we really need. So it's, like, I think, like, React Native is moving into a very good direction with new architecture. Fixes just like a bunch of architectural flaws that it used to have. And we're we're also kinda digging this approach of, like, we we get to, like, iterate super fast. So we built the UI for DMs, you know, direct messages in, like, 2 weeks for, you know, iOS, Android, web.

Speaker 2:

So that's that's that's pretty cool. And, like, most of the code is actually reused. But then for cases where, like, you want to fork by platform, you can do that at a component level. So you can even, like, fork like a wrapper component. So, like, on Android, it should, like, present like this.

Speaker 2:

And, like, iOS, it should present like this, but then the stuff inside is shared. So it's like a very powerful way to build. And we also hired a few people who know a little bit of native, like, the, you know, when when the React is just, like, not cutting it. That's that's, like, how it works at Facebook as well. Like, they don't just write everything in JavaScript.

Speaker 2:

They write native modules, and then you just interface with those native modules from JavaScript. So we have, like, a few things that are, like, this really needs to be like a native Swift thing, but we wrap it, and then we use it as a React component.

Speaker 3:

I'm actually getting ready to build a big expo app for statmuse. So I I actually care about this stuff. Like, this sounds very fascinating. I didn't know you could do the wrapper thing. That's incredible.

Speaker 2:

Yeah. People don't realize that. It's it's it's very interesting. Like, I think, like, native developers often think, oh, it's just like web use, so they don't even, like, you know, realize that it's it's native. And then, like, React developers don't often realize you can use native stuff there.

Speaker 2:

So it's it's really, like, when it's good, it's like the best of both worlds. And when it's bad, it's like the worst

Speaker 1:

of both worlds. So it's

Speaker 2:

a little bit of a mess.

Speaker 3:

I just remember like, we built the first app for statmuse, like, 8, 9 years ago. It was a long time ago. And it was just for it was just a Swift app. It was just for iOS. And I can remember the the horrors of, like, the App Store and all that.

Speaker 3:

And I I I've heard Expo makes a lot of that better, like provisioning profiles and all this stuff.

Speaker 2:

Yeah. It's great. Like, I'm I'm a huge fan of Expo. You know, we the like, I don't think we even, like, pay them any money. Like, may maybe we use some service, like, I'm not sure for, like, building stuff, but it's just, like, the, like, the amount of value we get out of it is completely incredible.

Speaker 2:

It papers over so many, you know, native issues. And even like React Native issues. Like, it's like if, you know, a real framework on top of React Native. Yeah. It has like its flaws, but overall, it's, it's just amazing how much time it's saving.

Speaker 4:

Yeah. Yeah. I use it like even, like, maybe 6 or 7 years ago. Even then, I was like, wow. This just something like the just the developing experience and, like, to be able to pops up hope on your phone and stuff.

Speaker 4:

Yeah. It's so much better than native. Are you guys also using gonna or if you're not already using it, you're gonna use it, like, React Native for web? Is that the direction you're going, or is that gonna be totally different? Yeah.

Speaker 2:

So that's that's what we're using now, because that's what, like, expo uses for kind of, like, as a web target. So that's what our website uses. It's not amazing. It's, like, I think, like, it compromises in a bunch of ways that are, you can still fork by platform. Right?

Speaker 2:

So, like, we actually, like, I forked the the list implementation because, you know, like, React Native was doing and the React Native app was, like, kind of mimicking, virtualization that React Native is doing. But, actually, it's like, it's a bit too complicated. It doesn't quite make sense on web, I think. Like, the way scrolling works is not quite what I wanted. So So I just, like, rewrote that component to just be, like, a plain list.

Speaker 2:

And that's what we use on web, and it listens to, like, window scroll. You know, like, it integrates with normal scrolling instead of doing its own thing. But it's kind of the longer term thinking there is I think we're very aligned with what, like, meta is doing now. So meta is exploring, kind of the opposite route where, it's called React strict DOM, where there's, like, a subset of, of DOM tags, that are, you know, like, on the web, it would just be directly targeting those text. So you would use, like, div and p and whatever and, like, use whatever props are in the web standard.

Speaker 2:

And you have this, like, APIs, like, intersection observer, resize observer, getBondedClientFrac, like, all the stuff that you're used to from the web. And then, so on the web, there's actually gonna be, like, no kind of thick compatibility layer because React Native web is a little bit thick. But with this approach, it's more like you're right kinda targeting the web almost, except like a subset. But React Native, has a shim for this, that is, like, pretty thin and is, is, like, nicer than the shim that's on the web. And gradually, those things get built into React Native itself, so it would like, the shim would get thinner.

Speaker 2:

And so I'm pretty excited about this approach. I think this aligns more with, like, what do we want, so we'll probably migrate to it eventually.

Speaker 4:

Is that so you you have a web app currently?

Speaker 2:

Yeah. Yeah.

Speaker 4:

And is that is that server render? Like, how does that work with React Native Web?

Speaker 2:

It's like it's like fucking megabytes of JavaScript. I we need to add

Speaker 3:

Dax is all about megabytes of JavaScript.

Speaker 1:

I love it. Yeah. He's into it.

Speaker 2:

Yeah. But this is this is the social media website. Like, this is actually, like, the base where Yeah.

Speaker 4:

Yeah. Yeah. People click on links from other places. Yeah. You you need to, like, be fast and minimal.

Speaker 4:

Makes sense.

Speaker 2:

Yeah. We we want the, like, I think, like, there's a lot of, like, low hanging fruit there, but the problem is just, like, we're not in a great place right now to, you know, we we can run JavaScript on the server. We already do for some stuff, but just like SSR is not integrated with Expo, the version that we're using, like, very well. And then, like, in the future, there's, like they have, like, a new router and stuff like this that we don't use yet because we started the project earlier. Mhmm.

Speaker 2:

That's, like, much more kind of server friendly. So I think we'll want to move to towards, like, an approach that's closer to, like, how Next. Js does it, you know, like, with, SSR. Like, server components would be nice. I don't know how many years we have to wait for that.

Speaker 2:

But, eventually and and, like, in general, I think, like, another constraint we have is that, currently, like, our client is very much again, like, it's like app ish. Right? It's, like, it's very it's like a thick client.

Speaker 1:

Mhmm.

Speaker 2:

And that's not ideal for a bunch of reasons for us. Like, we often want to do some stuff server side, to kinda preprocess it before sending it to the client. But the problem is right now, our server is kind of the API server for Blue Sky. So, like, other clients, people building out, clients also talk to it. So it has to be, like, a version.

Speaker 2:

You know, we have to be careful about, like, what we add there. We can't really, like, do, like, a single pull request spanning both sides. If we had time to invest in it architecturally, I think we would add kind of like a BFF layer.

Speaker 4:

Right.

Speaker 2:

You know, back end for front end, like, stands kind of in front in front of it. And that can, that is really conceptually a part of the client, but it just happens to run on the server. And so that would let us, like, iterate better and, like, move some things, like, more fluidly between both sides. But for now, we're like, yeah, like, fucking React Query. You know?

Speaker 2:

But I love it. But it's just like we do a bunch of things on the client that really belong on the server, and this actually negatively affects your the user experience. So we need to, like, start fixing it.

Speaker 3:

So it's interesting to think about your transition. Like, if a year ago, you left Meta and you went to Blue Sky, and now like, you just got done, like, working on your baby with all this new React stuff, and then you go and you're now you're working on a React Native app, and you don't get all the things you just built at your disposal. That's kinda painful. Like

Speaker 2:

Yeah. Yeah. I mean, I wasn't I wasn't, like, building all of that myself. Right? Like, mostly, I was, like, I was explaining how this stuff works, like fixing some bugs and contributing in in some ways.

Speaker 2:

Yeah.

Speaker 3:

But, like, into the ideas of it. Like, those

Speaker 2:

were Yeah. It feels like going back 5 years, really. It was like, oh.

Speaker 3:

I mean, I know

Speaker 4:

this stuff is, like, loosely defined, but, like, what is your relationship with React? And I've also always been curious, what is Facebook's like, how does Facebook think about React and, like, staffing their React team and, like, how it gets funded and, yeah, how do they think about all that stuff?

Speaker 2:

Yeah. I don't know if that changed. Like, I don't know what's the latest because, you know, it it has it has been there's a lot of investment into it, and Mhmm. I think the way the investment gets motivated depends on, like, who is the person who's, like, in the org chain, who's, like whose job it is to convince the people above. So, like, it's I think like that that that approach is, like, maybe different, also depending on, like, who are the people above.

Speaker 2:

So, like, that has also changed a couple of times. But I think, like, you know, for a long time, like, React was kind of, like, essential thing. Like, that's how ads work. You know, like, the ads all the ads interfaces, all the, like, you know, the the whole money making thing. Of course, like, it's it was used for, like, consumer side as well, but it's used less.

Speaker 2:

It was, like, like, common share that was kind of, like, the initial place where it was adopted. But the, you know, the the ads manager, like, the thing where you create ad campaigns, like, that was, like, all react, like, pretty kind of fast, you know, like, it converted to React. So that was this is, like, one of the biggest reacts the React apps out there. It's it's it's a complete mess, of course. Like, it has patterns from 2012, mixed with like, every, like, 3 years, somebody invests a framework there.

Speaker 2:

And so it's like it has, like, 5 different frameworks. It's, yeah, it's completely wild. But, that was, like, a big you know, like, of course, like, reacting needs to stay funded because that is the primary thing that, like, all our, you know The moneymaker. Yeah. Yeah.

Speaker 2:

But then, there was this whole transition to, just like rebuilding the web experience. So that was like 2017 or so, facebook.com. And that was rebuilt in React, and that was at the same time as we were like, well, client only isn't gonna cut it. Like, that's not really practical. I know a lot of people don't don't wanna hear that.

Speaker 2:

But, like, for, like, you know, at Facebook, I was just like a nonstarter. Like, it was obvious. No. Like, if you rebuild the consumer experience, you have to use the service because, like, consumer machines just can't do a bunch of stuff the service can do. And so and it just happened that we were kind of invested into this, like, foundational like, a lot of our approach was really almost like theory driven.

Speaker 2:

It was like, well, it doesn't make sense to do this because here is a more efficient way to do it. So, like, we might as well build this, and it will make sense. And then we found all the ways. Yeah. It does actually make sense.

Speaker 2:

It does actually solve these problems. So we were working on, like, concurrency and, just like rendering being interruptible so that, you know, if you start doing something else, you don't wait for the whole cycle to finish, like streaming, being just like removing all water fully processes from, like, the entire thing And also kinda changing it so that the slowest if there's, like, one thing that's slow, it doesn't penalize everyone. It kinda penalizes the thing that's slow.

Speaker 3:

Right.

Speaker 2:

So you can kind of because, like, if, you know, with a big company, there's always gonna be, like, parts of the code that are slow. So you kinda want to limit the, kind of the damage from it. So so that, like, other engineers can kinda be like, oh, this thing, you know, this thing is in in the pop up, but actually this pop up isn't is, like, lazy. So, you know, we're we're not gonna spend CPU cycles there unless it's like but we can, like, warm it up maybe. And, like, React can do all this kind of coordination because it knows about the user interface, and how we structure it.

Speaker 2:

And so we've been making all those improvements, and I think, you know, that with the website, like, that that product has worked out, although it was pretty wild, because we were, like, rebuilding the foundation of React at the same time as, like, the entire website was being rebuilt on top of it. So it was, like, quite, like, full of fires. But that worked out. And I think, you know, currently, like, social use native in a bunch of places like face like the Facebook app itself has, like, a 1,000 screens built with React Native. They're not, like, kinda primary, like, scrolling in experience, but there is there's just, like, the super long tail of that stuff.

Speaker 2:

And some apps are fully built React Native. And I think, like, I don't know if it's still the case. Like, I think one of the kind of longer term again, like, you you know, we need to motivate, like, why, you know, why fund React. Right? I think from methods, like, one of the strategic, like, meta doesn't have a kind of a platform.

Speaker 2:

Right? Like, Google owns Android. Apple owns iOS. So meta doesn't really have, like, a first class. Like, here's our stack.

Speaker 2:

Here's our language. Here's this. And React is very much, kind of in that vein. Like, I think if they go into, you know, their whole, like, VR, AR vision, like, React is being used there. So I think, like, there is a something kinda like the long shot, I think, is we need to keep investing into this paradigm, and we'll make this, like, paradigm work really well on our, you know, own, like, hardware or software or, like, operating system or whatever.

Speaker 2:

And we'll be able to, like, have this developer mind share of, like, people already know how to use this. So I think partially, it's it's like that is kind of the longer term story, whereas the shorter term story is just like, well, it's like every we have a lot of stuff that's built with it. So I think that's kinda like how Meta maybe thinks about it.

Speaker 4:

Yeah. That that makes a lot of sense. That's, yeah, it's super interesting. The platform thing, I never thought about before. And then so now that you're not there

Speaker 2:

pulled me on this, but also, like, I'm not involved now. So that's, you know, that's kind of my understanding of, like, how No.

Speaker 3:

No. No.

Speaker 4:

It's a good theory. So, I mean, now that you're not there full time so anything you do now related to React is just you personally doing that on your time? Is that how that that works?

Speaker 2:

Yeah. And I don't really like, I thought I'd have more time, but honestly, like, yeah, we're just like, we need to fix, like, why is the light box not showing the whole image on Android? Because, like, the status bar height needs to be subtracted from, like

Speaker 1:

because it A lot of Android issues,

Speaker 3:

sounds like. So

Speaker 2:

Sorry. That's just been my day. Yeah. They fixed, like, 4 things in one day. Actually, it's a cut of touch because, like, yeah, people can start the app.

Speaker 2:

But, yeah, I'm not, like, super involved. Like, I'd like to maybe, like, come to meetings, but I think I was also ramping up. Like, I was just, like, fluent in React Native, and it was, like, how, you know, it was actually hard at first. I think I've I've mostly learned it now, and I also moved a little bit into management. So, like, I'm doing, like, a mix of, like, management and IC work.

Speaker 2:

So I don't really yeah. I don't go to, like, React meetings, but I so I crashed them a couple of times when I had something that I cared about. So I'm hoping maybe, like, you know, with some time, I'll be able to be, like, a little bit more involved. But I did send I did send a couple of pull requests for React 19. So

Speaker 3:

Nice.

Speaker 4:

Nice. So I can Can we can

Speaker 3:

we shift gears, into something completely unrelated to all this? Yes. But I really wanna get Dan's opinion. I mean, Dan, you've worked now at 2, like, major social media companies. You're obviously a very prominent participant in social media.

Speaker 3:

And this is just top of mind for me because, like, the current, I guess, the current meta on Twitter right now is, like, but, like, kind of the framework thing where people are going at each other. Do you think the Internet is mean or too mean? Like, there's this kind of, like, cohort of people right now that are sort of very vocal about, stop picking on me. This is like I've worked very hard on this. But then there's the other side where it's like, it's nice to, like, sharpen each other, and we're, like, challenging each other.

Speaker 3:

And your app is broken, and it's okay. My app's broken too. Do you have thoughts on all this? Is the Internet too mean?

Speaker 2:

Yeah. I I mean, I've seen some of it. I think I don't know if it's meaner than it used to be. It seems I think the largest shift, like, I'm seeing is just I think people who are kind of, like, entertainers, and I'm not saying this, like, in, like, a bad way.

Speaker 3:

Zach and I feeling called out. We're

Speaker 1:

sitting here

Speaker 4:

with our with our super fancy cameras, like Yeah.

Speaker 2:

I think there's just, like, a lot more of that than it used to be. Like, it's it's kinda like a bigger niche and, like, more prominence. It's a valuable service in some ways, especially if you have some experience with, like, building things for production. Great.

Speaker 1:

Yeah. Yeah. Yeah.

Speaker 2:

Because I think we don't we don't hear, you know, from those people always, a lot. So it's it's nice when people, like, share, you know, like things that they know in, in a digestible way. I think some of the I think it's gotten a little bit more dramatic than it used to, you know, with the whole, like, YouTube videos. Like, oh, I'm gonna make a video about this. And then there's like this feels like, you know, you can just, like, quote, post, like, in some ways, it feels a little but I'm also like, I think I'm staying out of it more.

Speaker 2:

I used to enjoy it more, and I think now I'm like, yeah, you know, whatever. But in general, I think I like I like the Internet. It, you know, it has good and bad parts. But I think it's it's, again, kinda going back to this topic of communities. Like, I think different communities are gonna have, like, different norms.

Speaker 2:

It's they're kind of fluid. I like, you know, I like the fluidity of Twitter of, like, you can't really say, like, what exactly is, like, this community because, like, some person might, like, start pulling it into, like, a different direction, or there might be, like, a new branch of it and so on. And so I think, like, I'm I'm I'm kind of interested in, like, building tools for people to, to kinda have this kind of, like, fluidity, but also have discovery. And then, you know, if different communities have different norms and have, like, some ways to kind of enforce those norms or at least, like, just, like, be chill, like, within their space and maybe, like, somebody else has, like, a different space, then we can, like, experiment with it. I think that's that's really valuable.

Speaker 3:

I think there is a place. I I don't know, like, I'm not smart enough to say what it should be, but if Blue Sky worked on the, like, the community aspect of, like, sub communities and having tools for that, I felt like we needed that on Twitter. And when Twitter launched the communities thing, it's like something between Discord and Twitter where, like, Twitter is just like a mess of public everything. And we all kinda collide and it it turns into just, like, the the drama. I mean, it really just kinda, like, devolves to drama.

Speaker 3:

But, like, they they built this, the Twitter feature for communities. There's an AWS community that I started, and a lot of people in it, not a lot of tools for, like, managing that community, and it just becomes this crazy filter for spam. I mean, just, like, they did they didn't really invest in it. So if Blue Sky could, like, make that thing that I feel like should exist exist, that seems like a good a good path. I just gave you my my 2¢.

Speaker 2:

Yeah. I mean, we're we're pretty excited about this direction as well. There's it the other thing is just, like, again, like, we're just building the foundation. So I think this is one of the things where, maybe you because it also kinda feels like a Twitter clone right now. Right?

Speaker 2:

Like and, like, in a lot of ways, we're like, okay. Let's not, like, reinvent the wheel. Like, here is, like, let's check how this thing works on Twitter just so we match the baseline of, like, what people expect and kind of this, like, accumulated wisdom. But I think, yeah, like, community is is one thing where we really think no. Like, it should be there's, like, a different way to do it that is, more compelling.

Speaker 2:

So stay tuned. Maybe Yeah. In a couple of months, you'll see something.

Speaker 3:

Yeah. We're we're reactivating.

Speaker 2:

Dead by that time. Yeah.

Speaker 4:

This is a thing with building companies or products that's, like, it's the way it is, but it's so frustrating because you have to spend a lot of time doing the baseline before you can do the things you actually want to do. And like the baseline often means like get into a place where your company can even exist long term. Like you have to do all this upfront work and it's not even like the thing that you actually really are excited about. So yeah, like this stuff requires just so much patience. It's just, it's just like just imagine all the things you wanna do, but, like, you it's not things that it's things that you, like, get to do if you reach, like, a baseline level of success, but it's, like, the only reason you started doing everything.

Speaker 4:

So, yeah, that's always been my, like, big pain with, just building companies from from 0. It's, just waiting for that day we can flip over to the fun stuff.

Speaker 3:

Yeah. Yeah. Well, this has been fun stuff. Go ahead, Max.

Speaker 4:

No. I was just gonna say, going back to the the drama thing on Twitter, I found it, it's it's really interesting to me how people interpret stuff online. I think people have, like, wide ranges of things. Like, from my point of view, I have very clearly two tones. I have one tone where I'm just completely messing around because I think it's funny, and I have another tone where I'm serious.

Speaker 4:

And to me, it's, like, very clear. Like, when I'm just complaining about Next. Js, like, that's me being funny because I like being this funny character that just hates it irrationally to, like, a crazy degree. And and I find that fun and, like, a lot of people, you know, reply. And I had someone I had a few people

Speaker 2:

I actually think that's kinda mean.

Speaker 4:

No. I know it's mean. I know it's mean. But okay, so here's here's the dichotomy for me, right? I care a lot about Next.

Speaker 4:

Js users. I spend a lot of time helping them do what they want to do. So the reality of it is like, like, I actually spent a lot of time on this stuff and like, I care about this community. But for me to blow off steam, I like pretend like I like I just I think it's the worst thing in the world. And if you notice, I never talk about anything technical.

Speaker 4:

I'm never like, here's a technical problem in Next. Js. I'm always like, if you use Next. Js, you're gonna be single forever. You know?

Speaker 4:

It's just stuff that's totally not based in any reality. And for me, that's just from I get that's annoying. I totally get that for some people, that's, like, the most annoying thing ever. But for me, that's, like, my outlet. Like, it's that's, like, the way that I, like, you know, enjoy myself.

Speaker 2:

For what it's worth, like, I think, you know, like like, this format actually kinda humanizes it. Right? Like, I think, like, Twitter Spaces, but, like, it was like a step in the right direction in the sense where kinda lets people you you just kinda when you see the person, I think it feels different. Like, we you know, you can be like a one dimensional character, but also there's, like, a little bit of, like, oh, here's, like, the 3 d version, and then it it feels a bit different. So yeah.

Speaker 4:

No. No. It makes sense because I realized because I'll get messages from people being, like, kind of telling me, like, hey, you shouldn't be like x y z. And I'm realizing they only get some like, they might see 3 tweets of mine in a row of, like I tweet obsessively, obviously, everyone knows this, of, like, the 10,000 I I posted. And those 3 communicate like a very one dimensional person.

Speaker 4:

And this, like, this is, like, so mind blowing to me that, like, someone might see 3 tweets of mine that seem really smart, and they think, like, oh, Dax

Speaker 1:

is a

Speaker 4:

really smart person. And someone else might see 3 tweets where I sound like an idiot, and I go, Dax is an idiot. And I do this with other people. Like, I do this with people all the time. So it's just impossible to escape even if you're even if you're aware of it.

Speaker 4:

So, yeah, it's just this weird thing we all partake in and just leads to all these, like, weird situations, I think.

Speaker 3:

Yeah. Yeah. It's totally different when you've actually interacted with somebody. Like, you've whether it's a video call or you've met at a conference or whatever, you you hear their tweets completely differently.

Speaker 2:

Yeah. Yeah.

Speaker 3:

Like, Ryan Florence is that way for me. I before I met Ryan, before I really got his tone, I was just a completely different person. I just I just thought he was an asshole. I mean, honestly. And just recently, it's like I've gotten to know him, and now I I hear it totally differently, but then I get to see people's reaction to him.

Speaker 3:

And I'm like, yeah. I remember that. I remember feeling that way.

Speaker 4:

Yeah. And it's just like it's it's like a global community. Right? Like, everyone has like, local cultures are so deeply a thing. Like, I

Speaker 3:

Oh, sure.

Speaker 4:

I have, like me and Adam are totally different. Like, I am very, like, northeastern New York style culture. And everyone I grew up with, when I act the way I do, like, they it's like a normal thing. But then people from other parts of the world, they're like

Speaker 3:

I feel like you're being mean.

Speaker 4:

Am I crossing lines

Speaker 1:

or am

Speaker 3:

I because in the Midwest, we don't say what we think. We just we sort of, like, pretend.

Speaker 4:

I I wanna talk about a very sweet scenario. I wanna bring up the Aaron situation again. So, do you know Aaron Francis then? He's a so he makes a he makes a bunch of, content. He worked at PlanetScale.

Speaker 4:

Extremely, extremely talented. Like, one of the most talented people at, like, Truly Explaining.

Speaker 3:

He's one of those entertainers that that actually builds things.

Speaker 1:

Yeah. Yeah.

Speaker 2:

Okay. Yeah. Yeah. I'm asking him. Yeah.

Speaker 2:

I just I just didn't think I'm missing him.

Speaker 4:

So he he's he's very legit. And we and then we're friends. He got laid off from Plan CEO and, like, he was, like, trying to figure out what he was gonna do. And I made a joke. I replied to him making a joke of being like, oh, you're probably tired from begging people to hire you.

Speaker 4:

And a bunch of people saw that, and they were like, woah. That's so mean. Like, you just got laid off. But in my, like, weird New York head, the way this works is I'm giving him a compliment because I'm saying, I believe in you so much that you're so capable and talented that I can say this joke about you because it's so obviously you're obviously gonna, like things are gonna work out. And that's how I, like, operate with everyone.

Speaker 4:

Like, when I'm close to people, I, like, insult them in that way with the underlying thing being a compliment. But culturally, that's, like, a very weird specific thing. And so we relate to that, some people don't. But, yeah, online, it's like a it's like a mix of everything. So it's weird.

Speaker 3:

It is weird. The Internet turns out weird. But Dan likes the Internet. I mean, we got that quote. I think the Internet is good, he said.

Speaker 2:

Sometimes.

Speaker 3:

Sometimes. I asked if you thought the Internet was mean. What I really meant was, do you think Dax is mean? And we got an answer. So

Speaker 4:

we've

Speaker 3:

been on Twitch this whole time. I don't we didn't acknowledge Twitch at all. But, Dan, we're on Twitch. And there's various things. Hi, Twitch.

Speaker 2:

A couple of times. It's like every time I try to use it, it, like, makes me watch an ad, and I'm like, never again.

Speaker 3:

It's more of a place where us entertainers hang out. It's not really a place for people who, aren't in that world.

Speaker 2:

But who has time to, like, watch it, though? I don't understand.

Speaker 3:

I yeah. I don't actually understand the viewing experience. I've tried, like, because I've got a lot of friends that stream on Twitch. It's very hard for me to sit in Twitch chat and get anything done.

Speaker 4:

Very possible. Yeah. This is another weird dynamic where, Dan, you're talking about YouTube stuff earlier. I don't watch any YouTube at all. I don't watch anything technical.

Speaker 4:

Like, I will if I'm, like, trying to get into a new technical topic, I'll just go watch, like, the top three most important talks or whatever. But besides that, I'm not like, I don't get daily YouTube habit. But this feels like a lot of people do. And I it's so wild to me because it's so different from how Yeah. My day to day goes, how I learn things.

Speaker 4:

But we do produce this stuff. We just don't, you know, consume it.

Speaker 3:

I would love to see Dan on the entertainer arc to become a YouTuber.

Speaker 4:

I wish you became a YouTuber. I would love to see your thumbnails. That would

Speaker 3:

be so amazing.

Speaker 2:

Like, I really thought about it, but I don't know I think, like, I don't know how, partially.

Speaker 3:

He's got really good hair. Like, you would do really well

Speaker 4:

on YouTube. 70% of it. Want hair. I I posted about

Speaker 2:

edit everything. Right? Like, you have to do this, like, editing thing?

Speaker 3:

Not necessarily. Like, Prime? The all his YouTube is just, like well, I guess, no, Flip edits. I don't know. I don't know what I'm talking about.

Speaker 3:

People get pretty raw though. There I think the Gen z thing is to, like, be authentic and, like, don't edit it much and hold your microphone to your face like a little lipoma.

Speaker 4:

A little

Speaker 1:

microphone. Yes. It's like

Speaker 4:

I saw Marty

Speaker 3:

Zuckerberg do

Speaker 4:

that. Yeah.

Speaker 3:

You you do so good, Dan. I would I would watch. And I don't watch YouTube, but I would totally watch.

Speaker 2:

I'll consider it.

Speaker 4:

Okay.

Speaker 3:

If you don't come work at Samuels, the offer still stands.

Speaker 4:

Right. So, you know, if you get tired of building the future of social media

Speaker 1:

Right.

Speaker 3:

Then you could come you could come work for me

Speaker 4:

at Sammy's.

Speaker 1:

It'd be fun. We'd have

Speaker 3:

a good time. I feel like we should get off here. I don't know. Dan's got I see responsibilities. He's got

Speaker 4:

It's direct reports. Is currently not working. So

Speaker 3:

Yeah. And Android users are in shambles all over the world.

Speaker 2:

We have actually, like, while we were talking, like, there's, I'm just reading, like, our Slack, and there's there's another Android problem.

Speaker 1:

Oh, no.

Speaker 3:

I feel like it's Android's fault. I feel like Android's It's more

Speaker 4:

efficient for you guys to figure out how to eliminate Android market share. Like, that might actually be a better use of

Speaker 3:

your time.

Speaker 1:

Thank

Speaker 3:

you so much for coming on, Dan. This is fun. It's nice to meet a face to face.

Speaker 2:

Yeah. Thank you for asking all these questions. Usually, people just ask me about, like, Redux or something. So that's

Speaker 1:

appreciate it.

Speaker 4:

The thing you built, like, 10 years ago? Yeah. Yeah. No. No.

Speaker 4:

Yeah. This stuff is super interesting, and I think, it was cool to see you move to blue sky. Obviously, the thing with Twitter what do they do? They, like, shadow banned you because you, like, mentioned blue sky. It's

Speaker 2:

Yeah. It's stupid. The thing is, like, I I I, like, I feel guilty even, like, bringing it up because it sounds, you know, like this, kinda right wing grifter nonsense. Like, I would show conspiracy

Speaker 1:

theory. Yeah.

Speaker 4:

But you actually were. Yeah. I remember I I to be honest Yeah.

Speaker 2:

I mean, I I ran an experiment. Like, it it ditched, you know, the same tweet, both accounts, and, like, I did a poll, like, which, you know, does it show up in for you and following? And for the new account, it was an even split. And for the old account, it was just, like, 95% or something like this. Wow.

Speaker 2:

That's crazy. In following. And then people who said, like, for you, they like, some of them later said, oh, no. It's actually I just clicked the button or whatever.

Speaker 4:

Yeah. So I have to say as annoying that it is, it brings me a lot of joy whenever I read Dan Abramov 2 in your username because it's it's so funny. Like,

Speaker 2:

you gotta have

Speaker 4:

to click start over. It's, it's just such a funny thing.

Speaker 3:

Has anyone has anyone searched the open source Twitter algorithm stuff for Dan? Have we looked just to make sure? It's not right there in plain sight. It's just plain sight that they put it in the source code.

Speaker 4:

That that is really funny. Okay. Well, thank you for joining us. This was this was great,

Speaker 3:

we hear you about this stuff. Don't have, like, an outro or a way to end the show.

Speaker 4:

So we're just gonna say that. Just go. Yeah. Okay.

Speaker 1:

I'll just get back.

Speaker 4:

Thank you. Bye bye.

Speaker 1:

Yeah. Thanks again. Yeah. You can

Speaker 4:

stop the recording.

Creators and Guests

Adam Elmore
Host
Adam Elmore
AWS DevTools Hero and co-founder @statmuse. Husband. Father. Brother. Sister?? Pet?!?
Dax Raad
Host
Dax Raad
building @SST_dev and @withbumi
Dan Abramov on Working at Bluesky, React, and the Social Internet
Broadcast by