Updates, releases and explorations by the Vulcan team.

How CR-SQLite Transactions Work Tomorrow

June 14, 2023

Future improvements for transactional guarantees

Read more →

How CR-SQLite Transactions Work Today

June 6, 2023

An overview of the design decisions for the current implementation of cr-sqlite and their impact on transaction guarantees

Read more →

The March to Reactivity

June 5, 2023

The request-response pattern isn't optimal for the types of applications we'd like to build today. If you want your application to update as soon as information is available, it is much easier for that information to be pushed to you incrementally than for you to have to go request it.

Read more →

A Framework for Convergence

June 1st, 2023

What if I told you anyone can create a new CRDT? That you can do this without any special knowledge of distributed systems?

Read more →

A Gentle Introduction to CRDTs

April 1, 2023

Conflict Free Replicated Data types (CRDTs) can be tricky. You may spend months reading papers and implementing different algorithms before they finally click and become simple. That or they'll seem simple out of the gate and you'll be missing a bunch of nuance.

Read more →


February 17, 2023

Event sourcing is a fairly common design pattern for deriving application state from a history of events. But is it possible to turn an event log into a CRDT? To allow nodes to append events to the log, without coordinating with other nodes? Can we merge all these copies of the log, proces them, and arrive at the same application state across all nodes?

Read more →

Fractional Indexing

January 26, 2023

To enable user provided ordering of rows, most people reach for a fractional index. They're great given they let you change the position of one row without modifying any other rows. Fractional indices have a number of gotchas, however.

Read more →

Recursive Ordering

December 20, 2022

Keeping things sorted without interleaving edits.

Read more →

Recursive Ordering in Sqlite

December 20, 2022

Sorting by recursive relationships efficiently in SQL

Read more →