Overcommitted | Software Engineering and Programming Insights

Overcommitted brings you software engineers who are genuinely passionate about their craft, discussing the technical decisions, learning strategies, and career challenges that matter.



59: Building the Decentralized Social Web: From Collective Social to OpenSocial

Brittany shares her journey building Collective Social - a Goodreads-style app for all kinds of media built entirely on the AT Protocol - and how it led her to create OpenSocial, a service that lets any app on the decentralized web share group functionality li...

Show Notes

Brittany shares her journey building Collective Social - a Goodreads-style app for all kinds of media built entirely on the AT Protocol - and how it led her to create OpenSocial, a service that lets any app on the decentralized web share group functionality like book clubs. The episode covers the challenges of representing groups when the protocol has no native concept of group identity, using conference talk deadlines as motivation to ship side projects, and rating real-world systems on how well they'd work in a decentralized context. Erika also shares her experience building an interpreter in Go.


Show links:

Topics: AT Protocol, Decentralized Social Media, Side Projects, Open Source, Software Engineering

Episode Transcript

Erika (00:00) Welcome to the Overcommit a Podcast, your weekly dose of real engineering conversations. I’m your host today, Erika and I’m joined by…

Brittany Ellich (00:07) Hey, I’m Brittany.

Erika (00:08) We met while working on a team at GitHub and quickly realized we are both obsessed with getting better at what we do. So we decided to start this podcast to share what we’ve learned. We’ll be talking about everything from leveling up your technical skills to navigating your professional development, all with the goal of creating a community where engineers can learn and connect. Today, we are learning about Collective Social, a Goodreads-style app for all kinds of media.

built entirely on at Proto that Brittany has spent the last several months building outside of her day job as a staff engineer at The project eventually led her to found OpenSocial, a service that she designed so any app on the decentralized web could share a book club or really any social platform. So we’ll get into Collective Social and OpenSocial more in a bit.

but I also wanted to share something that I’ve been learning about that has been kind of fun. I recently finished building an interpreter in Go. And, you know, it was pretty good. I would say, like, as somebody who didn’t go to school for software engineering or computer science, I knew very little of how an interpreter worked. And now I know some of how an interpreter

I at least know like the building blocks and it was probably something that if I had spent more time kind of digging in I probably would have gotten more out of it. It’s the age-old story of like you get out of it what you put into it but it was fun actually writing code and in this book he kept it very simple and basically mapped

interpreter concepts to go. like, you know, plus in the terminal, um, REPL would then like use plus in go. Um, so you could really clearly see like how each step translated. Um, and the basic building blocks were pretty simple, which helps build a mental model. Um, I think

talking about this book with people who know more about interpreters, I’m understanding that the complexity really lies in a lot of the performance trade-offs and he recognizes that in the book that there’s a lot of performance issues with how this is built. anyway, was fun to kind of dip my toes in the water.

Brittany Ellich (02:35) That’s so cool. I’ve had that book on my list for a while and I kind of followed along because it was through like the internal book club, right? That you were doing that. Yeah. That sounds educational.

Erika (02:41) Mm-hmm. Yeah.

Yeah, good time.

I’m definitely ready for like a last technical book for a second though, like let my brain kind of chill. Yeah.

Brittany Ellich (02:53) Yeah.

Well, we’re

kicking off our next book club for overcommitted. Although I feel like we’ve already read this book internally, but maybe that’s also better. ⁓ With the staff engineer’s path, I think we’ve read that once internally.

Erika (03:05) Yeah.

We read

it, yeah, we read it once, just the three of us. So it’ll be fun to kind of get like new perspectives on it.

Brittany Ellich (03:12) Mm-hmm.

Yeah, yeah, I agree. I kind of like rereading some of those books too. I feel like there’s a lot that you gain out of it and just hearing other people’s perspectives is kind of nice.

Erika (03:23) sure. Well, I already know what you are excited about because I asked you before this episode, so, and that is the Collective Social and Open Social project. So can you kind of give us an update of where things are at right now?

Brittany Ellich (03:29) True.

Yeah, so I started these. I think I’ll link it in the show notes, but I started learning about at protocol when we had Nick Gerakines on the podcast last year. And I know you and I have talked a lot about like, gosh, the problems in social media and like have a vibe over a lot of like books and stuff in the past. And it really sparked my interest a lot. I’m like, wow, OK, this is like

