Library Podcasts

Ep. #88, Local-First Software with JB Rubinovitz of Homebase

Guests: JB Rubinovitz

In episode 88 of JAMstack Radio, Brian is joined by JB Rubinovitz of Homebase, a platform for making local-first software. They discuss the features and use cases of Homebase, how Bail Bloc mines crypto for bail funds, and the future of decentralized data.


About the Guests

JB Rubinovitz is the CEO and Co-Founder of Homebase, the platform for local-first software. Previously, JB worked as a research software engineer at the MIT Media Lab on AI Ethics and Governance and as lead machine learning engineer at Eight Sleep. They also co-founded Bail Bloc, a cryptocurrency scheme against bail, and a 60k+ hacker community called Hackathon Hackers. Their work has been featured in venues such as The New York Times, The Guardian, Vice, The New Yorker, Forbes 30 Under 30 and the Sundance Film Festival.

Show Notes

Transcript

00:00:00
00:00:00

Brian Douglas: Welcome to another installment of JAMstack radio.

On the line we've got JB Rubinovitz. JB, hello.

JB Rubinovitz: Hi Brian. How's it going?

Brian: I am doing fantastic. We are getting some colder weather out here in the bay area.

So I've got my favorite Scotland sweater. It's like my walk around the house sweater.

And I'm in currently in sweatpants and very thick socks, but I hope you're staying warm.

I think you probably, at this point have a summertime out there in New York at this point, right?

JB: Yeah. I am currently hiding in San Diego for a little bit longer.

Brian: Oh, nice.

JB: So I'm warm, but it's May gray here. So it's very cloudy.

Brian: Oh, you're probably getting some of what I'm getting up here in the bay area, specifically for any listeners who still have not figured out where I live, because I share way too much information about myself.

But speaking of this information about yourself, I brought you in to talk about Homebase.

You're the founder and CEO.

You have a co-founder as well, but do you want to tell us a bit of how you got into Homebase and what you sort of working on in the past?

JB: Yeah. I think we were talking about this before the show, but I have a really eclectic background, where I've pretty much worked on every part of the stack.

I started out in front end development and working on a LAMP stack years ago and now I'm here with the Jamstack.

I worked in cryptocurrency mining for bail funds, but also worked in machine learning and AI governance and have testified in front of Congress for that.

The common thread here is trying to use code to do things with data on all parts of the stack.

My kind of inspiration for Homebase was being aghast at how much complexity the developers are dealing with and the resulting time spent on code maintenance, even for applications that should be theoretically simple.

So we're trying to decouple applications from data and eliminate a lot of this complexity and that has really cool side effects for Jamstack developers.

Brian: Yeah. We're digging into what you're working on Homebase and-

JB: Yeah.

Brian: Yeah. That's fascinating too, around your background, the crypto space and bail bonds, because I know in the state of California, we've had some changes in how bail bonds are approached.

So it's definitely a market that could be disrupted.

I'd love for it to be disrupted because it's a very unequitable market for sure.

But we don't have to focus too much on that. I want to focus on Homebase.

So could you give us like sort of the introduction is of what Homebase is?

JB: Yeah. Homebase is a platform for making local first software.

We can go into what local first is because I think the average person listening to this won't know, but right now we have this library out for the public, open source, called Homebase React.

And it's really great for writing write heavy applications in React, simply and effectively.

So think like Notions, Superhuman, Roam Research, Facebook, Messenger.

Usually you have these teams building kind of bespoke infrastructure and embedded databases and caches for these applications.

And Homebase gives you an embedded database right in the browser right now, soon everywhere for these types of applications.

It makes them super easy to build.

Brian: Okay. Yeah.

And I'm curious about the local first thing, because when I think of React and local Forth, I think of the approach of like Redux and leveraging local storage to manage your state.

Is that the right head space to be in for this?

JB: Yeah.

So local first came about by this lab called Ink & Switch and they put forth these seven ideals around local first, and trying to make data local whenever possible.

And like the idea that the canonical copy of data should be on the user's computer.

And there is a lot of work around like, "It should be user owned. The network should be optional."

So things like, "Offline first and security and privacy by default."

So the initial kind of pitch for local first was around collaboration and data ownership.

So not just using local storage, but the idea that like, "We should be able to collaborate around our data and we should also be able to have the user own it," or like in this case, "Have the developer access it locally very easily."

Like the whole data set, not just like caching state, like you would in Redux.

Brian: Okay, excellent.

So the collaboration piece is the thing that my mind sort of stuck on at the moment--

Is this similar to like, "I shared show notes for this podcast, with you through Dropbox paper," I've got a local version of that?

