Skip to content
All work

Case study · Real-estate ERP

Rakez ERP

An operating system for a real-estate business: sales, bookings, commissions and marketing spend in one Arabic-first platform.

Domain
Real estate — sales, bookings, commissions
Role
Backend engineering
Context
Built during my role at Rakez Company

The operation

Sales pipelines, multi-party commissions, unit bookings and marketing budgets lived in disconnected tools, and none of them were Arabic-native.

How the system is layered

  1. 01

    Bookings & reservations

    Unit reservations with a waiting list, so concurrent requests for the same unit queue instead of colliding.

  2. 02

    Commission engine

    Multi-party splits with an approval chain and VAT, replacing calculations that used to be done by hand in spreadsheets.

  3. 03

    Permissions

    Granular role-based access through Spatie Permission, checked on the server for every action.

  4. 04

    Real-time

    Notifications over Laravel Reverb WebSockets, so the next person in a workflow sees the change immediately.

  5. 05

    Marketing spend

    Budget tracking that brings in platform spend through the Facebook SDK and TikTok API.

  6. 06

    Arabic assistant

    An OpenAI-backed assistant that answers the sales team's questions in Arabic, with business context.

The hard parts

  • 01

    Concurrent booking conflicts, resolved through waiting-list queuing.

  • 02

    Commission distribution across several parties with approvals and tax — correct every time and auditable afterwards.

  • 03

    A permission model detailed enough for real roles without slowing every request.

  • 04

    Arabic AI answers that stay accurate to the business domain.

Real screens

The staff login is live at rakez.com.sa. The screens below come from a local build with seeded demo data; the company's own records stay private.

Rakez staff portal sign-in screen with the Rakez Real Estate mark
Sign-in screen

Inside the product

Logged-in screens from a local build running on the project's own demo seed. The names, units and amounts are fictional test data, not production figures.

Marketing dashboard
Marketing dashboard
Unit inventory search
Unit inventory search
Reservation operations
Reservation operations
Accounting dashboard
Accounting dashboard
Credit booking pipeline
Credit booking pipeline
Workforce analytics
Workforce analytics

Architecture

A Laravel 12 monolith. PostgreSQL for relational data; Redis for cache, queues and sessions; Sanctum for API authentication; Reverb for WebSockets; Spatie Permission for roles; the OpenAI API for the assistant.

Stack

Laravel 12 · React · PostgreSQL · Redis · OpenAI API · Laravel Reverb · Spatie Permission