something that’s very interesting and could make a huge difference for the world if like social media was less terrible. So I knew that I wanted to build something on at Proto just to like learn more about it. And then I started with, yeah, that Goodreads style app, Collective Social. But what I really wanted is something that we could use for our book club to like organize things like, you know, have like an async spot to.

collect comments or to share updates and have a schedule of when we’re supposed to read and by when. So that’s sort what I started with and it kind of led me down this rabbit hole where I realized there’s no real concept yet of a group or a community shared identity within the at Proto space. I know that there’s some folks looking at that now, but. ⁓

Yeah, so that’s sort of what led me down this big rabbit hole of building OpenSocial, which is actually a little bit further along than CollectiveSocial is. And we have a few use cases for it, like for the atmosphere.community website, which is where all of the different local app proto groups are through. People can now share their blog posts or events or something like that, and they all aggregate under one group identity, which has been really interesting, I think, to work on and build.

Yeah, it’s been really fun.

Erika (05:16) Yeah, for sure. Okay, so as a kind of refresher for me and then for anyone who’s new to the app, Proto Space, can you explain what it does and what it does differently from maybe other social media platforms, whatever it’s comparable to? ⁓ Yeah.

Brittany Ellich (05:35) Yeah. Yeah, for sure.

Yeah. So in the traditional or shall I say legacy social media space, the idea is, is they build this app that brings a lot of folks in and ⁓ you think like Facebook or MySpace or Twitter or whatever, you know, typically it starts out like just gaining a lot of people and a lot of excitement. And then further down the road, once people are on the platform and using it regularly, they start doing things like

How do we keep people on the platform more frequently? And how do we keep users engaged so they keep scrolling and see more ads and then start monetizing through ads? And a lot of the reason that that works in those social media apps is because it’s really hard to leave, really hard. So I mean, I still know people that use Facebook because it’s just so hard to leave because they have that one group there or that one group chat or…

You you don’t want to lose track of your family or something like that. It’s just really hard to like migrate off and all of your content and photos and everything like that are kind of trapped in that company’s database. So the one major thing difference with at Proto is actually created, I think by folks that worked at Twitter before Twitter became what it is now. It’s designed so that you as the user own your own repository.

And so all of your likes and follows and data posts, everything lives in your repository. And so the biggest app proto app right now is Blue Sky. That was like the first one that’s where they all sort of started this app. And if Blue Sky starts doing something that you don’t like and you’re like really invested in the platform.

you can just move to a different one. And there’s already several like blue sky clones or like blue sky clients or similar things that you can like take all of your data and just leave if you want to. And you’ll retain all the people you’re connected to, all the posts you see. You’ll still be able to see like the old posts from other folks, but you don’t have to necessarily see whatever it is. You know, if they introduce ads or something like that, that you don’t like. And so that makes for a very like different incentive where the app

has to like compete to be good, ⁓ which as it turns out is really healthy and you know, a good way to create things that aren’t, you know, addictive or, you know, just there to extract money out of people or use users as like the product.

Erika (07:43) you

Right, yeah. I mean, it’s interesting because we’re talking about social media, but this is something that could be useful for tech in general. I’m thinking of switching between device ecosystems, like having all my stuff on Apple Cloud versus switching to another device, how much of a pain it is to move all that, or getting off of Google Cloud, any sort of device storage. Yeah.

Brittany Ellich (08:05) yeah.

Erika (08:22) any sort of storage platform really locks you in.

Brittany Ellich (08:25) Yeah, and it’s definitely expanded outside of just social media already too. the atstore.fy recently launched and there’s 390 different app proto apps on it that folks have built. And there’s like a very rich community of developers that are super interested, super friendly and like willing to help. It’s also really easy to build on.

because a lot of like the data layer is already figured out for you. So you don’t necessarily need to do like a lot of database work or like OAuth is pretty well figured out. So you can just plug into like the existing OAuth system and not have to like figure out authentication. So it makes it really easy to build onto.

Erika (09:00) Cool. Well, that’s helpful for a high-level view. Of course, with any sort of text space, there’s a lot of terminology. So you recently gave a talk and you walked through rebos, lexicons, blobs, DIDs, app views. So what made this vocabulary click for you?

