Inspiration

Every once in a while, I need to build an application for a non-technical organization. When I pass these applications off, there are three major issues that make people come back for help:

  • Uptime: Some servers run into issues when they have been up for a long time. If the server crashes, it generally just has to be restarted, but most non-technical audiences won't know how to do this.
  • Data Entry Mistakes: Sometimes data entry goes wrong, and unless the developer foresaw all potential mistakes, then there will be some situations where the developer will have to wade into the database to fix something(e.g. an email was entered wrong, so a user can't reset their password or verify their email).
  • Analyzing Existing Data: After a while the owners of the application might want to collect insights from their application data. Without knowing SQL(or whatever query language you are using), there isn't really anything they can do outside of finding some technical assistance.

What it does

This is an example application to demonstrate how such issues can be avoided. It runs on AWS lambda, so there are no servers to restart, and it uses Google sheets as a database, so that data can be edited in the sheet, and the owners can export to Excel and run formulas on the data for insights. This may be a simple notes app, but the impressive part is what goes on under the surface.

How I built it

I used AWS Lambda and the Serverless Framework for all of the endpoints. These endpoints are routed by AWS API Gateway. The project is using Google Sheets as the primary database, and DynamoDB to store the OAuth Credentials needed to access the Google Sheets API.

Challenges I ran into

API Gateway causes some nasty(hard to track down) bugs if you don't know how to mess with it.

Accomplishments that I'm proud of

That I got tons of sleep both nights, and finished this hack really fast.

What I learned

I got to use the Serverless Framework, and I've wanted to use Google Sheets as a database for some time.

What's next for Friendly Cyborg

Building out and easier api for applications to use.

Built With

Share this project:

Updates