Mohamed Mufeed

Contact

Email
Phone
Location
Dubai, UAE
2024 · Designer & implementer

A configurable workflow engine for every approval

Replaced a single hardwired approval path with one engine for tasks and multi-level approvals across the product.

  • Workflow engine
  • Architecture
  • Laravel
  • Developer experience
N levels
of configurable approval
1 place
for all tasks and activities
0
engine internals needed to add a flow

The problem

Document changes, leave requests and new order applications each needed approvals, but the product had one fixed, non-configurable path. Every new requirement meant custom code.

Approach

  1. 01

    Unify tasks and activities

    Modelled every approvable action as a task that moves through defined steps, so they all live in one place.

  2. 02

    Make approval levels configuration

    Clients can define who approves at each level without code changes.

  3. 03

    Hide the engine behind a small contract

    Adding a workflow means declaring what happens at each step. Colleagues don’t need to understand the internals.

Outcome

New workflows went from custom builds to short definitions, and clients got approval chains that match how they actually operate.

What I took away

A good internal engine is measured by how little other developers need to know about it.

Next case study →Running Laravel on top of a legacy PHP codebase