WEBVTT

1
00:00:00.000 --> 00:00:06.000
What we have for you next is Trezi.

2
00:01:30.000 --> 00:01:36.000
All right everyone, we're ready to go.

3
00:01:36.000 --> 00:01:43.000
Trezi has built an amazing amount of stuff right when it started on the platform.

4
00:01:43.000 --> 00:01:48.000
Games industry labeler, I think you said 7,000.

5
00:01:48.000 --> 00:01:51.000
Okay.

6
00:01:51.000 --> 00:01:59.000
And has been working on a really amazing game project that takes even further that I'm really looking forward to hear from.

7
00:01:59.000 --> 00:02:01.000
Thank you Trezi.

8
00:02:01.000 --> 00:02:06.000
Thank you Boris.

9
00:02:06.000 --> 00:02:17.000
I would like to tell you all a story about how I ended up supporting the game dev industry on Bluesky and the atmosphere accidentally.

10
00:02:17.000 --> 00:02:22.000
But first, in introduction, my name is Trezi.

11
00:02:22.000 --> 00:02:24.000
I've lived many lives.

12
00:02:24.000 --> 00:02:27.000
I've been a professional musician, a nitty filmmaker.

13
00:02:27.000 --> 00:02:29.000
I've been a graphic designer, a stunt actor.

14
00:02:29.000 --> 00:02:34.000
But most importantly, I've been a software engineer for more than two decades.

15
00:02:34.000 --> 00:02:39.000
And I've been working in and around the games industry for many years.

16
00:02:39.000 --> 00:02:41.000
I'm also the founder of Burbhouse Games.

17
00:02:41.000 --> 00:02:48.000
It's a game studio focused on building games using web technologies.

18
00:02:48.000 --> 00:02:56.000
I'm also the curator of the game dev feeds on Bluesky, the operator of the games industry labeler also on Bluesky,

19
00:02:56.000 --> 00:03:01.000
the author of Happy View and Debuff and the steward of the Pinteract, the founder of cartridge.

20
00:03:01.000 --> 00:03:04.000
But I might be maybe getting a little bit ahead of myself here.

21
00:03:04.000 --> 00:03:10.000
So we'll get into all of it.

22
00:03:10.000 --> 00:03:18.000
I want to preface this story by saying that I did not start this journey that I'm about to describe with some master plan.

23
00:03:18.000 --> 00:03:22.000
I didn't sit down and say I'm going to save video games.

24
00:03:22.000 --> 00:03:26.000
I joined Bluesky because I was mad at Twitter.

25
00:03:26.000 --> 00:03:28.000
And so I started building.

26
00:03:28.000 --> 00:03:30.000
That's just sort of what I do.

27
00:03:30.000 --> 00:03:33.000
And once the ball was rolling, there wasn't a whole lot of stopping it.

28
00:03:33.000 --> 00:03:38.000
So I'm going to walk you all through how I got to where I am today with all the things that I've built.

29
00:03:38.000 --> 00:03:46.000
And I'm hopeful that, you know, with that discussion, I can help others get started on some new projects,

30
00:03:46.000 --> 00:03:49.000
maybe find direction on things that they've already begun.

31
00:03:49.000 --> 00:04:01.000
But most importantly, by the end of this thing, we're going to try and distill a blueprint that you and other builders can use to make the atmosphere work for whatever industry you care about.

32
00:04:01.000 --> 00:04:05.000
To kick things off, let me tell you about the game dev feeds.

33
00:04:05.000 --> 00:04:10.000
When Bluesky launched custom feeds, I was stoked.

34
00:04:10.000 --> 00:04:15.000
Not only were we getting algorithmic choice, but we had community control over it.

35
00:04:15.000 --> 00:04:17.000
And that was such a powerful idea.

36
00:04:18.000 --> 00:04:19.000
I was hooked.

37
00:04:19.000 --> 00:04:22.000
I love video games and the game development community.

38
00:04:22.000 --> 00:04:29.000
So I thought it sure would be cool to gather all of that content in a way that has never happened on Twitter.

39
00:04:29.000 --> 00:04:31.000
So I built the game dev feeds.

40
00:04:31.000 --> 00:04:36.000
There's the core of the game dev feed itself, which is sort of the core of the community.

41
00:04:36.000 --> 00:04:40.000
It acts as a town hall for our little band.

42
00:04:40.000 --> 00:04:41.000
There's also game news.

43
00:04:41.000 --> 00:04:43.000
We've got jobs and careers.

44
00:04:43.000 --> 00:04:55.000
I also have the screenshot Saturday and wish list Wednesday feeds, which are both manifest versions of hashtag trends that game devs used to use on Twitter to share their games outside of the developer community.

45
00:04:55.000 --> 00:04:58.000
At first, these were nice little community tools.

46
00:04:58.000 --> 00:05:01.000
There were tens of people using them.

47
00:05:01.000 --> 00:05:02.000
I was very happy with that.

48
00:05:02.000 --> 00:05:04.000
And then there were hundreds.

