Daniel: Hello, welcome to The REPL, a podcast diving into Clojure programs and libraries. This week, I’m talking about InstantDB, a real-time database built with Clojure, with Stepan, one of the creators of InstantDB. Welcome to the show, Stepan.
Daniel: Great. So I came across InstantDB, not from the Clojure angle, but just from Hacker News. I saw InstantDB as this kind of real-time database syncing type thing, sort of like build your own linear in a box. I was looking through the comments and I was just thinking, “Oh, this is a cool, interesting kind of project.” And then I realized, “Oh, this is built in Clojure.” Huh. Okay, this is now really interesting to me. And so that’s why I thought I should definitely get you on the podcast to talk more about InstantDB. So tell us a little bit about what InstantDB is. What’s your history with this project? Because it’s newly announced, but it looks like you’ve been working on this for quite some time at this point.
Stepan: Yeah, so Instant gives your front end a database that you can use. One way to think about this problem is that writing web apps is just full of schleps. You start with a database, you add endpoints, you take all this data, you normalize it in a store, then you write optimistic updates. If you want to think about offline mode, you have to consider that. Then there’s multiplayer, right? All these steps that we take are just kind of cruft that everybody has to do over and over again.