One platform for a property portfolio, from listings to renewals
A single leasing and managementplatform that retired a stackof disconnected spreadsheets for aproperty developer's portfolio.

The Challenge
Listings, tenancy contracts, renewals, and maintenance lived in separate spreadsheets and inboxes, so the same unit could read as vacant, reserved, and occupied at the same time. Renewals slipped because no one person owned the deadline, and month-end reporting took five days of stitching numbers together by hand. The team needed one system built around how they actually work a lease, not another tool to fight.
No single source of truth
Listings, contracts, renewals, and maintenance lived in separate files. A unit could read as vacant, reserved, and occupied at once, depending on which sheet you opened.
Renewals slipped through the cracks
No one person owned the deadline. The reminder, the signed contract, and the payment record sat in three places that rarely agreed, so renewals quietly lapsed.
Reporting took five days by hand
Reconciling every view by hand meant month-end reporting took five days to assemble, and the numbers were stale by the time they were signed off.
Our approach
Every build follows the same software development life cycle, from requirements and design through build, testing, and support. Each phase is planned, demoed, and signed off before the next begins, so quality is engineered in rather than checked at the end.
Discovery & requirements
We mapped every property, unit, lease, and renewal state into a written, testable specification, with one record per unit agreed as the spine of the system before any code.
(Outcome):
Architecture & design
We designed a single source of truth in a relational data model where a lease, its payments, documents, and maintenance all hang off one unit record, with role-scoped access designed in.
(Outcome):
Build
We built the platform in milestones: the unit record, the portals, the registration-ready contracts, and the grounded lease extraction, demoing each before moving on.
(Outcome):
Testing & UAT
We measured extraction field by field against a labelled set of historical leases, set the confidence threshold from that benchmark, then ran user acceptance testing against the criteria agreed in the BRD.
(Outcome):
Deployment & support
We rolled out building by building, each tower verified live before the next was migrated, with monitoring that surfaces any unfamiliar contract format for review.
(Outcome):
Outcomes
Month-end reporting cut from five days of manual assembly to under an hour
Lease processing roughly three times faster, with renewals no longer slipping past their deadline
One accurate record per unit across owners, tenants, and operations
Around 90% fewer data-entry errors after the spreadsheets were retired