49
00:05:04.000 --> 00:05:08.000
And then suddenly there were thousands of feeds blew up.

50
00:05:08.000 --> 00:05:13.000
And today I have around 32,000 daily active users across the feeds.

51
00:05:13.000 --> 00:05:17.000
It's probably a drop in the bucket for Indra's news feeds.

52
00:05:17.000 --> 00:05:21.000
But for a much smaller community like game devs, it's pretty exciting.

53
00:05:21.000 --> 00:05:22.000
So I hadn't planned for it.

54
00:05:22.000 --> 00:05:32.000
But the community that had been gathering slowly, suddenly they decided that Bluesky and specifically the feeds that I'd been building made for a pretty good place to be.

55
00:05:33.000 --> 00:05:36.000
Shout out by the way to Gray Social, who hosts all of my feeds.

56
00:05:36.000 --> 00:05:41.000
They've provided me with the tools that enable the feeds to thrive the way that they do today.

57
00:05:41.000 --> 00:05:47.000
If it wasn't for Devin reaching out about a year ago, I don't know if I'd be up here speaking.

58
00:05:47.000 --> 00:05:49.000
A bit of time passed.

59
00:05:49.000 --> 00:05:52.000
Many alfs were exchanged.

60
00:05:52.000 --> 00:05:55.000
And then Bluesky launched labelers.

61
00:05:55.000 --> 00:06:01.000
I thought, as I was seeing what other people were doing with them, what if I could build a labeler that helps people in the game dev?

62
00:06:01.000 --> 00:06:06.000
People in the game dev industry find other professionals and track them throughout their timelines.

63
00:06:06.000 --> 00:06:10.000
Developers, studios, publishers, journalists, media creators.

64
00:06:10.000 --> 00:06:13.000
It seemed like a fun little project.

65
00:06:13.000 --> 00:06:15.000
So I built it.

66
00:06:15.000 --> 00:06:17.000
I set up my own Ozone instance.

67
00:06:17.000 --> 00:06:20.000
I was manually reviewing every request.

68
00:06:20.000 --> 00:06:21.000
It blew up.

69
00:06:21.000 --> 00:06:25.000
I was completely underwater with thousands of labeling requests coming through.

70
00:06:25.000 --> 00:06:27.000
But the community found it really useful.

71
00:06:27.000 --> 00:06:34.000
It helped them define and understand professional relationships and trust relationships across Bluesky.

72
00:06:34.000 --> 00:06:43.000
Today, the labeler has over 6,000 game developers, 450 studios, nearly 500 content creators in the game space,

73
00:06:43.000 --> 00:06:49.000
700 games business folks, more than 150 games journalists.

74
00:06:49.000 --> 00:06:57.000
In total, like we said earlier, I've applied more than 9,000 labels to games industry professionals and businesses.

75
00:06:57.000 --> 00:07:04.000
The games industry, you know, it's continued to show up on the atmosphere in a way that I really never expected.

76
00:07:04.000 --> 00:07:06.000
And I didn't know it at the time.

77
00:07:06.000 --> 00:07:14.000
But working on the labeler and on the feeds had me working through a lot of questions that it turns out I would need to answer pretty soon.

78
00:07:15.000 --> 00:07:17.000
So things settled for a while.

79
00:07:17.000 --> 00:07:20.000
But that brings us to last year, 2025.

80
00:07:20.000 --> 00:07:23.000
That's when the D listings happened.

81
00:07:23.000 --> 00:07:30.000
A radical group put pressure on payment processors like Visa and MasterCard, who in turn put pressure on game platforms,

82
00:07:30.000 --> 00:07:35.000
do D lists, adult and not-safe-for-work games from Steam.

83
00:07:35.000 --> 00:07:36.000
It happened overnight.

84
00:07:36.000 --> 00:07:37.000
There was no warning.

85
00:07:37.000 --> 00:07:40.000
Game developers were waking up to find their content gone.

86
00:07:40.000 --> 00:07:44.000
And the appeals process was scattered at best.

87
00:07:44.000 --> 00:07:49.000
Now, it doesn't matter if you play or care for adult or not-safe-for-work games.

88
00:07:49.000 --> 00:07:50.000
Some people do.

89
00:07:50.000 --> 00:07:53.000
And regardless, those games deserve to exist.

90
00:07:53.000 --> 00:07:57.000
And the developers that make them deserve to be able to express their art.

91
00:07:57.000 --> 00:08:01.000
But the D listings didn't stop at adult content.

92
00:08:01.000 --> 00:08:07.000
Marginalized communities like LGBT developers and developers of color also got swept up.

93
00:08:07.000 --> 00:08:10.000
Many of these games had nothing to do with adult content.

94
00:08:10.000 --> 00:08:15.000
But they were flagged or pulled because the dragnet on the D listings was wide.

95
00:08:15.000 --> 00:08:19.000
And the appeals process, again, was barely functional.

96
00:08:19.000 --> 00:08:28.000
A few months later, the same thing happened on itch.io, which has long been considered a bastion for indie games, especially the weird ones.

