Archiving your Airtable Data with Qri

Chris Whong
qri.io
Published in
3 min readOct 29, 2020

Over the past few years, Airtable has emerged as a popular way to manage human-scale data for individuals and teams. It lives somewhere between a spreadsheet and a database, and makes it really to set specific column types (strings, numbers, email addresses) to control inputs, manage joins and lookups to other tables, and do it all via an intuitive web UI and mobile app.

Qri (pronounced “query”) is a version control system for datasets. Our software is designed to make datasets more robust, documented, portable, and trustworthy, in ways that file-based data and traditional databases cannot. When you create a Qri Dataset, each version is signed, hashed, timestamped, and immutable… a snapshot of the data that carries crucial metadata with it and is easy to move around.

So Airtable is great for editing data, and Qri is great for archiving and sharing data… I think maybe they should talk!

The Setup

I actually use Airtable in the real world as a way to easily log water chemistry data for my reef aquarium. A few times a month I am measuring pH, alkalinity, salinity, nitrates, phosphates, etc, to make sure everything is within acceptable ranges. Here’s what the Airtable looks like:

Airtable provides an easy-to-use editing interface for logging my fish tank water chemistry measurements

For demonstration purposes, I’ve written a node.js script that pulls the data from the Airtable API, transforms it to a CSV, then uses that CSV to run qri save on the Qri dataset chriswhong/reef-tank-water-testing. Finally, the Qri dataset is published to qri.cloud where anyone can see the version history and pull/download the latest version of the data!

A simple node script pulls data from the Airtable API, saves a CSV, then commits a new version of the Qri Dataset

The dataset now has a home on the web at https://qri.cloud/chriswhong/reef-tank-water-testing. Qri.cloud is not just hosting my data, it’s making it discoverable in search engines and providing access to the readme, metadata, and schema information that lives along with my table.

qri.cloud gives each dataset a landing page, history, integration shortcuts, issue queues, etc. It’s like your own personal data publishing portal!

Each version is immutable, so if I try to go back and fudge the numbers to impress my fish tank friends, you’ll know how the table really looked in October 2020. :). You can even follow the dataset to get an email notification each time I update it.

The full history of each dataset can be inspected so users can see what changed and when. Each version is immutable, signed, and timestamped.

Towards an Airtable Connector

This example is a proof of concept for moving data between Airtable and Qri, and lays some of the groundwork for a proper connector between the two platforms. What could this look like? One idea is to use Qri Desktop as the jumping off point, allowing the user to quickly create a new dataset linked to an Airtable, and commit new versions with a click.

Another idea is to have the integration UI live in the Airtable UI (or as a browser plugin) which watches the Airtable for changes and allows for a quick commit of a new Qri version.

What would you want in an Airtable / Qri integration? Give us a yell on twitter or drop into our Discord and let us know what features you’d find helpful. Thanks for reading!

--

--

Chris Whong
qri.io
Editor for

Urbanist, Technologist, Mapmaker. Developer Relations @Mapbox