And when I say local, It's not even that local because Dropbox Paper, doesn't do a great job of the offline caching capability.

But is that in the sense that, instead of me relying on Dropbox Paper specifically to host that data, I can have a version of that, that I don't need internet connection to connect with and then share that across to my teammates or podcast guest?

JB: Yeah. So if Dropbox Paper was built on Homebase, you would have this embedded database where your document was stored.

You could go offline. If the application developers let you, that data would be portable and usable of any other Homebase database or Homebase database component.

So the idea is like, "You have offline capability, you have real time collaboration because it's built on top of this conflict free replicated data type," which we can talk about, "And then you have data portability and interoperability."

So you could basically build a whole office suite on top of your Dropbox Paper data, if you wanted to, if it was in Homebase.

Brian: Okay.

JB: Because the database is always the same.

So you're basically just building views on top of it.

Brian: Okay, excellent.

Yeah, that sounds very similar to-- This came up as a pick in the previous episodes, but like Obsidian and Roam Research, how they have these sort of interconnecting documents, like you could essentially leverage Homebase to power something like that.

JB: Exactly. Yeah. A lot of early users we've been talking to have been Tools For Thought people, because--

I don't know if you been following these ecosystems, but they are already trying to Forth data from different sources into Roam and these other Tools For Thought application.

They have these complex data, heavy client side applications that need to be fast that have this relational data.

But right now they're pretty hard to build.

This is kind of also like a blockchain of out blockchain play.

Like we see the world going towards decentralized data-

Brian: Yeah.

JB: ... but you don't really need a blockchain consensus for most things.

You kind of need a web of trust within your organization and a way to identify people, but most data, you don't need a strong consensus on.

Brian: Okay. It's interesting that you said that because it sounds like blockchain, it sounds like the sort of having a collaboration, or this data model and being able to have your content structure secure, but also consistent.

I'm curious, what are you building this technology on, or is that something that you're still figuring out?

JB: Yeah. So we're building on top of this open source database called Datahike.

It's a open source version of a Clojure database called Datomic.

So one of our secret sauce is reporting all these ideas from Clojure into JavaScript.

And so right now the Clojure script version of the database is usable in JavaScript.

And then eventually we're going to be able to compile a binary of the database. So it's usable and anywhere.

Brian: Oh, interesting.

JB: Yeah.

Brian: Yeah. And then a couple things I wanted to touch on, the binary, but also being able to use anywhere.

So, is there a hosted solution for this or do I have to throw this on a S3 bucket or something similar?

JB: Yeah. So the idea is, everyone using this database is a peer and what Homebase provides as a SaaS product is a hosting service.

And so we sit as a peer and we'll sync your data across services, is our preliminary offering.

But eventually becoming this like, GitHub for data and these applications on top of that data.

Brian: Okay. Excellent. Yeah. My other thought was how version control happens with Git.

That's also something that I think of too as well in the collaboration piece and the fact that I can have a local version of my entire repository, but also my teammate can get another version through whatever Git provider that they're leveraging.

But it sounds like you could approach collaboration, inversion control even in that extent, is that correct?

JB: Yeah. It's very similar.

Like the database itself, isn't mutable, you have a timestamp for each point in time and you can fork it and write speculatively to forks and stuff of that nature.

So it's very similar to Git.

Brian: Yeah. And Homebase it's pretty new too as well. When did y'all get together and start working on this problem?

JB: Yeah, my co-founder Chris and I have been working together, I think since last March and have settled on this iteration of the problem, like a few months later.

Very interesting to start working on this as New York city was shutting down for COVID, but it's been a good time.

Brian: Awesome. Yeah.

The amount of projects I've talked to that had accelerated their sort of from idea to production--

We had Supabase on quite a few months ago.

We had a couple other projects on-- Just chatting through their experiences during COVID.

And it's interesting that y'all started March of last year because that's when really stuff started happening.

At least in San Francisco, everything shut down then.

So I'm curious to hear more about your experience while working on this if--

Are y'all still just two co-founders or have you started hiring and taking on new staff as well?

JB: Yeah, we have some freelancers and we're working with--

So Datahike was originated by this cooperative in Berlin called Lambdaforge.

And so we work with them and they are advisors to the company.

So it's like, we're pretty lean, but also like have a bunch of collaborators at the same time, because we're interacting with this open source community and building in public and all that.

Brian: Yeah. And I saw that your repos are also opensource.

So, the React hook that you can leverage today is all open source.

So is that still the plan to continue to work in the open and participate through the other projects as well as have your own project?

