A local-first reactive relational database that aims to make it easier for anyone to build apps.
Building apps is too hard. Even skilled programmers who don’t specialize in app development struggle to build simple interactive tools. We think that a lot of what makes app development hard is managing state: reacting and propagating changes as the user takes actions.
We’re exploring a new way to manage data in apps by storing all app state—including the state of the UI—in a single reactive database. Instead of imperatively fetching data from the database, the user writes reactive relational queries that update with fresh results whenever their dependencies change. Ultimately, we think this approach could dramatically simplify app development by removing layers of complexity from the stack.
Problems we're exploring include:
relational languages for ergonomically constructing frontend UIs and view templates
reactive query systems for efficiently tracking dependencies and updating data
cross-device synchronization using a generalization of CRDTs
user interfaces for end-user programming in a reactive relational system