Convex is a TypeScript framework* that makes one promise: "if you change a value in the database, no matter how, it'll update in the frontend automatically."
This is great - imagine writing a comment, and everyone with the page open sees it immideately. If you imagine the normal todo-list example for webdev, you checkmark a task in one tab, and it immediately updates for everyone.
However, despite being open-source, convex is developed by a VC-backed company, and runs on a properitary database - you can only interface with it through their properitary libraries. Simple functions like COUNT aren't supported, and require hacky workarounds. You can't write a simple UPDATE statement. Migrations and schemas are loosely enforced.
All of these restrictions led to me writing pgreflex - a fully free + open-source, community-driven postgres-based alternative. Instead of writing a custom database, pgreflex simply subscribes to postgres' write-ahead-log (WAL) via logical replication - and notifies the app server if something changed. No properitary lock-in, and only a simple, thin library you can use with your existing stack.
- Note: Even for people who can't immediately use pgreflex (not writing TypeScript servers, ...) the underlying tech of "listen to WAL to invalidate queries and propagate changes" is powerful. I promise this talk could be useful if you write rust webapps, too. Or Go webapps. Or python. Or anything, really. It probably could work with mysql, too.