97
00:08:28.000 --> 00:08:33.000
Developers woke up to find their games gone, revenue gone, visibility completely wiped.

98
00:08:33.000 --> 00:08:39.000
And because none of that data belonged to the developers, there was little they could do.

99
00:08:39.000 --> 00:08:42.000
Now, remember, I'm running the labelers.

100
00:08:42.000 --> 00:08:45.000
I'm running the largest game dev feeds on Bluesky.

101
00:08:45.000 --> 00:08:48.000
I have tens of thousands of developers in this community.

102
00:08:48.000 --> 00:08:49.000
They're not strangers.

103
00:08:49.000 --> 00:08:57.000
They're people that I interact with regularly, people I've built reputation with that have put their trust in me as a steward of this community.

104
00:08:57.000 --> 00:08:59.000
So they started reaching out.

105
00:08:59.000 --> 00:09:04.000
Throughout all of this, they were posting publicly and reaching out to me privately in DMs.

106
00:09:04.000 --> 00:09:07.000
And the question was, what can we do to survive this?

107
00:09:07.000 --> 00:09:16.000
How can we use the atmosphere to make it so that no platform and no payment processor has the power to make a developer's work disappear?

108
00:09:16.000 --> 00:09:20.000
At first, I said, I don't know.

109
00:09:20.000 --> 00:09:21.000
Good luck.

110
00:09:22.000 --> 00:09:27.000
I already had a lot on my plate, but it sort of stuck in my head.

111
00:09:27.000 --> 00:09:31.000
I couldn't really quit thinking about it, so I did start building.

112
00:09:31.000 --> 00:09:37.000
Before I get into what I actually built, I do a lot of preface.

113
00:09:37.000 --> 00:09:40.000
I'm going to share some things that I picked up along the way.

114
00:09:40.000 --> 00:09:47.000
Throughout all of this work, I've been trying to convince game developers to migrate from Twitter to Bluesky onto the atmosphere.

115
00:09:48.000 --> 00:09:54.000
In all of those conversations, I've had to explain why Bluesky and the atmosphere mattered.

116
00:09:54.000 --> 00:09:58.000
I had to do it to people who could not care less about the protocol.

117
00:09:58.000 --> 00:10:05.000
But if the blueprint that I'm handing you today is going to work for other industries, you're going to need to do the same thing.

118
00:10:05.000 --> 00:10:12.000
One thing to keep in mind with this is that while game devs are people, too, they're not average users.

119
00:10:13.000 --> 00:10:14.000
They're creators.

120
00:10:14.000 --> 00:10:17.000
They often use social media more like a storefront than anything else.

121
00:10:17.000 --> 00:10:22.000
So it's a little bit different than talking to your average individual that's just setting up their social media.

122
00:10:22.000 --> 00:10:27.000
So I'm essentially speaking to them like businesses, not individuals.

123
00:10:27.000 --> 00:10:31.000
With that in mind, here's the framing that I found actually clicks.

124
00:10:31.000 --> 00:10:35.000
Number one, you choose who stewards your data.

125
00:10:35.000 --> 00:10:37.000
We all know this one, right?

126
00:10:37.000 --> 00:10:39.000
You get to decide who's responsible for your data.

127
00:10:39.000 --> 00:10:42.000
If you sign up on Bluesky, they're the steward of your data.

128
00:10:42.000 --> 00:10:46.000
If you signed up on Black Sky, you can thank Rudy and his team for keeping it safe.

129
00:10:46.000 --> 00:10:52.000
And if you're deeper in the atmosphere, like a lot of us in this room, maybe your data is on a Raspberry Pi in your kitchen.

130
00:10:52.000 --> 00:10:53.000
I don't know.

131
00:10:53.000 --> 00:10:56.000
The point is, it's your choice.

132
00:10:56.000 --> 00:11:02.000
The control is in your hands, and you can choose a new steward later, even if the current one doesn't want you to leave.

133
00:11:02.000 --> 00:11:04.000
Steam would never.

134
00:11:05.000 --> 00:11:08.000
Number two, your data works everywhere.

135
00:11:08.000 --> 00:11:08.660
If I make a post on Bluesky, any other app that supports those posts, Black Sky, North Sky, Euro Sky, and a soda and a b

136
00:11:15.000 --> 00:11:19.000
bellicagillion more, can also see that post.

137
00:11:19.000 --> 00:11:23.000
Users on those platforms can like it and engage with it.

138
00:11:23.000 --> 00:11:32.000
And if you choose a new steward later, you can take all of that data with you because it belongs to you, not to any single platform.

139
00:11:32.000 --> 00:11:36.000
And number three, the community is smaller.

140
00:11:36.000 --> 00:11:38.000
But this is real.

141
00:11:38.000 --> 00:11:43.000
On Twitter, you scream into an algorithm that prioritizes exploitation over engagement.

142
00:11:43.000 --> 00:11:52.000
On Bluesky, when you post about your game, the people who have opted into the game dev feed, they're there for that content, so they actually see it.

