Serverless infrastructure to support EyeJack Creator and mobile apps.
EyeJack is an augmented reality (AR) platform for artists. With the
The solution was a serverless backend implementation built on AWS leveraging a range of services including AppSync, Cognito, Lambda, API Gateway and DynamoDB. This reduced complexity and maintenance effort significantly, and greatly improved the team's velocity and cadence.
Access to the API is controlled by a AWS Cognito user pool and federated identities. Client applications only have privileges to access specific parts of the API to support required functionality. Cognito based access is also enforced for AppSync mutations and subscriptions.
A serverless GraphQL based API, using AWS AppSync, is the API end point for all desktop and mobile clients. The application also uses pipeline resolvers for complex operations, and Lambda functions implement integrations with external services such as Stripe.
In additional to Lambda-based resolvers for the API, I also implemented cloud functions to handle post user sign-up, invoice and subscription lifecycle updates, as well as webhooks from Stripe.
The data layer is implemented with DynamoDB. It was designed with the necessary secondary indexes, to support the required queries. Many-to-many relationships are supported by adjacency list patterns.