Brittany Ellich (09:22) I think a lot of what made it really click for me was building on at Proto, like building the apps that I was working on. Like I said, I was kind of stuck where I was like, okay, well, I want some of this data to be aggregated under a group and there’s no concept of a group identity yet within the at Proto space. And there were a few different ideas out there ⁓ from folks about how to go about doing that. And so,

⁓ I just sort of looked through some of the ideas that folks had and then I worked with ⁓ Nick Gerakines, too, since we worked together at GitHub, and picked his brain about how would we do this? And so we came up with this idea of creating group dids, which is the decentralized identity. So for example, I have a did, which is just an ID basically that’s represented throughout the entire decentralized web of some gibberish

ID name and then I have a handle which uses they use DNS to resolve to the handle. I have britneyellick.com is like my handle and that represents my identity. But we also have one now called overcommitted.dev and I made that into a group did so anybody can go on to open social and like become a member of that group and then that means that they can like post content post their own content and link it to that group so we can show like.

What’s everybody in the group up to at one time? And so there’s a way to like basically connect those together. So I think building that and like trying to reason through that problem helped a lot and helped me realize like, all right, like a lot of this is really pretty not crazy complicated. I think that’s the beauty of it is it’s like actually very simple at the end. Like it’s just like a folder full of JSON. Everybody gets one folder full of JSON.

objects and any app can like render any of the JSON objects. So like once I started like getting my hands dirty playing with that, was like, wow, this is really easy and like makes a lot of sense the way that it’s set up.

Erika (11:06) Mm-hmm.

Okay, got it. Yeah, and I could see that there’s this constant trade-off of like a central store. I’m guessing that’s the repository is that blob I think you kind of mentioned.

And then the sort of decentralized aspect of it, which includes like discoverability and also like whenever you come into a group setting, there’s like the idea of like management. Like, do you have somebody who owns the group? Do you have somebody who moderates the group? Like, and then that becomes a centralization point. But if you don’t have anybody doing that, how do you expect that to work?

Brittany Ellich (11:56) Mm hmm.

Yeah, yeah. So everybody’s repository, their little folder full of JSON objects lives on what’s called a personal data server or a PDS. And so if you sign up with Blue Sky, for example, I think that’s the first one a lot of people recognize, then you get a folder created for your you get a did created and then a folder created on one of their PDS is and then you can take that and migrated anywhere else if you want.

And then I think it’s just like the did is like the shared centralized identity. I’m not actually sure how that’s, how that is set up. I think probably because you’re using DNS, which is already something that has is like its own like decentralized identity. know, DNS is set up on servers throughout the world, but then everybody, every server recognizes them. ⁓ So I imagine it’s probably something similar to that. But yeah, I for actually creating that because I

Erika (12:40) you

Brittany Ellich (12:48) the idea of like often like role based access controls and stuff is not something that I’m plugged into or familiar with. My closest like proximity to that is discord. And so I basically just like operated off of the way that a lot of discord servers I’ve been in work. I’m like, this seems approximately like what you’re looking at. whoever starts it is the admin and you can, you know, delegate more admins and

Admins have some permissions and members have different permissions and like just trying to make it so that like an admin can say like anybody can do anything. And then using open social as the layer where you can rep, you can register an app like collective social is registered with open social and so you can create collective social records instead of any of the groups from that app or you can register as an individual to say like I’m going to join this group or I’m going to start this group or whatever it is that you’re.

interested in.

Erika (13:38) So it’s, yeah, it’s sort of the groups, the groups repository is shared between any app view. Is that kind of the idea?

Brittany Ellich (13:48) Mm-hmm. Yeah. Yeah. So the app view is just any app that can represent like render data from somebody’s PS. So like blue sky is an app view or tangled. That’s like the GitHub of at proto is an app view. And so like all of the, all of the social things live in people’s repo. ⁓ and so like my repo has stuff from like, you know, 20 different app proto apps that I use now.

all represented there and like any of them can like mix and match what they show. So some of them will, for example, use like the follow graph from Blue Sky. So when you sign into the app, you are immediately connected to everybody you follow there. And then some of them have like their own separate one. And it’s kind of up to the developer how they want to build the experience.

