RedGiant Heartbeat
One Laravel ERP where an agency used to keep seven separate systems.

The problem
The agency ran its operations across spreadsheets, chat threads and a handful of disconnected tools. Staff records lived in one place, assets in another, and anything involving a field team meant somebody sending a photo to a group chat. There was no single answer to a question as basic as who is on which project this week.
Constraints
It had to replace working habits, not just working software — anything slower than the spreadsheet would be abandoned.
One engineer building and running the whole thing, so every design decision had to stay maintainable by one person.
Field check-ins happen away from the office on phones and unreliable connections.
The agency could not stop operating while it was rolled out.
Approach
One domain model, many modules
Projects, people, assets and inventory are modelled once and shared, rather than built as separate mini-apps that happen to sit behind the same login. It means adding a module is mostly a matter of new views over data that already exists, which is why the scope could keep growing without the codebase becoming unmanageable.
Build the module the team is asking for next
The roadmap follows whichever manual process is hurting most, not a plan drawn up in advance. Each module ships to the people who asked for it and gets corrected while the reasoning is still fresh — a small enough loop that a wrong assumption costs days rather than months.
Design for the phone in a field team’s hand
Check-ins are the part of the system used furthest from a desk, so those screens are built mobile-first and forgiving of a bad connection. Everything else is designed for a laptop, because that is honestly where the rest of the work happens.
Run it as well as write it
I manage the hosting, SSH access and deployments for Heartbeat myself. Owning both ends means a bug report and the server it happened on are never more than one person apart.
Architecture
Outcome
The agency runs its projects, people, assets and inventory from one system instead of seven, and field check-ins arrive as records rather than group-chat photos. It is in daily use and still growing — new modules are added as the next manual process becomes the painful one.