2018 - 2023

As a backend developer at Moshi - I was part of a small team managing and developing the backend for Moshi Kids - a sleep and relaxation app targeted at younger children.

The application was filled with beautiful music, sounds and artwork - which all needed to be loaded from the AWS backend along with large amounts of data - by the native iOS and Android applications.

The AWS infrastructure was fully managed by SAM - and further CloudFormation.

The Moshi Kids infrastructure was fully serverless, leveraging Lambda functions, DynamoDB, API Gateway and many other AWS services to provide a lean, scalable and performant system.

As part of my role at Moshi it was important for the BI and Data teams to have access to all of the information they required to make the best business decisions - and as such I was part of developing the analytics pipeline using Firehose and Kinesis to aggregate and transform all of the incoming data sources into unified and consistent data that could be easily used.

The Moshi Kids app and API involved maintaining a lot of user data, for instance a profile may consist of multiple parent and multiple child profiles; each with different goals and likes when it came to content served by the app. This was all managed using a combination of Cognito and DynamoDB with more complex logic being implemented in lambda microservices.

When games were added to the app, the backend was also required to handle scores, UGC such as drawings and many other data types that needed to be tracked and the customer would wish to keep safe.

AWS

Lambda

API Gateway

Cognito

Kenesis

Javascript

SAM

Node.js

DynamoDB

Step Functions

S3

Events

Main Collaborators

Ian Trayler - CTO

Julien Lurois - Senior Backend Developer

Blaz Magdiz - Lead Android Developer