← 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.