Erika (14:28) And then what’s a lexicon?

Brittany Ellich (14:29) Um, a lexicon is the schema for the JSON documents.

Yeah, so if you’re ever doing anything in the protocol space, any development, this PDSLS site, it’s pdsls.dev is super, super helpful. So for example, I can go to enter my handle, which is berniealloc.com. This is gonna show me where my PDS lives, which is on Blue Sky. It’s gonna show me my did, and then it’s gonna show me each of the collections, which is just like the collection of items that were created.

from each app that I’m a part of. for example, you can see, let’s pick one that’s like pretty common. So app Blue Sky Feed Post. I can pull up my most recent post where I tagged Salma and told her how much I ⁓ appreciate listening to her soothing voice and how sad I was to miss the recording because it’s true. I listened to that episode like twice because it was just like so soothing.

Erika (15:19) you

you

Brittany Ellich (15:25) hearing her talk. But then the lexicon is the schema for that thing. So the Blue Sky, when they create a post, they’re also creating this lexicon schema so that any other app can say, all right, here are the things that I expect to see on these records if I wanted to render them as well. So it’s just a way for other app views to be like, oh, I know that I expect text is required on this thing. So if another app is going to like,

create blue sky posts, which is totally possible, then they know that this is required and this has to be included.

Erika (15:58) So like the app owner determines the schema and then basically any other app view who might want to render this schema then has that available. It’s open to see and view and integrate with. Yeah. Cool.

Brittany Ellich (16:12) Yeah, exactly.

Erika (16:14) that kind of, yeah, gives a very clear view of how that’s happening. And yeah, I guess I’m personally impressed that you’ve managed to keep this side project building for so long. clearly it came from both a personal itch and also a passion for…

contributing to this space. But were there any points when you hit a wall and what did you do when you got to that point?

Brittany Ellich (16:44) Yeah, so I actually wrote up a doc about what I was planning to do, a blog post which ⁓ I can link. It was like back in November, I think, where I was like figuring all of this out. And then I didn’t touch the project. I got it started and then I didn’t touch the project again until like January. And the thing that really motivated me to continue is I had submitted a talk proposal to AtmosphereConf about it. And like I was primarily motivated by like

the shame of not wanting to be unprepared and not have a thing to show for the talk. So that’s what got me to actually finish it. So I’m highly motivated by being publicly shamed, I guess. It ended up going well. I enjoyed the talk. It was fun. And the talk was all about how open social works. Yeah.

Erika (17:30) I get that. mean, this is part of why I do book clubs is because that accountability is so important to me finishing things. Yeah, so there’s there’s no shame in using public shame.

Brittany Ellich (17:44) Yeah, yeah, I’m glad

my talk was chosen because I absolutely would not have finished it otherwise. Because I was very close to be like, do I really want to finish this? And I did. And I was glad to be doing it. And I’m glad that I went to the conference, too. It was a super good conference. So, yeah.

Erika (17:50) Yeah.

Is there any part that you’re especially proud of, like technically or otherwise?

Brittany Ellich (18:05) ⁓ I think that this was also, it was an interesting time when this happened, cause this was also around the time that like, AI tools got like really good. and so the fact that I have like a finished side project and it’s not just something that’s like languishing in my to-do list forever is really due to the fact that like I had something like that to help like smooth out the friction points. ⁓ cause otherwise like it’s

Actually, it was a lot of work to build, having Copilot available to help me whenever I got stuck was phenomenal. It made it go a lot faster than I think, and finish, ⁓ because I wouldn’t have otherwise. I’ve got a job and three kids and other things going on. So little over-committed, if you will. Yeah.

Erika (18:46) Yes, yeah.

What did that workflow look like for you?

Brittany Ellich (18:52) ⁓ my current team has what’s called well-being days for like once a month. We get like a Friday off. Today is actually one of those days for me. and so, yeah, I used those days pretty heavily. and, after bedtime, that’s like my, turns out that’s also like the time between, you know, eight to 10 PM. That’s when I’m like most.

feeling most creative and ready to do something anyway. So like that has worked out really well. So I use that time a lot for building things. Yeah.

Erika (19:20) Okay, so let’s dig in a little bit more to this, the groups in decentralized spaces and a little bit more of the technical details there. So you want to build a book club feature.

