Blog

Dev log

These posts record how I build plastron and other reactive, offline-first tools. I do the work in public. Filter the posts by tag, or subscribe to the RSS feed.

sqlite · wasm · indexeddb · offline · vfs · fts5 · crdt

SQLite in the browser that reads pages on demand 🗄️

sql.js loads the full database file into memory, but ordinary SQLite reads one page at a time. This demo keeps that demand-paged model in the browser, with pages in IndexedDB, FTS5 and CRDT in one build, from a file:// page.

Read the post
rbac · crdt · cryptography · shamir · offline · sqlite

Records that a group can keep, with no single keyholder as a target 🔐

localRbac enforces role-based access control with cryptography only, in a local-first CRDT database that a group edits offline and merges. Shamir secret sharing splits the master key k-of-n, and thus no single keyholder is a target for coercion.

Read the post
credit-union · offline · crdt · core-banking · waumpaum

RheoServ Waumpaum — a credit-union core in one HTML file 🏦

RheoServ Waumpaum is a credit-union core banking system in one encrypted HTML file. A CRDT merges the offline changes of the operators, and institutions settle with waumpaums.

Read the post
plastron · steganography · pyodide · chaosedgesteg

Hide a plastron link in an image with ChaosEdgeSteg 🐢

A plastron sheetapp hides a plastron.ca share link in a PNG that you can post to X. The upstream ChaosEdgeSteg Python code runs without changes in Pyodide.

Read the post
plastron · hris · offline · crdt

An offline HRIS for a community police office 👮

A proof of concept puts CRDT SQLite in one HTML file to merge HR data offline. The demo shows a fictional Juárez police office, and the plan is to use the same patterns in plastron.

Read the post