Build · Web app

Actuarial TeamFlow

A shared workspace where an actuarial team plans, runs and signs off its recurring work, so nothing slips between inboxes and spreadsheets.

Vanilla JSPWANetlify FunctionsNetlify BlobsWeb push
My roleDesigned and built it end to end
UsersMy actuarial team, by role: Admin, Manager, Member, Board
StackVanilla JS PWA on serverless functions and blob storage
StatusLive and in daily use (team sign-in only)
Actuarial TeamFlow
TeamFlow dashboard with active work, phases and priorities, fictional data

Work lived in inboxes and spreadsheets

An actuarial team runs the same kinds of work over and over: the IFRS 17 monthly close, reserve adequacy reviews, reconciliations, assumption studies, regulatory reports. Each has several people, a reviewer and a hard deadline.

When that work is tracked in email threads and a shared spreadsheet, things slip through: nobody sees at a glance who is doing what, which items are waiting for review, what is overdue, or whether next week is already over capacity.

The app in action

Press play to start. It runs once, with sound, and uses the app's fictional demo team.

Every piece of team work in one place

Four phases with checklists

Each item moves through Planning, Executing, Review and Finalize, with a checklist per phase and a named reviewer before sign-off.

Templates for recurring work

Save a monthly close or a quarterly review once, then start the next cycle in one click. Upcoming work can start itself on its date.

Schedule and capacity

A calendar of every deadline, and weekly capacity per person against their available hours, so overload shows up before it happens.

Daily digest and alerts

A daily workload digest plus push notifications for items ready for review and items going overdue, on desktop or phone.

Audit reports

Weekly, monthly and annual reports of what was completed, late or still open, exportable to PDF for management.

Roles and requests

Admin, Manager, Member and Board roles; members ask to join or leave work, managers approve, and every change lands in the activity history.

Small stack, careful with shared data

Template→Planning→Executing→Review→Finalize→Audit report

The front end is a framework-free JavaScript app that installs as a progressive web app, with a service worker and web-push notifications. The back end is a set of serverless functions (sign-in, work items, team, activity, the daily digest, overdue alerts, auto-start and push) over blob storage.

The interesting part is concurrency. Several people edit the same work item, so every record is versioned and written conditionally: a save only succeeds if nobody else changed the record first, otherwise the app gets a conflict and asks the user to reload instead of silently overwriting. Saves that touch more than one record leave a durable retry marker, so a half-finished save is recovered rather than lost.

An automated test suite covers security, concurrent edits, data migrations and reliability, and a preview server runs the whole app on fictional in-memory data, which is what the screens and demo video on this page use.

In numbers

4phases per work item, each with its own checklist
4roles with different permissions
3audit report cadences: weekly, monthly, annual
0frameworks: plain JavaScript, installable on desktop and phone

A tour with fictional data

The live app is private to my team, so there is no public link. Everything shown here uses the app’s fictional demo data.

← All buildsNext: ActuarialPro →