143
00:11:52.000 --> 00:11:59.000
Your screenshot Saturday posts get real engagement from people who genuinely care, not bots and drive-by follows.

144
00:11:59.000 --> 00:12:11.000
For anyone trying to build an audience, whether that's game devs, musicians, educators, whoever, a smaller community paying attention is worth far more than a massive one that isn't.

145
00:12:11.000 --> 00:12:13.000
So that's it.

146
00:12:13.000 --> 00:12:15.000
That's what's been working for me.

147
00:12:15.000 --> 00:12:19.000
You own your data, it works everywhere, and the people here are actually engaged.

148
00:12:19.000 --> 00:12:24.000
That's the spiel that's been working really well for bringing these folks over to the atmosphere.

149
00:12:24.000 --> 00:12:33.000
So I'd encourage all of you to steal it because you'll need it when the people in your industry start asking why they should care.

150
00:12:33.000 --> 00:12:35.000
Okay, so back to the building.

151
00:12:35.000 --> 00:12:40.000
The community was asking for help, and I had an idea of how to give it.

152
00:12:40.000 --> 00:12:46.000
The first question I had to answer was, what does video game data look like on the atmosphere?

153
00:12:46.000 --> 00:12:49.000
Right now, every platform has its own answer.

154
00:12:49.000 --> 00:12:57.000
Steam has its own data format, Epic has its own, and then there's IGDB, which is worth pausing on.

155
00:12:57.000 --> 00:13:02.000
Because IGDB is the de facto game database for most of the industry.

156
00:13:02.000 --> 00:13:05.000
Discord pulls game data from IGDB.

157
00:13:05.000 --> 00:13:06.000
So does Xbox.

158
00:13:06.000 --> 00:13:07.000
So does Epic.

159
00:13:07.000 --> 00:13:13.000
GOG, Unity, dozens of major companies depend on it.

160
00:13:14.000 --> 00:13:19.000
And it's owned by Twitch, which is owned by Amazon.

161
00:13:19.000 --> 00:13:24.000
Fun fact, Amazon also owns IMDB.

162
00:13:24.000 --> 00:13:31.000
One company controls the authoritative databases for film, television, and games.

163
00:13:31.000 --> 00:13:38.000
Every one of the platforms I mentioned earlier is building on data owned by a single corporation,

164
00:13:38.000 --> 00:13:43.000
and the developers, whose games are in the IGDB, they're guests.

165
00:13:43.000 --> 00:13:48.000
They can submit corrections, but they don't own anything.

166
00:13:48.000 --> 00:13:54.000
In my conversations with game developers, I found a lot of them didn't even know that their games were on the platform.

167
00:13:54.000 --> 00:13:58.000
And they certainly didn't know that they could edit it.

168
00:13:58.000 --> 00:14:02.000
So that's a supply chain risk for an entire industry.

169
00:14:02.000 --> 00:14:11.000
And for me, sitting there with a community, asking what can we do, it felt pretty obvious where to start.

170
00:14:11.000 --> 00:14:17.000
Step one was defining a shared language for games on the atmosphere.

171
00:14:17.000 --> 00:14:24.000
The game lexicons cover everything about a game that you'd want in any application on the network.

172
00:14:24.000 --> 00:14:29.000
The game itself, title, description, genres, platforms, release dates, screenshots,

173
00:14:29.000 --> 00:14:35.000
offshoots, expansions, downloadable content, updates, mods, and then, of course, the data around it as well.

174
00:14:35.000 --> 00:14:39.000
So achievements, high scores, reviews, and credits for contributors.

175
00:14:39.000 --> 00:14:46.000
But because these are lexicons on the protocol, they're not locked to any single application.

176
00:14:46.000 --> 00:14:50.000
The developer publishes their game data once to their own PDS,

177
00:14:50.000 --> 00:14:55.000
and any application on the network that understands the lexicons can display it, search it, reference it.

178
00:14:55.000 --> 00:15:02.000
Right now, a game developer updating their game's description has to do it on Steam, Epic, GOG, Humble, itch,

179
00:15:02.000 --> 00:15:05.000
IGTV, their own website, their press kit, their publisher's website.

180
00:15:05.000 --> 00:15:10.000
With the atmosphere, update it once, it propagates everywhere.

181
00:15:10.000 --> 00:15:12.000
Well, kind of.

182
00:15:12.000 --> 00:15:16.000
We have to be honest about our expectations for adoption, right?

183
00:15:16.000 --> 00:15:21.000
Those other platforms aren't going to start pulling from the atmosphere tomorrow just because the data is there.

184
00:15:22.000 --> 00:15:26.000
We build the foundation, though, because we have to start somewhere.

185
00:15:26.000 --> 00:15:32.000
So we build the foundation, we prove the value, and then over time, we either convince platforms to adopt it

186
00:15:32.000 --> 00:15:36.000
or we build something so compelling that they don't really have a choice.

187
00:15:36.000 --> 00:15:38.000
That's the long game.

