Conversation

I'm excited to share the first public notes about the project that and I have been working on for the past 6 months! Building apps is too hard. We think that the solution involves *databases*. ... what?
9
162
This is probably my inner database engineer talking, but... when I look at most apps—Mail, Photos, iTunes—I see a pretty thin layer of well-chosen queries on a database. Despite that, building an actual app is hard. I'm a pretty decent programmer and it's too hard for me.
A screenshot of iTunes.
1
10
Even more strangely, I whip up quick command line scripts and graphs all the time, in the course of my normal research. Why is building apps so much harder?
1
5
Replying to
It turns out that people have spent 50 years building systems that specialize in managing state: they're called databases! So that was our question: what would it feel like to try to build an iTunes clone as a database query?
1
7
This turns out to be really hard, for mostly technical reasons. We hit all kinds of weird problems just gluing SQLite to React, never mind something more ambitious. But it works! We built a music app (mostly, conceptually) as a pile of inter-related SQL queries!
1
6
This was one of those projects that produced more questions than answers. But we found some cool stuff that we wanted to share: - local databases are crazy fast!! - queries make debugging way easier - noun-based interop feels like living in the future
1
12
We're still in the early days of this project, but a really cool picture is starting to emerge. What if an entire app, from the event log to the pixels on the screen, is just one giant query?
A diagram of the layers of writing an app: processing the event log, materializing some base state, creating derived views of that state, and rendering to a UI tree. What if this could all be one big relational query?
2
17
On a personal note, I've enjoyed a tremendously productive collaboration with , , and Daniel Jackson. Especially when the world is falling apart 😢, I'm so glad to be working on this stuff with really talented, caring people.
2
11
Geoffrey and I owe very special thank you to co-author for being our intrepid "alpha tester". 🙏 If you've never used a framework that isn't ready yet... you don't know his pain. 🙃 Thanks for putting up with our constantly evolving, often-broken code!
1
7