Bemi – data versioning and time travel for PostgreSQL
Hi HN, we’re Evgeny, Arjun, and Donna - the builders of Bemi (https://bemi.io). Bemi is an enhancement of your existing transactional database to unlock time travel querying. We enable engineers to track all PostgreSQL state changes. We used to all work together at a startup five years ago, and now have got the gang back together to work on Bemi! Many open-source libraries already track data changes, but they’re not reliable since they don’t track changes made outside ORMs with direct SQL queries. Additionally, they come with runtime performance overhead since they’re making…
In plain words
Bemi is a PostgreSQL enhancement that tracks all database state changes and enables time travel querying. It records modifications made through any method, including direct SQL queries, without relying on application-level ORMs or callbacks. Designed for engineers who need to audit data history and reconstruct past database states, Bemi captures complete change context while avoiding the performance overhead and reliability issues of existing change-tracking libraries.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
Hi HN, we’re Evgeny, Arjun, and Donna - the builders of Bemi (https://bemi.io). Bemi is an enhancement of your existing transactional database to unlock time travel querying. We enable engineers to track all PostgreSQL state changes. We used to all work together at a startup five years ago, and now have got the gang back together to work on Bemi! Many open-source libraries already track data changes, but they’re not reliable since they don’t track changes made outside ORMs with direct SQL queries. Additionally, they come with runtime performance overhead since they’re making database inserts in callbacks. We’ve also consistently seen hacks that engineers write on top of the libraries to store additional context or make it easier for them to query. There are databases already available for event sourcing, but we take a fundamentally different approach. We don’t want engineers to have to rearchitect their existing code, switch to highly specialized databases, or use unnecessary git-like abstractions. We want your system to work the way it already does with your existing database to allow keeping things as simple as possible. Bemi uses change data capture (CDC) by connecting to a built-in replication log of a database, ingesting all changes on the database level, and storing them in a structured format in a destination database. The database connection details can be securely configured through our dashboard UI in a few seconds. People also try adding database triggers to track low-level data change. The main difference is that Bemi integrates not just on the database level, but also on the application level with packages in the most popular frameworks (being released soon) and a Bemi worker automatically stitches application metadata with the lower-level change data to get the “where” (API endpoint, worker, and so on) and “who” (user, cron job, and so on) behind a change. This allows being able to revert all data changes made within an API request, for example. For the sake of transparency, we intend to make money by implementing usage-based pricing and a multi-cloud hosted option. Bemi’s free for early adopters. We are still early though and would love your feedback. What do you think HN?
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 1d ago · opentrailpaper.com

Launched alongside, November 2023
the whole month →

Discover & book top creators to promote your product
Growth · 2023 · passionfroot.me



