![]() ![]() What I love about Airtable is that these tables are super fast to set up, and setting data types for each field is painless. For example, the “Pages” table has some recurring fields for each of the website’s pages, like a title, subtitle, featured image, SEO description, etc., while the “Credits” table is structured to show a content collection with information like year, role, image, and IMDb link for movie and TV credits. From there, I added separate tables corresponding to each page or content collection type. First, I created a “base,” which is the central hub for a project that can contain multiple tables and users related to that project (helpful because you can work in real-time on structuring and adding content with your client). Getting set up in Airtable is quick and easy. This approach offered a number of benefits and some minor drawbacks-for example, it would probably become a nightmare if you had more than a few dozen records in each table-but overall I think it’s a great solution for that small Jamstack site where you need a no-nonsense, easy-to-edit content solution. So here’s how I set up an “Airtable back-end” for this personal portfolio site-a back-end that happens to be incredibly easy for a client to set up, use, and maintain (at no charge!). It also provides a straightforward, REST-like web API that allows the data you create to be used anywhere on the web. It’s a beautiful and intuitive product that I use regularly for my own work and personal needs. Airtable, if you’re unfamiliar, is a kind of collaborative spreadsheet-database hybrid it gives you all of the functionality of shared Excel sheets with the power of linked records and organizational methods you’d expect in a database. It was as a result of these problems and thoughts that I decided to try using Airtable as a content management system for this particular portfolio project-not an original idea by any means, but one that I had wanted to try my own way given the considerations above. But WordPress was (is) unbelievably popular because, apart from any development considerations, it addressed this need for a simple, “plug-and-play” content solution with minimal customization and ease of editing for the non-technical user. The headless CMS space and its products are still evolving, so one day soon this might not seem like such a big deal. I’ve had a lot of fun learning and playing around with Sanity and Storyblok in particular, but for the small personal portfolio site that WordPress excelled at, both feel a bit like bringing a Lamborghini to a go-kart track. I had the pleasure of attending the Jamstack Conference in October (it was fantastic!), and something I overheard there rang true in my experience-that as the industry moves away from WordPress (which still powers a huge portion of the web, by the way), the use-case that WordPress was perfectly tailored to (namely, the personal/portfolio site of the type I’m talking about here) has been overlooked by most of the big-name, cutting-edge technologies.įor example, there is an amazing crop of headless CMS options out there at the moment, although most are geared toward enterprise users. There are a few Git-based “Markdown CMS” options that exist which theoretically address this problem, but I don’t find them terribly impressive or intuitive (at least I’ll say that for Netlify CMS, an absolute wreck, although Tina CMS in conjunction with static site generation looks promising for future experimentation). It would be quite a hard sell to get a client with little web experience beyond Squarespace or WordPress to start using a text editor to make content changes locally and then push changes to a code repository. I wanted to easily scaffold a number of different content types (testimonials, projects, compositions, events, credits, etc.), and, while technically possible in Markdown, this would not have been ideal for client editing. Markdown, while great for structuring content for blogs like this one, is in my opinion just not as versatile for managing content for such a portfolio project as a more traditional CMS might be. The site under consideration: The Problem # This post is a brief overview of how I used Airtable to solve this problem for this specific kind of small portfolio website, which led to some interesting results. But early in the project I hit on a problem that ironically seems to crop up for just this kind of perfect Jamstack scenario: how to enable the (individual, maybe not super tech-savvy) client to manage content in the easiest, most pleasant, and most cost-effective way? Given the simplicity of the overall site, it’s a much thornier question than you’d expect. ![]()
0 Comments
Leave a Reply. |