have that shared resource so that multiple people can read and update together. So what specifically was missing in app proto that made this difficult? Yeah, and why was it hard?

Brittany Ellich (19:49) Yeah, so there wasn’t, it hasn’t been like a built-in thing to the protocol yet to say like this is a group shared identity. I think people could get around that up until now by just like sharing a password to, you know, the same login essentially. And then you could like, you know, we could both post under overcommitted, know, blue sky post or whatever, because we share a password. But thinking about that, I didn’t feel like that would work at like an actual scale.

you know, if I wanted to share this with everybody, I don’t want to share the password to that, to every single member of, you know, a community that I’m a part of or anything like that. So, so since that didn’t really exist and since there was already like a lot of, you know, thinking out there, like how would, how would a shared thing work? one of the things I was looking at is like, you know, within collective social, we could just say like, all right, the group lives in a repo within

or like within the database of that collective social app. But I really wanted something that was like on protocol so that it could be used across different apps. And in the future, it could be like extended and you could say like, all right, like we can, you know, have like the shared resource to post to Blue Sky or the shared resource to like work under and untangled or something like that. And so that is sort of where I realized like we needed ⁓ some sort of an identity to like handle allowing those permissions to post under.

a shared resource without like sharing a password with everybody. And so the group identity themselves is just another did and handle, like it has a group repo and a group did and a group handle, but they’re like identical to an individual one. So you could take any existing, you know, shared, uh, shared account out there in blue sky or whatever, and turn it into this group resource so that you could use it across multiple apps.

⁓ but, then the way that things are shared from the actual group is there is instead of like the, you know, if you make a post and you’re like, I want this post to be shared from the group’s page or something like that, instead of, instead of posting under that group’s identity, you can post under your own. So you can say, Hey, I’m the author of this post and then create this like two way handshake where there’s a record within the group’s repo that points to.

you the record in your repo. So there’s like this two-way handshake basically between the content that you post and the group identifying like, yes, this is something that I’m going to show as part of what’s in our repo. And that serves a couple of purposes. So like the group admins, if somebody is being really spammy and they don’t want to have all of these resources from someone, they can just delete the handshake on the group side. ⁓

Erika (22:23) Mm.

Brittany Ellich (22:24) And then like the same thing, like the user can just change their own post if they’re like, I don’t want this shared with the group anymore. They don’t have to necessarily like change anything in the group. They can just change it within their own repository and like break that connection.

Erika (22:37) Cool.

Yeah, that makes a lot of sense because, yeah, that recognizes still that personal ownership of maybe you get even kicked out of the group or something like that. But even if that happens, if I delete it on my own repository, then it’s still gone.

or like the handshake mentioning like there’s this contract between you as the group and the group member and you can post it on your personal but if the group doesn’t want it then like you’re not, it won’t be recognized as a record.

Brittany Ellich (23:10) Yeah,

yeah, it’s not like it’s going to delete the record or anything like that. You still own the thing that you the content that you created and you can still take that to other groups if you wanted. ⁓ If the one that you were in like just didn’t vibe with it or whatever. But yeah, so that’s sort of the goal and that was what that’s working now actually, which is exciting. It’s actually on a website. So the atmosphere.community site is an example of one where ⁓ we are. There’s folks that have joined the atmosphere.

Erika (23:20) Mm-hmm.

Brittany Ellich (23:38) community group through open social and then they’ve said like alright these are the posts from you know one of the blog post sites within at proto that I want to share with the group and then all of them are like represented with from that group but based on like posts that people have shared which is cool to like see it actually do a thing yeah

Erika (23:57) Yeah, well,

that was very cool. Very cool that it’s kind of taking life and yeah, you’ve written specifically about this whole process of developing this open social community. And you’ve also been very public about wanting feedback and you’ve…

shared links to prior art and community discussions. So what’s it been like building something where the spec is still being written? Like this group has not fully decided what they want to do and you’re kind of proposing something.

Brittany Ellich (24:28) Yeah, think it probably depends on the space that you’re in. I don’t know if every, this is my first time really getting into any open source space in any like longer term capacity. But everybody’s been super open and like willing to like rubber duck on things. I’ve had folks like give me feedback like, hey, you should make your OAuth setup better. Like look at this instead. I’m like, ⁓ gosh, I love that feedback. That’s great.