188
00:15:39.000 --> 00:15:43.000
Now, lexicons by themselves are just definitions.

189
00:15:43.000 --> 00:15:46.000
You still need something to make them work on the network.

190
00:15:46.000 --> 00:15:48.000
Bluesky calls it an app view.

191
00:15:48.000 --> 00:15:52.000
Others call it an app server or an API or a flibberty gibbet.

192
00:15:52.000 --> 00:15:54.000
There's a lot of things.

193
00:15:54.000 --> 00:15:58.000
The proper name and description of an app view are hotly contested.

194
00:15:58.000 --> 00:16:04.000
But really, it's just the layer that sits between the data on the network and the people trying to use it.

195
00:16:04.000 --> 00:16:09.000
If lexicons are the shared language, the app views are the applications that speak it.

196
00:16:09.000 --> 00:16:16.000
Traditionally, building an app view means writing custom software from scratch for your specific use case.

197
00:16:16.000 --> 00:16:19.000
You have to handle indexing records from the network.

198
00:16:19.000 --> 00:16:22.000
You have to implement queries and procedure XRPCs.

199
00:16:22.000 --> 00:16:24.000
You have to know what XRPCs are.

200
00:16:24.000 --> 00:16:30.000
You probably need to handle authentication, and you'll likely need additional infrastructure, databases, search indexes.

201
00:16:30.000 --> 00:16:36.000
That's a significant amount of work, and it's a real barrier for anyone who wants to build on the atmosphere.

202
00:16:36.000 --> 00:16:38.000
So I built HappyView.

203
00:16:38.000 --> 00:16:42.000
HappyView is a lexicon-driven app view builder.

204
00:16:42.000 --> 00:16:48.000
You upload your lexicons, it dynamically generates XRPCs for querying and writing data,

205
00:16:48.000 --> 00:16:51.000
watches the network for new records in your lexicon collections,

206
00:16:51.000 --> 00:16:55.000
it indexes them, and it proxies rights back to users' PDSs.

207
00:16:55.000 --> 00:16:59.000
You find the schema, you upload it, you have a working app view.

208
00:16:59.000 --> 00:17:03.000
All that's included, out of the box, totally open source.

209
00:17:03.000 --> 00:17:05.000
But HappyView isn't specific to games.

210
00:17:05.000 --> 00:17:06.000
It's generic.

211
00:17:06.000 --> 00:17:11.000
It's open source infrastructure, so you can use it for whatever industry you're currently looking at.

212
00:17:11.000 --> 00:17:15.000
The game lexicons are the first production use case built on HappyView,

213
00:17:15.000 --> 00:17:19.000
but I'm hoping they will not be the last.

214
00:17:19.000 --> 00:17:25.000
Now, I used HappyView and the games' lexicons to create the Pinteract app view.

215
00:17:25.000 --> 00:17:33.000
Some of you all may know it by its sort of infamous handle, games, games, games, games.games.

216
00:17:34.000 --> 00:17:42.000
And of course, that means that the NSID for the game lexicon is games.games, games, games, games.game.

217
00:17:43.000 --> 00:17:44.000
You're welcome.

218
00:17:46.000 --> 00:17:52.000
Shout out to Ted Hahn, by the way, for appointing me at that domain and coming up with the much simpler name.

219
00:17:52.000 --> 00:17:54.000
I mentioned just a minute ago, the Pinteract.

220
00:17:55.000 --> 00:18:01.000
The Pinteract currently holds data from more than 350,000 games across all platforms.

221
00:18:01.000 --> 00:18:05.000
You can think of the Pinteract as the alternative to the IGDB API.

222
00:18:05.000 --> 00:18:10.000
It's the open, decentralized version of the game data layer that the whole industry has been building on.

223
00:18:10.000 --> 00:18:15.000
And it's currently live and open, so feel free to go play with it after I'm done.

224
00:18:15.000 --> 00:18:20.000
I'll be holding links to the end because I know you rascals better than to restrain yourselves from a new toy.

225
00:18:21.000 --> 00:18:29.000
Now that the data layer was in place, I needed a way for everyday users, both gamers and developers, to access that data.

226
00:18:29.000 --> 00:18:31.000
So that's where cartridge comes in.

227
00:18:32.000 --> 00:18:35.000
Cartridge is the first application built on the Pinteract.

228
00:18:35.000 --> 00:18:43.000
It's a games database, sure, an alternative to IGDB itself, but it's also a games discovery platform for players,

229
00:18:43.000 --> 00:18:47.000
where I'm building features to make it easier for gamers to find the games that they love.

230
00:18:47.000 --> 00:18:54.000
But more importantly, and sort of back to the mission, it's where developers can go to take control of their games data.

231
00:18:54.000 --> 00:19:01.000
Game developers aren't going to interact with raw lexicons and app views and XRPCs, and they shouldn't have to.

232
00:19:01.000 --> 00:19:04.000
They're building games, not infrastructure, for the atmosphere.

233
00:19:06.000 --> 00:19:08.000
When a developer signs in, they get a dashboard from there.

