Emily T. Burak
Airtable as a Database: Getting some Air in the stack
Airtable is not my typical data layer for a web app, but recently I've found great potential in the "spreadsheet-database hybrid" that functions as a "low-code platform for building collaborative apps". Its nature combining the ease of use and familiarity of spreadsheets with the power of relational databases lands it in a particularly interesting niche. Today I'll be talking about the stack I used, the benefits, and the potential of Airtable as an API-data layer.
Airtable's logo echoes its modern look and feel, also it's a nice linebreak!
The Stack In Question: Airtable + Gatsby(React-GraphQL) + Netlify:
Gatsby: it's fast, it's familiar to React developers, and it has an Airtable plugin!
Behold, a data layer! (The Airtable In Question, that is.)
I'm sure you've been chomping at the bit to hear about hosting and get to see the results. For hosting, I used Netlify, a suggested method for deploying Gatsby apps and a favorite for hoisting up quick little projects onto the net for me with its GitHub integration and easy-to-use interface.
Netlify is great, it's so easy and fun, it's worth getting your own first-hand experience, maybe with Gatsby!
Moment of truth, here is the little, humble listing app of resources around graph data that I tossed together as a proof of concept. (Ignore the badly cropped logos, or don't and roast me, that's still engagement with content, I'll take it.) Take a look, see how it lines up with the table above!
Why's this stack cool? The benefits:
Let's get down to why I find this pretty darn neat. First of all, data literacy not required! Airtable is a potent platform for end-users without say, SQL chops, WHERE they don't know a WHERE from a HAVING for example. It's good for quick data entry and manipulation or management. This allows for users driving an application, owners and such, to work with a developer (like say, me) in curating the data with little toil.
Secondly, I keep saying: rapid development. This was all quick to put together once I figured out/decided on the stack, as fast as a Gatsby site with all its SEO powers, one might say.
I can't overstate the value addition of these two factors. Being able to spin up a quick site that can be collaborated on or even given over to owners of data who aren't relational database wizards has great potential. However, there is a drawback: at least with how I did it using that starter, there's not real-time data reflection on changes. That's to say, the Airtable can be out of sync with the app, requiring an oh-so-hard(it's really quick and easy) trigger to deploy over on Netlify. Moving forward, I'm going to be looking into ways to resolve this should I continue exploring this stack.
To reiterate a bit, the potential:
Time to wax a bit poetic and hammer home what the potential is here. The first big win is easy data entry and management by end-users without much technical skill required. This leads to the second big win, easy cooperation between technical and non-technical creators and/or stakeholders. Finally, I encourage you to think about the extensibility of the stack -- Gatsby has a great ecosystem as mentioned, Airtable in addition to being easy to work with has a lot of features(many of which I haven't even touched, let alone the ones I'd have to pay money for, which I'm sure are super awesome.)
Some final hot(spicy) Air(table):
To wrap up, Airtable makes a great, friendly data layer in its own unique way. I've seen very little about this use for it, a quick Google did turn up this short article you might want to look at, which includes some caveats I may have glossed over in my excitement to using Airtable as an API. Thanks for following out this atypical approach to a data layer and use of Airtable, hopefully, you can apply some of this in your own work, or at least found it neat!
You can connect with me via. LinkedIn as well as other social media I have listed here! (Cover photo by Alex on Unsplash)