← Work|ArchivedEnterprise SaaS · 2023

Baton App

Baton is no longer operating (archived site). These screenshots are shared with the owner’s permission, and I have blurred any personal or client information.

Baton automated the workflows companies were running by hand. I was the first employee and engineer - I chose the initial stack, set up the CI pipeline and database, and ran the infrastructure; later, with six developers plus me, I owned the security model.

Problem

Companies ran their processes by hand, and there was no way for a business owner to describe a process once and have software run it. Whatever we shipped had to be flexible enough for real workflows and readable enough for a non-engineer to understand at a glance.

Solution

  • Chose Camunda for the workflow engine - n8n wasn’t flexible enough, and within BPMN Camunda beat ProcessMaker on maturity, so we extended it rather than building an engine from scratch.
  • Replaced Express with NestJS, which mirrored Angular’s patterns closely enough that our frontend developers started shipping backend features and said it felt the same.
  • Replaced hardcoded roles with a flexible RBAC model so organizations could define their own roles and permissions. It made the app closer to SaaS-ready, even though the company never quite got there.
  • Hardened the edges after bots filled the disk with logs and crashed a server at 100%: log size limits, endpoint rate limits, and blocking spammy requests. For the first few months after our first customer, we had an incident at least once a month - it was stressful.
  • The one stack decision I’d undo is the move to Vue - it was new to everyone except the person who pitched it, and the rewrite dragged for months.

Features

Tasks

A kanban board where users mainly interact with the app - clicking a card opens the custom forms for that task.

Baton tasks view, with names blurred

A task form with a file preview, blurred

Discussions

An internal initiative management system, inspired by Reddit.

Baton discussions list

Baton discussions board

Workflows

A BPMN workflow editor with integrations to different services, both external and internal. At its peak it supported four companies - including our own - with at least five complex workflows each; over its life, 40+ workflows ran on it.

Baton workflow list

Baton BPMN workflow editor

Baton workflow incidents

Collections

An Airtable-like database that workflows and forms can reference directly.

Baton collection data, with names blurred

Baton collection field editor

Permission Management

Groups are the roles - each role carries its own set of permissions.

Baton group permissions matrix

Tech Stack

  • TypeScript
  • Angular
  • NestJS
  • Java
  • Camunda
  • AWS

Status

Archived

Category

Enterprise SaaS · 2023

Tech Stack

TypeScriptAngularNestJSJavaCamundaAWS

Company

Baton App

Interested?

Get in Touch →