234
00:19:08.000 --> 00:19:12.000
They can create game records, update descriptions, upload screenshots, manage credits,

235
00:19:12.000 --> 00:19:16.000
all the stuff that they're currently doing across ten different platforms.

236
00:19:16.000 --> 00:19:23.000
Except now they're doing it once on their terms, and the data lives in their PDS.

237
00:19:25.000 --> 00:19:29.000
That actually means they're doing it 11 times now, but we talked about this long game.

238
00:19:30.000 --> 00:19:35.000
Now, IGDB itself has around 350,000 games.

239
00:19:35.000 --> 00:19:39.000
That may sound familiar, because that's about how many games we have on cartridge.

240
00:19:39.000 --> 00:19:46.000
Actually, that's exactly the same number, because IGDB is the original source of all the data that is currently in the Pinteract.

241
00:19:46.000 --> 00:19:48.000
And yes, I did check.

242
00:19:48.000 --> 00:19:51.000
IGDB's API allows me to do that.

243
00:19:51.000 --> 00:19:56.000
But it gets better over time as developers claim and take ownership of their games.

244
00:19:56.000 --> 00:20:03.000
They enrich the data, and we can build a rich graph of the data between games and other things on the network,

245
00:20:03.000 --> 00:20:09.000
like Bluesky posts, popfeed.social reviews, leaflet and pocket articles referencing games.

246
00:20:09.000 --> 00:20:15.000
And there are technical advantages, real technical advantages to using the Pinteract app view over IGDB.

247
00:20:15.000 --> 00:20:18.000
There's no Twitch credentials necessary, for one thing.

248
00:20:18.000 --> 00:20:23.000
You get unauthenticated API access, we have semantic search instead of plain text matching,

249
00:20:23.000 --> 00:20:27.000
and we have discovery feeds that IGDB simply doesn't offer.

250
00:20:27.000 --> 00:20:30.000
But the important part isn't the feature comparison.

251
00:20:30.000 --> 00:20:33.000
It's what happens when a developer actually claims their game.

252
00:20:36.000 --> 00:20:40.000
They verify ownership, they claim the record, and they migrate it to their PDS.

253
00:20:40.000 --> 00:20:42.000
Now it's theirs, fully.

254
00:20:42.000 --> 00:20:47.000
Their data is managed by the steward of their choice, rather than the devil, I mean Amazon.

255
00:20:47.000 --> 00:20:53.000
If cartridge disappears tomorrow, their game data would still be on the network in their PDS,

256
00:20:53.000 --> 00:20:56.000
accessible to any application that speaks to the lexicons.

257
00:20:56.000 --> 00:21:00.000
That right there, that's what data sovereignty means, right?

258
00:21:00.000 --> 00:21:03.000
It's not just a buzzword, it's a technical reality.

259
00:21:03.000 --> 00:21:05.000
We're doing it on the atmosphere.

260
00:21:06.000 --> 00:21:09.000
Now, cartridge isn't officially launched.

261
00:21:09.000 --> 00:21:12.000
I can't tell you about tremendous user growth or anything.

262
00:21:12.000 --> 00:21:14.000
There's no press releases, no big announcements,

263
00:21:14.000 --> 00:21:19.000
and I still have some work to finish before I'm comfortable really opening the floodgates on the application.

264
00:21:19.000 --> 00:21:22.000
So the social proof of all this may feel a little bit flimsy,

265
00:21:22.000 --> 00:21:27.000
but what's happened during development is what really tells me that I've been on the right track.

266
00:21:28.000 --> 00:21:34.000
When I started sharing my work on the Pinteract publicly, developers started responding with use cases I hadn't considered.

267
00:21:35.000 --> 00:21:40.000
Luca from the NorthSky team brought up managing a game's credits and updating them regularly.

268
00:21:41.000 --> 00:21:45.000
You allow games to fetch those credits and fix developers' dead names.

269
00:21:45.000 --> 00:21:47.000
I hadn't considered that.

270
00:21:47.000 --> 00:21:49.000
I'm a straight white guy.

271
00:21:49.000 --> 00:21:54.000
But for trans developers in the game industry, that's not a niche concern, right?

272
00:21:54.000 --> 00:21:56.000
That's their name. It's important.

273
00:21:57.000 --> 00:22:03.000
And right now, getting a credit updated in a shipped game is a nightmare of bureaucracy and platform policies.

274
00:22:03.000 --> 00:22:09.000
With developer-controlled credits on protocol, it's an update to a record owned by that contributor.

275
00:22:11.000 --> 00:22:14.000
Somebody else started talking about player-owned save data, cloud saves.

276
00:22:14.000 --> 00:22:16.000
And this one's a little personal for me.

277
00:22:16.000 --> 00:22:23.000
City of Heroes, some of you may remember, it was a really popular MMO, massively multiplayer online game,

278
00:22:23.000 --> 00:22:26.000
owned by NCSoft and developed by Paragon Studios.

279
00:22:26.000 --> 00:22:30.000
It was released in 2004. I played it way too much.

