
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
- 01
Bookings & reservations
Unit reservations with a waiting list, so concurrent requests for the same unit queue instead of colliding.
- 02
Commission engine
Multi-party splits with an approval chain and VAT, replacing calculations that used to be done by hand in spreadsheets.
- 03
Permissions
Granular role-based access through Spatie Permission, checked on the server for every action.
- 04
Real-time
Notifications over Laravel Reverb WebSockets, so the next person in a workflow sees the change immediately.
- 05
Marketing spend
Budget tracking that brings in platform spend through the Facebook SDK and TikTok API.
- 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.

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.






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
Source
View source on GitHub
