EPISODE · Jun 6, 2026 · 47 MIN
introducing pgreflex - an open source convex alternative for postgres (gpn24)
from Chaos Computer Club - recent audio-only feed · host moritz
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. In the talk, we'll cover: - Why doing what convex allows you do to is *really cool* from a UX perspective - How does pgreflex work (subscribe to WAL, invalidate) - Challenges and drawbacks of the approach, incl. complexity, latency, and computational overhead - How would you use it off-the-shelf in a TypeScript + tRPC + drizzle project - How other programming languages might implement the same Maybe: a couple of benchmarks (pgreflex vs. convex on same server), if I manage to finish those before GPN Community contributions welcome :) Licensed to the public under https://creativecommons.org/licenses/by/4.0/ about this event: https://cfp.gulas.ch/gpn24/talk/EGXV8L/
What this episode covers
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. In the talk, we'll cover: - Why doing what convex allows you do to is *really cool* from a UX perspective - How does pgreflex work (subscribe to WAL, invalidate) - Challenges and drawbacks of the approach, incl. complexity, latency, and computational overhead - How would you use it off-the-shelf in a TypeScript + tRPC + drizzle project - How other programming languages might implement the same Maybe: a couple of benchmarks (pgreflex vs. convex on same server), if I manage to finish those before GPN Community contributions welcome :) Licensed to the public under https://creativecommons.org/licenses/by/4.0/ about this event: https://cfp.gulas.ch/gpn24/talk/EGXV8L/
NOW PLAYING
introducing pgreflex - an open source convex alternative for postgres (gpn24)
No transcript for this episode yet
Similar Episodes
Mar 26, 2026 ·1m
Feb 8, 2026 ·4m
Jan 30, 2026 ·6m
Jan 2, 2026 ·47m