280
00:22:30.000 --> 00:22:36.000
And eight years later, in 2012, NCSoft terminated the entirety of the Paragon Studios staff,

281
00:22:36.000 --> 00:22:39.000
shut down the game, and shut down the servers.

282
00:22:40.000 --> 00:22:47.000
The time invested in these characters that people had created, that they loved, the experience that players so thoroughly enjoyed,

283
00:22:47.000 --> 00:22:50.000
it was all gone, seemingly forever.

284
00:22:50.000 --> 00:22:53.000
Years later, a community on Reddit actually revived the game.

285
00:22:53.000 --> 00:22:57.000
They had a private server and they sort of, you know, hit it for a while.

286
00:22:57.000 --> 00:23:04.000
But they were able to bring it back, which is incredible, except all the original player data is gone.

287
00:23:04.000 --> 00:23:08.000
I can't load up the characters that I made and fell in love with a decade ago.

288
00:23:08.000 --> 00:23:13.000
They don't exist anymore. My inner child is sad. So is my outer child.

289
00:23:13.000 --> 00:23:20.000
On the protocol, that save data could live in the player's PDS.

290
00:23:20.000 --> 00:23:25.000
The game shuts down, gets revived five years later, ten years later.

291
00:23:25.000 --> 00:23:27.000
Your saves are still there.

292
00:23:27.000 --> 00:23:33.000
Now, for competitive games, that save data could live, or sorry, you need some form of verification.

293
00:23:34.000 --> 00:23:40.000
You can't let people write, I got a perfect score into their repos when you're trying to compare scores.

294
00:23:40.000 --> 00:23:50.000
So I actually use Nick Garakind's attestation spec already to allow you to have that information stored in the player's repos,

295
00:23:50.000 --> 00:23:54.000
where it is still non-copyable, it's non-forgeable, it's verifiable.

296
00:23:56.000 --> 00:24:02.000
So I'm also building game engine SDKs for Unity, Unreal, and Godot, which are all game engines.

297
00:24:02.000 --> 00:24:10.000
So developers can interact with all this data directly from within the tools that they already use without ever having to think about the protocol underneath.

298
00:24:10.000 --> 00:24:14.000
And there's more on the horizon. Decentralized modding, game distribution, sales.

299
00:24:14.000 --> 00:24:22.000
These are big unsolved problems on the atmosphere, but the foundational pieces for doing it, at least with games, are already on the network.

300
00:24:22.000 --> 00:24:26.000
Game data, developer identity, player identity, that's all ready to go.

301
00:24:26.000 --> 00:24:30.000
So the question about how to do this is just how. It's not if.

302
00:24:31.000 --> 00:24:35.000
Okay, I just walked you through my entire journey.

303
00:24:35.000 --> 00:24:42.000
The feeds, the labeler, the delistings, and how they drove me to create the lexicons, Happy View, and cartridge.

304
00:24:42.000 --> 00:24:48.000
Now, let's talk a little bit about what other atmosphere builders can hopefully take away from it.

305
00:24:48.000 --> 00:24:52.000
I took a community that I was already a part of.

306
00:24:52.000 --> 00:24:59.000
I found the data that causes the most pain for my community, which in my case was games scattered across platforms that developers don't control.

307
00:24:59.000 --> 00:25:02.000
And I built tools and infrastructure that let them own it.

308
00:25:02.000 --> 00:25:05.000
That's not unique to games, though. It's a pattern.

309
00:25:05.000 --> 00:25:08.000
And once you see it, it's a little difficult to unsee.

310
00:25:08.000 --> 00:25:10.000
Take music, for example.

311
00:25:10.000 --> 00:25:17.000
An artist releases a track, and now they're managing metadata across Spotify, Apple Music, Bandcamp, SoundCloud, YouTube, Tidal.

312
00:25:17.000 --> 00:25:22.000
Every platform has its own dashboard, its own format, and its own rules.

313
00:25:22.000 --> 00:25:28.000
An artist gets dropped, or a distributor folds, and suddenly the musician's catalog is in limbo.

314
00:25:28.000 --> 00:25:31.000
Their fans can't find their music, their revenue disappears.

315
00:25:31.000 --> 00:25:34.000
It's the same pattern, but it's a different industry.

316
00:25:34.000 --> 00:25:37.000
How about education? That's a weird one, right?

317
00:25:37.000 --> 00:25:45.000
Your degree, your credentials, your transcripts, they're all locked within institutional silos that may or may not still exist in 20 years.

318
00:25:45.000 --> 00:25:50.000
If you don't get how this is relevant, try transferring credits between universities,

319
00:25:50.000 --> 00:25:54.000
or getting a copy of your degree after the original was destroyed.

320
00:25:55.000 --> 00:25:57.000
The pattern is always the same.

321
00:25:57.000 --> 00:26:03.000
Data is published to centralize third-party platforms that we don't control, in formats we don't choose,

322
00:26:03.000 --> 00:26:05.000
and we hope that nothing goes wrong.

