Overview

Automagical is a platform that makes it easy and fun to create quality marketing videos from existing content.

Disclaimer: I’m the founder & CTO of Automagical.

Editor's note: Automagical was acquired by Verblio in Fall 2018!

I’d like to give an overview of its architecture and reflect on how important engineering simplicity is to a product’s success.

Automagical makes heavy use of JavaScript, as the backend is written in Node.js, and the frontend is built with React.js via the create-react-app standard. The source code is managed by git as a monorepo on GitHub, and deployment is handled by the extremely simple now service.

The primary backend datastore is a hosted version of mongoDB, and two hosted instances of redis are used for storing user authentication tokens and async task information respectively. An async task queue is used to manage long-running operations like video rendering and video trimming.

Google Cloud Platform is used for long-term storage (similar to AWS S3) and to host the video renderer component which has some special requirements.

A large part of how we’ve been able to scale Instagram with very few engineers is by choosing simple, easy-to-understand solutions that we trust. (source)

Automagical’s React-based storyboard editor.

Automagical’s React-based storyboard editor.

Services

The platform is broken up into the following logical services. Each service can be scaled horizontally based on usage.

Backend API

This service provides the core backend API powering the Automagical platform (https://api.automagical.ai). It is a Koa webserver that exposes a REST API which is consumed by the frontend webapps. It is deployed with a single command via now.

Backend Queue

This service provides an async task queue worker for rendering and processing other long-running tasks. It is the only service hosted on Google Cloud Platform instead of now because the renderer module requires more compute resources.

Frontend Webapp

This service provides the core Automagical video webapp (https://app.automagical.ai) built with create-react-app where users create, edit, and render storyboards. It is deployed with a single command via now.

Frontend Marketing Site

This service provides the Automagical marketing site (https://automagical.ai) built with create-react-app. It is deployed with a single command via now.