Airtable Leveled Up Our Internal Tools

Ashley Qian
JAM Courses
Published in
4 min readSep 10, 2017

One of the most satisfying aspects of engineering is the ability to build something that enhances a co-worker’s workflow. At JAM, our small team size necessitates maximizing efficiency of moderation and support.

The Context

We create online courses for kids. Our moderation team constantly adds to a growing list of canned responses that they use to guide the feedback given to our kids. A couple of months ago, our moderation team requested an autocomplete feature in their admin tools to help them quickly access these canned responses.

We immediately implemented the easiest thing we could think of.

Step 1. Agree upon a trigger — we decided on the ampersand (&).

Step 2. Stick everything into a JSON constant file.

Step 3. Do a simple filter on the collection based off of the string immediately following the trigger.

The Problem

This worked well for a couple of months, but as our learning team revised our course content and our moderation team added new members, we found some areas that needed improvement.

  • Our canned responses weren’t as static as we expected them to be. (Especially when a new course is launched or when we expanded team size.)
  • Sticking everything into a static JSON file solved the initial problem of having a canned responses feature for moderation, but didn’t account for the fact that non-engineers would have a hard time creating and editing new canned responses.
  • Similarly, because editing the canned responses required an engineer’s assistance, the moderators didn’t want to bother the engineers every time they needed to request a change.
  • We didn’t want to reinvent the wheel (have backend, frontend & design implement a fullstack CRUD-based admin tool) for the canned responses if there were better and faster alternatives.

The Solution

As these problems surfaced, we thought of Airtable. Airtable is a super-charged spreadsheet that comes with an API out of the box.

The Pros

There are many reasons why Airtable was a great fit for solving this problem.

  1. Beautiful design & interface. This is especially important to our moderators, but also saves our designer and engineers the time they would’ve had to come up with and implement our own interface.
  2. Extensive features. The ability to not only store text, but to add multiple select options for additional organizational features like tags, was super helpful.
  3. Easy to use API. All we had to do was make a single call to grab all of the entries in our canned response base. The API also comes with a way to paginate lists.
  4. Free tier. For the current size of our canned responses, 1,200 records/base was more than enough.
  5. Empowers non-technical people. It’s especially awesome to see our moderators empowered with the tools come up with their own solutions and organize their data however they want. Given the chance, they relish the opportunity to dive deep and customize their workflow. Airtable allowed them to do that with ease.

The ideation, assessment, implementation and launch of an Airtable integration took one engineer less than a day.

Compare this to how long it would’ve taken a designer to come up with a wireframe; a backend engineer to set up the database and provide the correct API endpoints; and a frontend engineer to implement those designs & integrate with the API.

This solution was the most optimal, given our parameters and resources.

The Cons

However, we also recognized some of the potential drawbacks of Airtable:

  1. Rate limiting. Airtable limits request to 5 requests per second, and then a 30 second wait time if this limit is passed. There are technical ways to get around this rate-limiting — we implemented a simple server-side caching system. Additionally, our current moderation team is fairly small, so we don’t expect to run up against that limit too often. However, the rate limit raised some concerns about using this method to allow our marketing team to dynamically add/edit testimonials to our main brochure.
  2. Calls must be proxied through the server. The API key that Airtable provides is a private key, so we can’t make direct client-side calls.
  3. Multiple sources of data. Usually, we’d prefer to keep all of the data related to our app in our database. For this feature, we made an exception.
  4. Less control over UI/UX. We decided that having less control over the design of how to manage the data was a fair compromise for having something out of the box. But, we also acknowledged a dependency on Airtable to provide features that we needed.

The Conclusion

Airtable is a well-suited solution for addressing our moderation team’s needs as well as accommodating for the resources of our small engineering team. Our moderators are now able to collaborate asynchronously over responses that they should use for particular posts, organize those responses appropriately, and have those changes automatically updated and reflected in their tools.

--

--

Ashley Qian
JAM Courses

Software Engineer @JAMcourses and @DIY. Co-Founder of @HackDuke.