Skip to content
BENAA homeالعربية

All work

Real estate · 2026

Sales CRM for a real-estate developer

A CRM built around how a developer sells: projects, buildings and units with live availability, leads from campaigns and brokers, reservations that hold a unit for a set time, contracts generated from templates, and instalment plans followed up until the last payment.

Built by

Tech leadUI/UXFrontendMobileBackendQA
Client
Withheld at the client’s request
Users
Sales · Brokers · Finance · Management
Platforms
Web · iOS · Android
Typical timeline
3–5 months
Squad
6 people · 5 disciplines

Technologies

  • Laravel
  • Next.js
  • Flutter
  • PostgreSQL
  • Redis
  • PDF generation
  • WhatsApp Cloud API
  • Docker

The product

10 images

01

Brief

The same unit was sold twice.

Context

The developer sells several projects at once through its own team and outside brokers, with availability kept in a shared spreadsheet.

Problem

Units were promised to two buyers, brokers argued over commissions, and finance chased instalments from a separate sheet.

Goals

  • Live availability for every unit
  • A reservation that truly holds a unit
  • Contracts generated, not retyped
  • Every instalment followed to the end

02

Team

The squad behind it.

Tech leadSales process model, reservations and payment plans×1Senior
Product designerUnit map, sales pipeline and the agent app×1Senior
Frontend engineerCRM web app and management reports×1Senior
Mobile engineerSales agent app for site visits×1Senior
Backend engineerUnits, reservations, contracts and collections×1Senior
QA engineerReservation and payment-plan tests×1Senior

Meet the team

03

UI/UX design

Sell from the floor plan.

Who worked on it

UI/UXFrontendMobile

Agents pick units from a visual map of each building, coloured by status: available, reserved, sold. Choosing a unit shows its price, payment plans and a ready-to-share offer for the client.

Sell from the floor plan
One client's schedule, from down payment to final instalment, with every reminder
  • Colour by statusAvailable, reserved and sold at a glance.
  • Offer in one tapA branded PDF sent on WhatsApp.
  • Plans comparedDown payment and instalments side by side.

04

Frontend

Management sees sales and cash in one place.

Who worked on it

UI/UXFrontend

The web app runs the pipeline from lead to contract, tracks broker commissions, and gives management a view of units sold, revenue contracted and instalments due this month.

Sales and collections in one view
Leads from campaigns and brokers, staged from first call to contract
  • Pipeline by projectEach stage with its owner.
  • Broker commissionsCalculated from the signed contract.
  • CollectionsDue, paid and late, per project.

05

Mobile

Everything an agent needs on a site visit.

Who worked on it

UI/UXMobileBackend

Agents see availability, prices and plans on their phone, register a lead in seconds, and place a reservation on the spot. The reservation holds the unit for everyone the moment it is made.

A reservation holds the unit for everyone
Agents browse live availability and see when a colleague is showing a unit
  • Lead in secondsName, phone, interest, done.
  • On-site reservationThe unit is held instantly.
  • Follow-up remindersCalls due today, at the top.

06

Backend & architecture

A reservation is a lock, not a note.

Who worked on it

Tech leadBackend

Units move through clear states — available, reserved, contracted, sold — and only one change can win at a time. Reservations expire automatically if no deposit arrives, and every contract creates its instalment schedule and reminders.

Price rules recompute every unsold unit; two approvals before agents see it
  1. Decision 1

    Unit status as a state machine

    A unit can’t be sold while another agent holds it.

    Trade-off · Manual overrides need a manager and leave a trail.

  2. Decision 2

    Reservations expire on their own

    Units held without a deposit block real sales.

    Trade-off · Agents must request an extension in time.

  3. Decision 3

    Instalment schedules generated from the contract

    Finance and sales must read the same numbers.

    Trade-off · Changing a plan after signing needs an addendum.

07

QA

Two agents, one unit, one winner.

Who worked on it

BackendQA

Tests try to reserve the same unit from two devices at once, expire reservations at the exact deadline, and check instalment schedules for every payment-plan type before each release.

Contract drafted from the reservation; signing waits for missing fields
  • Concurrency testsSimultaneous reservations every release.
  • Payment-plan checksEvery plan type, every edge date.
  • Contract outputGenerated PDFs compared with approved templates.
Sales CRM for a real-estate developer

Arrow keys or a swipe to move · Esc to close

Tell us what you’re building.

A short message is enough. A senior engineer replies within 1 working day.