Erika (24:52) you

Brittany Ellich (24:52) ⁓

cause that’s just not my area of expertise in any, by any means. so I think it’s, it’s a really like friendly and sharing community where like, that’s just sort of normal within the community. There’s a lot of spaces, like there’s a discourse where anybody can go in and, you know, propose a topic and lots of folks will weigh in and with their opinions, if that’s what you want. I think sometimes that can also be kind of, I think there’s also like some drawbacks to that too.

⁓ in some ways where it can be really easy to be like, yes, things should be done this way. And then there’s no real ownership of this person’s gonna go take that idea and do a thing with it. It’s really on the individual to go make it actually happen. But I feel like everybody’s been pretty generous with their thoughts and time. So I’m just kind of emulating what the rest of the community does there.

Erika (25:41) Cool, yeah, I can see that coming from the sort of driving force of the community being really this data ownership and

the purpose of this is good. And yeah, no one’s trying to make money. It’s kind of the opposite, trying to reduce the impact of profit-driven development.

Brittany Ellich (25:54) Mm-hmm.

Yeah, yeah,

there’s a lot of apps that are really similar within the ecosystem. And like, like this is not even like the first Goodreads type app. It’s like the 10th or 20th at this point. And it seems like there’s been a lot of collaboration and like design towards interoperability. Like there’s a couple of different blog sites, for example, like there’s Leaflet is one and Offprint, that’s the one that I…

Erika (26:15) and

Brittany Ellich (26:29) I use and then there’s pocket.blog and all three of those came together and like designed a lexicon together so that like their content could easily be shared between the apps. So I think it’s sort of a different way of thinking about building apps where it’s not necessarily like, hey, I’m going to build this app and I need all the market share. know, like people are going to go to the one that, you know, fits their style more or like has the features that they need and everybody’s

like pretty friendly and willing to work with each other to be like, all right, let’s make the best experience possible. And I think a lot of that comes from that like need to like, you you have to compete on features and like how good the app is when, you know, anybody can go anywhere.

Erika (27:02) Really.

Right, yeah, I mean it kind of reminds me of like something I feel like I’ve experienced or heard developers experience where they like this app but they want to change this one thing. And if only I could modify this one thing or tweak it. And it’s like, yeah, sure, why not? know, everyone’s brain works differently. They map to these, you know, visuals differently. Like…

Brittany Ellich (27:26) you

Erika (27:34) Why not provide a way for people to to collaborate but also customize?

Brittany Ellich (27:41) Mm-hmm. Yeah.

Yeah, I’m excited to see where it goes. I feel like it’s starting to get like a lot of steam behind it now. And like there’s a lot of moves being made and a lot of features. One of the things that they’re working on this year is permission to data. So right now everything is just public in your repo, which like having something that is private or only available within specific settings is super important for like identity in general. So.

Erika (27:57) and

Yeah.

Brittany Ellich (28:06) I think once that comes out, that’s like one of the biggest pillar, like we need this to like really be able to expand into lots of different types of apps. But that’s pretty close to landing. So it’ll be cool to see where that ends up.

Erika (28:18) Very cool. Well, we are beginning to wrap up. But based on this thesis that ownership, portability, decentralized control make things better, we are going to apply that logic to everyday non-technical things, maybe some technical things, and debate whether it holds. ⁓

Brittany Ellich (28:40) Great.

Erika (28:42) So we can rate these systems on a scale of 1 to 10 of how badly it would benefit or reduce quality from getting the at-proto treatment of removing centralized control. So a score of 1 being like…

Centralized control is very important to this service. Don’t touch it. And 10 being, like this is human rights violation, the amount of control that this system has and it’s disguised as a terms of service. So decentralize it. All right, are you ready?

Brittany Ellich (29:14) I’m so ready.

Erika (29:15) Okay, so we are gonna start with NPM. So NPM, for those who are not familiar, is a centralized package repository. And anyone can publish a package, and then developers download it, and anyone can also unpublish a package. So there was a package called LeftPad that…

was unpublished and caused a bunch of issues for people who relied on that So what do think, Brittany? 1 to 10. Decentralizing NPM.