323
00:26:05.000 --> 00:26:08.000
When it does, we have little to no recourse.

324
00:26:08.000 --> 00:26:10.000
Now, here's the thing.

325
00:26:10.000 --> 00:26:15.000
Everything I built for games, the lexicon, the management platform, the claim and migration system,

326
00:26:15.000 --> 00:26:19.000
what I've built is game-specific, but the infrastructure isn't.

327
00:26:19.000 --> 00:26:23.000
The IP view, which is open source, doesn't care what your data is.

328
00:26:23.000 --> 00:26:25.000
It just needs lexicons.

329
00:26:25.000 --> 00:26:28.000
Now, let me try and make this even a little more concrete.

330
00:26:28.000 --> 00:26:32.000
Let's say you want to solve this particular piece of the puzzle for the music industry.

331
00:26:32.000 --> 00:26:35.000
Step one, what data is scattered?

332
00:26:35.000 --> 00:26:41.000
Track metadata, album metadata, artists, credits, licensing agreements, distribution, records.

333
00:26:41.000 --> 00:26:44.000
So step two, we define the lexicons for those things.

334
00:26:44.000 --> 00:26:45.000
What's a track?

335
00:26:45.000 --> 00:26:50.000
It has a title, a duration, it has contributors and rights holders, release dates,

336
00:26:50.000 --> 00:26:53.000
and it's going to point to a blob that represents the audio.

337
00:26:53.000 --> 00:26:54.000
What's an album?

338
00:26:54.000 --> 00:26:57.000
It's a collection of tracks with its own metadata, like its title.

339
00:26:57.000 --> 00:27:02.000
An artist is going to have a discography, collaborators, rights, relationships,

340
00:27:02.000 --> 00:27:05.000
and maybe that's an actor in our lexicon.

341
00:27:05.000 --> 00:27:12.000
You design those schemas for step three, upload them to Happy View, or Quick Slice if you want to try other options,

342
00:27:12.000 --> 00:27:17.000
and now you've got an app view that indexes music data from the network.

343
00:27:17.000 --> 00:27:20.000
Step four, you build the interface, right?

344
00:27:20.000 --> 00:27:21.000
This is the easy part, right?

345
00:27:21.000 --> 00:27:26.000
Where an artist logs in, claims their catalog, and is now in control of their own data.

346
00:27:26.000 --> 00:27:31.000
It's the same pattern I followed for games, just different domain knowledge.

347
00:27:31.000 --> 00:27:32.000
So that's it.

348
00:27:32.000 --> 00:27:36.000
You do this for music, for education, you do it for healthcare records, for legal documents,

349
00:27:36.000 --> 00:27:40.000
for anything where centralization is failing the people who create the data.

350
00:27:41.000 --> 00:27:42.000
This is one pattern.

351
00:27:42.000 --> 00:27:48.000
It's not the only centralization problem out there, but your domain might have a slightly different one,

352
00:27:48.000 --> 00:27:51.000
locked up credentials, gated access, licensing nightmares.

353
00:27:51.000 --> 00:27:56.000
The pattern might look slightly different, but the tooling that I've shown you today,

354
00:27:56.000 --> 00:27:59.000
it should be generic enough to handle pretty much all of them.

355
00:27:59.000 --> 00:28:04.000
The hardest part is figuring out what data in your domain actually needs to be decentralized,

356
00:28:04.000 --> 00:28:08.000
and then designing lexicons that accurately represent it.

357
00:28:08.000 --> 00:28:14.000
That's domain expertise, not protocol expertise, and that's why it really has to come from people who know their industries,

358
00:28:14.000 --> 00:28:18.000
not from people outside guessing what a community needs.

359
00:28:18.000 --> 00:28:20.000
One more thing.

360
00:28:20.000 --> 00:28:26.000
I've been talking about the protocol a lot, because y'all are the people building on it, right?

361
00:28:26.000 --> 00:28:32.000
But when I'm talking to a game developer about cartridge or about Bluesky, none of this comes up.

362
00:28:32.000 --> 00:28:34.000
They don't know what an app view is.

363
00:28:34.000 --> 00:28:37.000
Like I said earlier, they don't care about XRPCs.

364
00:28:37.000 --> 00:28:43.000
They just want to manage their game data and not get screwed by big corporations.

365
00:28:43.000 --> 00:28:47.000
The protocol is invisible in the product and in the conversations.

366
00:28:47.000 --> 00:28:49.000
That's not an accident.

367
00:28:49.000 --> 00:28:50.000
That's the whole point.

368
00:28:50.000 --> 00:28:57.000
Everything I've built treats app protocol as an implementation detail, not the selling point.

369
00:28:57.000 --> 00:29:00.000
It's not why a game developer would use cartridge.

370
00:29:00.000 --> 00:29:02.000
They'd use it because it solves their problems.

371
00:29:02.000 --> 00:29:05.000
The protocol is just how it works into the hood.

372
00:29:05.000 --> 00:29:08.000
So when you go to build for your industry...

