All work

Platform·MMXXIV — MMXXV

Saafi

Know where every device is, and why

Year
MMXXIV — MMXXV
Role
Full-stack engineering
Live
Private deployment

I·Context

Device fleets spread across branches lived in spreadsheets. Nobody knew which unit was where, what it was still worth, or who had moved it.

II·What I did

  1. I

    Modelled the whole network: region, sector, zone and, at the end, a store or a warehouse.

  2. II

    Turned transfers into a formal workflow with approval and three signatures.

  3. III

    Two interfaces over one backend: a Filament admin panel and an Inertia and Vue portal.

How it is built

Lifecycle
Every unit moves through fresh, active, deprecated and discarded as a state machine; invalid transitions simply don't exist. Depreciation is computed from original cost and useful life.
Transfers
Relocation, warranty or renewal. Pending, in progress, approved or rejected, completed or cancelled. Signed by whoever carries it, whoever authorises it and the store manager.
Polymorphic location
A unit can live in a store or a warehouse through one relationship, so moving between them is a single operation.
Audit trail
A transfer is processed on a queue and groups all of its changes into one audit-log batch. Deletes are soft: history is never lost.
Access
Fine-grained roles and permissions, a second factor, Microsoft and Zoho sign-in, and a token API with generated documentation.
My own packages
I wrote the fields and tools Filament didn't ship: barcode scanning, Excel import, an activity timeline, filters and metadata.

III·What I learned

“Tracking assets is really tracking accountability.”

Tools

Laravel 12·Filament·Inertia·Vue 3·Octane·Reverb

Next work

Meal Planner

Plan the week and the shopping list writes itself

Contact

Your details are only used to reply to you. Read the privacy notice.