← All Case Studies

Internal Systems

Internal Operations Platform

Operations-heavy SMB · 40 employees · Manual workflow bottleneck

Overview

The client ran client onboarding, task assignment, weekly reporting, and compliance tracking across a combination of Google Sheets, email chains, a shared Notion database, and a Slack channel used as an informal task queue. Data was duplicated in at least five places. Nobody fully trusted the numbers in any of them.

System Architecture

architecture — ops-platform

Ops Dashboard

Next.js · Role-based access

Task Pipeline

Status workflows

Automation Engine

Trigger-based

API Layer

Node.js · REST

PostgreSQL

Primary store

Audit Log

Every action traced

File Storage

S3 · Attachments

The Problem

The operations manager spent roughly two hours every morning reconciling data across spreadsheets before the team could start their actual work. This was the single largest daily time sink in the company.

Task handoffs between team members happened through Slack messages that were easy to miss, creating a recurring pattern of dropped tasks and duplicated effort.

Reporting to leadership was a manual process that took most of a Friday afternoon. The data was always slightly out of date by the time it was presented.

The company had compliance requirements that mandated an audit trail for certain client-facing actions. The spreadsheet-based system had no way to track who did what and when.

Technical Approach

01

Shadowed the actual workflow before designing anything

We spent five days embedded with the operations team, watching how they actually worked — not how the process was documented. This revealed that the documented workflow had diverged significantly from reality. We designed the system around what people actually did.

02

Built task pipelines with status automation

Tasks move through defined stages (assigned, in progress, review, complete) with automatic status updates. When a task moves to the next stage, the right person is notified. No more Slack messages getting lost.

03

Role-based access with clear ownership

Each user sees only what they need to see. Managers get dashboards. Team members get task lists. Admins get configuration and audit access. This replaced the shared-spreadsheet-for-everyone model that was causing confusion.

04

Built-in audit logging for compliance

Every action in the system is logged: who did it, when, what changed. This runs automatically with zero effort from the user. The compliance team can pull a full history for any client record in seconds.

05

Two-week parallel run before cutover

Both the old and new systems ran simultaneously for two weeks. The team logged discrepancies. We fixed edge cases. When we cut over, there were no surprises — the team had already been using the new system for their daily work.

Tech Stack

frontend

Next.jsReactTailwind CSS

backend

Node.jsExpressREST API

data

PostgreSQLPrisma ORM

infrastructure

AWS (EC2, RDS, S3)Vercel (frontend)

Engagement Details

Timeline

8 weeks

Team

1 senior engineer (AxionvexTech) embedded with 3-person ops team on the client side

Outcomes

Morning reconciliation

Before

~2 hours every day

After

Eliminated entirely — data is centralized and live

Task handoff errors

Before

2–3 dropped tasks per week

After

Near-zero — automated notifications replaced Slack-based handoffs

Weekly reporting

Before

Most of Friday afternoon, always slightly stale

After

Generated automatically, always current

Adoption

Before

N/A

After

Still in daily use over a year later — the strongest proof that it was built for real needs

The operations manager told us that the first morning after cutover was the first time in two years she started her day working on strategy instead of spreadsheets. The system is still the central tool the team uses every day.

Have a project like this?

Tell us what you are building or what needs to improve.

Start a Project