Public-sector organisation·2023
An inter-agency case-management platform
Operational cases had to move across organisational boundaries. One platform connected the shared record, controlled collaboration, escalation, and oversight.
- Sector
- Public Sector, Case Management
- My role
- Full-stack developer across the application and deployment as part of the delivery team.
- Stack
- Laravel, Vue.js, Tailwind, MySQL, REST APIs, queued workers, AWS
In 2023, a public-sector organisation needed a shared system for participating teams to record cases, coordinate their response, and maintain a history around the organisations involved. I worked across the full engagement as a full-stack developer within the delivery team.
One case had to carry work across organisational boundaries
A case could begin with one team and require a response from several others. The system needed to keep its context, evidence, current status, and participating teams together without making every record openly editable across the network.
For example, a case record might contain the organisation involved, a source link, a short summary, supporting files, its current status and severity, the team that raised it, and the teams invited to respond. Once another team accepted the assignment, both sides worked from that same record and activity history instead of passing separate copies between them.
That created the main trade-off. Broad visibility made coordination easier, but access still had to reflect organisational ownership and responsibility. Keeping cases inside the originating team would have protected that boundary at the cost of collaboration.
How we made the case record the workflow
The delivery team centred the application on a case record that moved through review and resolution. Assignment did not immediately give another team full access. Its users reviewed an invitation and accepted the collaboration first. This made cross-organisational access deliberate and auditable.
System administrators retained a platform-wide view, while other users worked within their own cases and accepted collaborations. This kept one shared record without removing the boundaries around it.
As part of the overall delivery team, I worked on complete product slices across the Vue interface, Laravel backend, data model, background processing, and deployment.
How the platform balanced urgency with traceability
Cases could not depend on someone remembering to revisit them. A scheduled process increased the severity of idle records and notified the responsible users. Each automated change was written to the activity history, keeping escalation visible to collaborators.
Organisation histories, dashboards, and reporting remained views over the same case records rather than separate sources of status. The application used a Vue interface over a Laravel REST API, with queued notifications, S3-backed documents, and AWS deployment.
Collaboration without removing ownership
The important result was not simply that several teams could see the same case. They could collaborate on one record while the invitation, acceptance, ownership, escalation, and activity history still showed who was responsible at each point.
I contributed across the application and deployment throughout the build, carrying that access model into complete product slices rather than treating it as a permissions layer added at the end.