JB: Yeah. The ideas to continue working in the open and have the hosting stuff and like lambda functions and like the tooling be closed source.

But also build the open source, such that if you wanted to build all that stuff, you can, but the idea is like we as Homebase want to provide enough value where you'd use us, instead of, have you to do that.

Brian: Excellent. Yeah. I love that model too.

I mean including my current employer is a flip to my previous employer.

There are portions that don't make sense to open source.

And as you figure that out in the cloud provider thing, as well as the cloud hosting provider for the data, it makes sense to figure that out, but also leveraging community, leveraging projects like Datahike.

I think that's a really great way to solve a problem in the open, but also get a lot of feedback on a product that folks are already have a use case for, for sure.

Which I would've asked more about use cases too, as well.

Do you have any ideas of how folks are using Homebase today or perhaps even Datahike in different products?

JB: Yeah. So I think for Homebase, you kind of hit the nail on the head with the Tools For Thought application.

That's where we're seeing a lot of use right now.

The database that our database is Forth from is the database that Roam Research uses for instance.

We're using a Datalog database, which I think is kind of unique and a lot of Tools For Thought people are realizing that Datalog is pretty great. And so the idea is we're working with Tools For Thought folks, as we roll out more features like this is a database project, it's a really long timeline, and so we're constantly trying to roll out features really iteratively.

So we're not building in the dark and the features we have right now are really useful for an on fire problems of Tools For Thought folks, or anyone writing anything like write heavy in the client, where you have a lot of data on the client, ideally it's relational.

Brian: Excellent. Yeah. I'm, I'm actually working on a problem right now.

And folks who listen to this podcast are familiar with my project, which is Open Sauced.

And we're currently working on a problem where I want to-- I guess crowdsource might be the right term here, but crowdsource data about open source projects.

So there are certain projects that are just doing a great job, but it's hard searching on GitHub to find out, "What projects in this language or framework are taking on contributors or making it easy for contributors."

It's all word of mouth.

So I'm trying to figure out how to collectively, as a solo user, save data and make note of projects that are doing well through different signals, like following and stars and some other stuff in commit history.

But also I want to be able to share that data across in a very open way to other users.

So if everybody's getting a good signal, then everybody can jump onto this project and say, "Okay, well this project's doing a great job. Let's jump up here and contribute."

I'm curious if that idea, would I be able to approach that with Homebase?

JB: Yeah, I think definitely.

Is it like multiplayer or is it just you writing and then-- Are other people contributing to the discussion?

Brian: It's a bit multiplayer.

So imagine in Open Sauced, I start tracking into Homebase repo on one of your projects.

And I get a good signal of like, "Hey, I got a contribution or I got my first time contribution," because that's a strong signal in GitHub's commit whenever you do a first time PR it gets labeled that way.

And this is literally the way I'm going to be building this.

I'm following certain users on GitHub, everybody who follows me or people who I follow will get a signal from me that says, "Hey, congratulate Brian on this first time contribution," so everybody jumps in.

Sort of like LinkedIn, when you get a new job, you give them like props.

I don't use that feature very often, but I know it exists. "Congratulate folks that got a new job."

So kind of similar to that, where I have a network of friends on GitHub, that network of friends that data will be mirrored through Open Sauced.

And then from Open Sauced, I get good signals of like, "Oh, let's all contribute to Homebase," or maybe I can open up issues or just try Homebase because I never heard of it before.

So that's a good signal for me just to install it at one of my projects.

JB: Yeah. That does seem like a good use case. I don't know.

Maybe we can like pair program or something at some point.

Brian: Yeah. We chatted about this off air too.

That's why I'd love to explore just a product itself. I'm a big fan open source.

So I love your approach of contributing to open source, but also doing a bit of what you're working on in the open.

And I'm also super fascinated at projects that against all odds, focused on a problem, worked on it during 2020 and now 2021.

I'm definitely rooting for the Homebase squad and seeing y'all advanced through the progression of your products. For sure.

JB: Thanks. Yeah.

I'm from the like Hackathon scene, like founded a really big hacker community and was like, "We're just going to do Hackathon to do all these in person things and it's going to be great," and then COVID happened.

But silver lining is, it's so easy to get people from all over the world on a zoom call now and talking to them or like hanging out in a discord.

So there's been a silver lining as far as expanding our reach beyond the US, which has been really cool.

Brian: That's awesome. Have you seen some crossover from folks in the blockchain space, interested in the platform such as Homebase?

JB: Yeah. We have people, specifically-- Let me see.

I'm talk talking to blockchain people, but the bigger crossover has been like peer-to-peer people.

So peer-to-peer is traditionally like not very ergonomic, like it's hard to use.