Brittany Ellich (29:45) Ooh, that’s a good one. So we’re talking specifically about the registry, correct? Like where all of the packages live. Okay. Um, I was going to say, cause NPMX is came out recently and that is a really cool, I’m going to include a link to that. Um, but that’s more just a website to view them, um, to view the packages. think for the registry, I feel like that makes a lot of sense to be decentralized. Yeah. I feel like that’s a 10, right? Like, I think it might be hard to.

Erika (29:50) Mm-hmm.

⁓ right, yeah.

Brittany Ellich (30:13) handle security there? I guess if like anybody can publish a package like how would you deal with like rogue servers that are like trying to say like this is this package and it’s not I don’t know. True.

Erika (30:24) But I feel like it’s already that.

There’s very little oversight. yeah, I’m with you. I think decentralizing makes sense. Once you publish it, it’s kind of like out there. I mean, guess app pro is a little different where like you…

Brittany Ellich (30:30) Yeah.

Yeah.

Erika (30:45) you as the publisher would still own whatever you publish, so this would be a little different treatment of saying like once you publish it, it’s like persistent and like you can’t take it down. Yeah.

Brittany Ellich (30:58) Yeah. But I think, I mean, a lot of those things are associated with like commit shaws and if it’s open source, it just makes it hard if you want to like de open source something, but that’s already a problem. I mean, how do you know somebody hasn’t downloaded, you know, your open source repo to their computer or whatever before you decide to make it private or whatever? Like, I feel like that’s already a pretty common occurrence. Yeah.

Erika (31:14) Mm.

Yeah. Okay. So we’re on board with decentralizing NPM. Give it to the people. Let the people decide. Okay. GitHub contributions. So do we think that that like…

Brittany Ellich (31:25) Yeah.

Yep.

Erika (31:33) you know, say you have all of your GitHub contributions and you know, maybe you want to like port that over to a different site. Like, do we think that’s valuable?

Brittany Ellich (31:45) Yeah, I think so. I feel like that’s especially because that’s like pretty commonly viewed as like a, you know, like this developer is this active or whatever. Having that, the ownership of your, at least like the record of the number of commits you did or like how much you contributed to the community or whatever. I feel like that is something that should belong with the individual. And there is, I know that there is one website that is working.

something similar is called Tangled, like I mentioned. Although there I think that like the issues equivalent and like the social part is on at Proto and the rest of it’s still using Git under the hood because I think there’s like no way to replace Git at this point for that.

Erika (32:13) Mm-hmm.

and then move on.

Yeah.

Yeah. Cool. Yeah, I’m on board with that. I think it’d be cool to have that more shareable between platforms. Okay, let’s move on to something that’s not technical. Medical records.

Brittany Ellich (32:35) Mm-hmm.

Erika (32:44) So the way that this would look on that proto would be right like you have you have your medical records that are tied to you and instead of like your doctor owning your medical records and then having to transport those between whenever you go to a new provider like you would kind of own you would own those records.

Brittany Ellich (32:44) Ooh.

I feel like this would solve a lot of problems in like our healthcare system and also would be an absolute nightmare to any lawyer that is like familiar with like HIPAA things like the security around it would have to be very very advanced but I feel like this would be really helpful for like individuals especially I mean you don’t live in the same place all the time you’re not gonna go to the same doctor forever.

⁓ So having those be portable and in like at least in a format that’s shared across multiple doctors offices would I think I think that would help a lot of humans not just like I feel like it would make the systems run faster and smoother and then the problem is is then you’ll have to like rely on the individual to like maintain their own repository right because I mean it could

Erika (33:29) Mm-hmm.

Mm-hmm. I mean,

theoretically, I guess like, yeah, I’m with you. Like, definitely this, like, privacy question would need to be figured out. Like, you wouldn’t want your medical records all public for everyone, but like, medical records currently are so opaque to me that I have no idea where my medical

Brittany Ellich (34:06) You

Mm-hmm.

Erika (34:12) And like, I don’t necessarily want to like maintain or manage them, but like, it would be nice for me to be like, well, if I did theoretically want to look up my medical history, like, how would I do that? You know, it’s like, it feels like it’s so protected that like, even I don’t know, even though they’re theoretically my records, like, who do I ask to see that? Like, where are they?

