Skip to content
Berke Tok
Back to work

Real estate

Terrace

Off-plan sales without the spreadsheet

Tower B floor by floor, with the AED 214M escrow position sitting beside it
Sector
Real estate
Location
Dubai, UAE
Year
2025
Kickoff to production
17 weeks
01Overview

Inventory, reservations and escrow milestones for a developer selling four towers out of a spreadsheet and a group chat.

02The problem

Two agents could reserve the same unit an hour apart and nobody knew until the paperwork clashed. Milestone collections lived in a workbook, so the developer's escrow position was a monthly estimate.

1,840 units released, 27 on live holds, and zero double reservations since launch
03What we built
  1. 01

    One inventory, locked

    Availability, holds and reservations are a single authoritative record with time-limited holds, so a unit cannot be sold twice.

  2. 02

    Milestones that collect themselves

    Each construction milestone triggers the matching instalment, notice and follow-up, with escrow receipts reconciled against the schedule.

  3. 03

    A price list that behaves

    Release pricing, payment plans and agent commissions are configured centrally, so the number in the brochure is the number in the contract.

A 41-minute hold locks unit 4504 so no second agent can sell it
An agent holds a unit from floor 43, writing to the same inventory record
04The result

Double reservations stopped, collections came in earlier, and finance sees the escrow position on the day instead of at month-end.

What changed

Reservations since launch
Zero doubles
Escrow visibility
Day-of
Collections
Earlier
The milestone notice the schedule issues itself, collected straight to escrow

Stack

  • Next.js
  • Postgres
  • Temporal
  • dbt
  • Metabase

Disciplines applied

  • Financial technology
  • Custom software development
  • Data & analytics

Closing

Do you have an idea, or a problem?

Either works. In my experience the second one goes faster.

I usually reply the same day.