All work

Case study · Self-initiated

Internal workflow and approvals

TypeScript
API design

What was the business problem?

Approvals and internal requests lived in chat tools. Things got lost, and nobody could say what was approved when.

What changed after the solution?

Requests have states, assignees, and history. The team can trace decisions without scrolling through old channels.

How the solution was approached

Minimum viable states were modeled and notifications were built around real handoffs, not a generic BPM monster.