And we're embodying a lot of the peer-to-peer ideas, but giving you this centralized option if you want it and don't truly mean peer-to-peer.

So there's been crossover there. And then on the blockchain side we have a lot of people using us with an IPFS.

Brian: Okay.

JB: Because we can replicate your data basically anywhere.

So you can have the centralized thing and then you can also replicate it to IPFS.

So you know it's going to be there for you. So those have been the big crossover so far.

And we also intend to do a lot with blockchain as a source of identity.

Brian: Okay. It's interesting to see some of the knowledge that we've gotten from blockchain.

I know there's a lot of hype around cryptocurrency and making money and going to the moon.

But what I've been fascinated by is just the knowledge transfer for folks who've been working on those problems come into the mainstream space.

So, I didn't know that Homebase or even yourself, you had history in the blockchain space, but I do like seeing novel examples and just unique use cases for folks who are applying those concepts.

Which I know, this is more peer-to-peer rather than blockchain, but it's interest thing to see that idea now come into fruition for sure.

JB: Yeah. For sure.

I definitely like wanted to be a "blockchain person," but I think it's hard to find your people there when so much money is being made.

Like you don't know who is in it for the-- I guess the value and belief system.

And I find a lot of the Web3 and blockchain application developer tools, really unergonomic and basically trying to find a way to solve these problems that, "You know, it's just in React hook. It's easy. It's syntactically beautiful. It's simple."

It was one of the goals here for sure.

Brian: Okay, cool.

And I know this is very early for your product, you only just started working on it out last year, but is there any ideas of like how pricing is going to work?

Like if I were to start trying out Homebase today or in the next couple weeks, what can I expect to pay for?

What can I expect to be able to leverage today?

JB: The idea is like, it's going to be free for small projects and then probably pay for developer seat or something similar to Vercel or Next.

Trying to do usage based pricing where if you have a small project and we aren't providing any physical value, you shouldn't be paying us, but when we start to provide value, we want to start charging.

Brian: Yeah.

And the example I explained with the Open Sauced, the value you'd be providing me is basically hosting that data somewhere else and not making me a DBA or someone has to manage that infrastructure, because I also come from the front end space.

So I live and breathe through JavaScript and React and being able to get fancy UIs up and running, not so much getting data consistent and making sure that stuff doesn't go down.

So I'm always looking for a good solution that I don't mind paying for.

JB: Yes. Well we're here for you so we should talk.

Brian: Thank you very much.

Can we really just quickly touch base on the Forbes: 30 under 30.

I'm curious how that came about. It's not every day you get to meet someone who's on that list.

So are you able to touch base on: One, how they reached out, but also what was the notable thing that they reached out for?

JB: Yeah, sure thing. So, oh, I'll start with what they reached out for, because that informs how they reached out.

But it was for Bail Bloc, a project I co-created to crowdfund mining cryptocurrency to pay for people's bail who couldn't afford it.

And so we presented that project at Ethereal, this big like Ethereum conference in Brooklyn.

I did an interview of someone from Forbes there to get the word out about the project. And so when 30 under 30 came about, they put me on the list in finance, which was really weird because this, this was not a for-profit project in any sense. So it's like me in finance with all these people who are much wealthier than me.

I'm now like on a mailing list for Saudi Arabia where they try to get me to come out there and like invest money. And it's been interesting. I am hoping it kind of brought a bigger audience to the problem with bail, but it's hard to measure.

Brian: And is Bail Bloc still of something that's still moving forward or is it a project that you had to sunset?

JB: We're currently sunsetting it.

It came at a time before bail funds were really mainstream and we wanted to kind of use cryptocurrency as a way to talk about the problems with cash bail.

And I think at this point, people know about bail funds.

Last summer, they were flooded with donations to the point where they couldn't really handle the amount of donations.

And, so one of the reasons I moved on to advising and helping AI governance around risk assessment.

Which is kind of like the next metamorphosis of these bail systems where it's like, "We're going to set bail with algorithms," but it turns out those algorithms are really biased.

I was always more about the cause of abolition than the specific technological underpinning, if that makes sense.

Brian: Yeah. That sounds great too.

Again, I just find it super admirable because I am very, very aware of how unequitable the system is.

And I love projects like this project, but also the Detroit Water Project.

Which is a project that was put together to pay folks water bills in Detroit, for folks who could not make that next paycheck.

And there a couple different projects in the same vein to as well, that maybe this was inspired by those projects or those projects inspired by this project.

But I just love seeing people do these positive good stuff with tech in their resources, for sure.

So thank you very much for that. I cannot say that enough.