Brittany Ellich (34:32) Mm-hmm.

Mm Yeah,

it’s a nightmare, especially for folks who have like, you know, need long term care or something like that. And they need all of their records in one place to like, especially if they move from one place to another, it’s just a huge effort to gather all the data into one thing. so I think that that would be super beneficial, and worthwhile, but, yeah.

Erika (34:45) Great.

Yeah. And then you don’t

have to be like, when was my last checkup? I don’t know. I think it was last year sometime. Like, it’s just like there. Yeah. Yeah. So yeah, I think with the caveat that this would have more privacy controls, I’m here for decentralized medical records. And specifically personal ownership.

Brittany Ellich (34:58) Mm-hmm. Yeah. Yep. That’s true.

Mm-hmm.

Mm-hmm.

Erika (35:15) Okay, last one, banking.

Brittany Ellich (35:17) Ooh, I think this is interesting. There’s a book that I read earlier this year by Tim Berners-Lee where he was talking about something called Solid Protocol. I’ll share the book. But it is really similar to At Proto, but they started private first. So like all of the repos are private, but then like you can you to theoretically own your repository and you can bring that everywhere.

those seem like the main differences from the way that it’s described. And I think that they actually started that at banks and like really large, like enterprise organizations in Europe, which is where he’s at. So there’s probably different like regulatory environments or something like that where that is a little bit more favorable or worthwhile. But I think that there are some financial records that that would make a lot of sense. I’m curious.

Erika (35:38) you

Brittany Ellich (36:02) how that would work for things like, I don’t know, taxes or whatever. Like you would need to share something with the IRS to be like, hey, here’s how much I’m getting paid still or something. I don’t know. I think that sounds really complicated and like the least interesting of these different examples. So I’ll put that one as like a five or something. I’m sure that there are reasons to host it in some decentralized system, but it sounds hard.

Erika (36:12) Hmm.

Yeah.

This one, this one I feel like I’m like a one on because of the timing and consensus because I think like that’s when decentralization gets really tricky and like I just don’t think there’s any good solution like as of now like I’ve never heard any

Brittany Ellich (36:29) Mm-hmm.

Mmm.

Erika (36:46) really good reliable solution for like decentralized consistency and consent like consensus with these sort of like real time transactions. ⁓

Brittany Ellich (36:56) There’s blockchain people

out there saying, hey, we’ve been talking about this.

Erika (37:00) you

Brittany Ellich (37:01) Yeah.

Erika (37:01) I mean,

yeah, still my, my feelings still stand. So yeah, that’s, that’s where I’m at. I think this is like one of the, one of the things that, yeah, I think I’m, I think I’m a one on. with like, I think there’s room for like, maybe having a personal repository of like all my financial, like,

Brittany Ellich (37:14) Yeah.

Erika (37:23) things or whatever in a repository. Like this is my, this is like the link to my savings account and my 401k. like, cause that stuff does get confusing to keep track of, of like, I have a 401k or like I have a retirement account from when I was a teacher. And I’m like, I don’t even know how to access that. Like I’ve tried to contact the school district and they like never responded. So like, I don’t know if that money is just going to like disappear. Like, I don’t know.

But like that would be cool to like be able to keep track of all those different, those different like financial pieces I guess. But yeah, as far as banking goes, the whole system, I’m fine to leave it as is.

Brittany Ellich (38:01) Yeah, yeah, that’s not a thing that I would be like super excited to work on, I don’t think, but you know, I’m sure there’s, I’m sure there’s a case to be made for it.

Erika (38:06) Yeah.

Yeah, Well cool, that was fun. So we mentioned we’ll drop some links to OpenSocial, CollectiveSocial, and for people following your work, where is the best place for them to look for you and your work?

Brittany Ellich (38:22) yeah, everything is pretty much linked from my website, including all of the overcommitted episodes. So BrittanyEllic.com is the, is the spot that has links to socials and blog posts and whatever else.

Erika (38:34) Cool? Alright. Well, thank you listeners so much for tuning in to Overcommitted. If you like what you hear, please do follow, subscribe, or do whatever it is you like to do on the podcast app of your choice. Check us out on Blue Sky and share with your friends. Until next week, goodbye.