In a post dated 9th August 2026, developer Simon Willison described a prototype scheme for storing the full revision history of an edited text document inside a SQLite database. According to the post, the idea is to keep every prior version of a document in a large JSON array of strings and then apply zlib or Zstandard (zstd) compression to the whole array, on the reasoning that repeated text across versions compresses well. Willison writes that the table would use a BLOB column for the compressed history plus a separate uncompressed column holding a JSON array of Unix integer timestamps. He says he discussed the concept using the ChatGPT iPhone voice mode, then prompted GPT-5.6 Sol Pro to build experimental Python prototypes, which he states ran for 38 minutes before returning code and files. Per the post, testing with 1,000 simulated revisions produced 20.4 MB of raw revision text that compressed to 80.3 KB as a Zstandard-compressed JSON array. To avoid decompressing and recompressing the entire array on every edit, the post says the model suggested splitting the history across multiple rows, each capped at 128 revisions or 3 MB of uncompressed JSON. The write-up is described as a prototype experiment.
- 1,000 simulated revisions: 20.4 MB raw text compressed to 80.3 KB with Zstandard
- History stored as a compressed JSON array in a BLOB column, plus a timestamp column
- Rows capped at 128 revisions or 3 MB uncompressed to limit recompression overhead
- Prototype built by GPT-5.6 Sol Pro after a 38-minute run; posted 9th August 2026
What it means for you
A developer found a simple, cheap way to store every past version of an edited document by squashing them all together with compression, since the versions overlap heavily. It's a technical trick that keeps 'undo history' or audit trails small. For most readers this is a peek at how software gets built, not something you'd act on.
Who should care
Developers or technical founders building apps that need to save document edit history, audit logs, or version tracking without ballooning database size.
Skip this if
You don't write code or manage a database yourself — this is an implementation detail with no bearing on how you use AI tools day to day.
Sources: Simon Willison — read the original