So I think we kind of covered a lot of the bases around Homebase.

Man that was such a bad pun that I did not intend.

Actually, is there anything else you wanted to bring up about Homebase, maybe stuff that's coming down the future and people can look out for?

JB: Yeah. Great question.

So, if you go to our website, you can sign up to get access to the beta right now.

What we have public that you can poke around with and try is we have a library called Homebase React, which is React hooks for embedded database.

And then we also just released or like have released at the time of this podcast, whenever it comes out, a Datalog console.

So in the browser, in Chrome right now, you can see your embedded database and play with it in the Chrome console.

But also if you have a Roam database or another Datalog database, you can also play with that in our console.

So hat tip, Chris and Wade for getting that out there. Yeah, I think that's it.

Brian: Yeah. Awesome.

Well, I hope folks who are listening, definitely head over the Homebase.io.

Request early access, try it out, provide feedback.

Contribute to open source as well. It's in their opportunity Datahike appears to be open source as well.

Homebase has got some React hook library as well. You can contribute to and provide feedback with.

But JB, thank you very much for sharing about Homebase.

I'd love to transition us into picks. These are JAM picks, things that are keep us going throughout the day.

It could be music, food technology related all of the above anything's fair game. So did you have a pick?

JB: I have some picks.

Brian: Oh cool. Well you, should you go first? Okay.

JB: Are you an animation fan Brian?

Brian: Animation fan. I have dabbled.

I am no expert, but I have definitely played around with some animation in the past.

JB: Okay. Well there's a movie out on Netflix right now by the folks who did Into the Spider-Verse called, The Mitchells Versus the Machines.

And it's like the best animated thing I've seen in years.

It's like a really cool queer coming of age family during like a tech apocalypse.

Like there's this like Google type company and there are robots running around and this family is just kind of weirdly beating the robots and--

Yeah, I really enjoyed that this past weekend.

Brian: Cool. I'll never forget to add that to my list. I love Netflix movies and shows.

And having those as I sort of try to really debug a problem or have to write up documentation.

I mentioned this a couple times in the podcast, but I'm definitely a "Watch TV while doing your homework" type of kid.

So I'm definitely going to put that on my list for sure. I love Into Spider-Verse, but yeah, you said you had another one.

JB: Yeah. I'm a Brazilian jujitsu person.

And so I'm going to pick my gym that just reopened Unity Jujitsu in New York city.

If you're in New York city right now for the summer, you should check them out.

And then I think my final one is, I've become an electric bike person over COVID and so-

Brian: Nice.

JB: I'd like to pick my electric bike, the Rad Power: Rad Runner.

I do like 50 miles on that thing a week. It's been really nice. Yeah. I think those are my picks.

Brian: Yeah. I'm familiar with Rad bikes too as well.

I've got a couple coworkers who, I swear will buy them.

And also a couple folks I know in Oakland out here that that leveraged them.

Oakland has got a really good bike scene and they've got great bike lanes too, as well.

I'm still old school and he is a fixie for whatever reason. But I lucked out that my neighborhood's pretty flat.

JB: That's cool. My co-founder is a fixie.

Brian: Excellent. Yeah.

You know, one speed. It's the only speed you need. So I did have a pick.

So we had a pick, a new project I've been working on for the past six months, finally shipped and it's called the ReadME podcast and it's a podcast, as it sounds, about open source maintainers.

So talking about their sort of come up, but also how they've contributed to a project or built a project and eventually got a little bit of success around that.

What I love about it is that it really showcases the stories of how folks got to where they are, because I think every story that folks--

You could see the success of anybody, but you know that success comes with hard work or with a lot of luck.

So it's nice to hear some of the serendipitous moments.

So we actually interviewed Evan You from the Vue project.

As well as a couple other folks too as well, the creator of Homebase and Octoprint.

So if anybody's interested head over there, subscribe in the ReadME podcast.

I did mention I'm one of the hosts.

So I got a chance to meet a lot of open source maintainers and get to learn about their stories.

And kind of just realize that most folks who are doing really cool things, they're doing it, because they just-- I don't want to say it's passion.

It's just more of like, they just kind of started solving a problem and folks were all interested in that problem they were solving and that's where really the growth comes from.

So if you work on a project, start with something that's interesting to you and you'll find other people that are also interested in it.

So that is my pick. And this is a podcast.

So JB, thank you so much for sharing your picks and talked about Homebase and sharing a bit of your story.

Folks, definitely find JB on all social platforms as well as sign up for Homebase.

JB: Thanks Brian.

Brian: Yeah. And with that listeners keep spreading the jam.