Property developer·2023 to present

A custom internal request and approval platform connected to vendors

Years of internal rules lived in an ageing custom system. We replaced it with a production platform connecting requests, approvals, and vendor submissions.

Sector
Real Estate, Internal Operations
My role
Full-stack developer across workflows, integrations, and production support.
Stack
Laravel, Vue, Inertia, Tailwind, MySQL, REST APIs, queued workers, AWS

A property developer had relied for years on a custom system for internal requests and approvals. When that system needed a full replacement, our team built a new custom platform so its established business rules could be carried forward and extended rather than fitted into an off-the-shelf product. The platform replaced the old application, which was retired after launch, and has remained in production since. I have worked across the engagement as a full-stack developer since 2023.

Years of workflow knowledge lived in the old system

The previous application was more than a collection of forms. It encoded years of decisions about how work moved across internal teams. Replacing it meant preserving those accumulated business rules while fixing the limits that had grown around them.

That was why the client wanted a custom replacement. Different operational and financial requests collected different information and followed different approval paths, but all depended on the same organisational structure and history.

The new platform had to support those differences without becoming another set of disconnected modules.

How we made the approval path configurable

The delivery team rebuilt the system around shared request and approval records. Role-based access controls what someone can view or administer, while configurable rules route work according to its context.

The platform supports different approval patterns and the exception handling that long-running business processes require. Notifications bring the next responsible person into the request, while activity history keeps important changes traceable.

This shared layer lets a new workflow reuse access control, approval routing, attachments, notifications, and history while keeping its own business fields and validation.

My work spans that shared layer and the request-specific features built on it, from the interface and data model through background processing and production fixes.

How the platform carries the work

The platform gives employees and approvers one place to file and follow operational requests. Internal processing teams work from role-specific views built over the same records.

Administrators manage access, approval rules, and the reference data that drives the forms. Dashboards, reporting, exports, and operational logs make the system manageable beyond the individual request screen.

The vendor app is part of the same workflow

This internal platform is the operations-side counterpart to the vendor payment and contract portal. They use the same core application stack and exchange the records needed to connect vendor submissions with internal processing.

Selected vendor-submitted requests enter the internal platform, and relevant progress updates return to the vendor-facing application. This keeps both surfaces aligned without reproducing the internal process in the portal.

The integration runs in the background and records its outcomes so support teams can identify and recover from failures instead of leaving the two applications silently out of step.

The replacement now carries the operation

We built and launched the replacement platform, allowing the old application to be retired. We continue to maintain and enhance the platform in production, adding custom workflows as the client's operations change.

My work spans those enhancements, production support, and the shared platform services and vendor integration they build on.

A custom internal request and approval platform connected to vendors | Ryan Catapang