← All projectsflagship build2026Under the hood ↓

Rezervitoo

The one I'm proudest of. The architecture finally caught up to the ambition.

A live multi-provider booking platform (hotels, hostels, agencies, hosts) on one backend that's mine end to end.

Role
Backend architect · the project I'm proudest of
Stack
DjangoReactPostgreSQLRedisChannelsTanStack QueryTypeScriptDRF
Result
~40mscached responses, down from 176ms
Access
code private, production client work

A Screens

Click any screen to open it in the zoom viewer. Wheel to zoom, drag to pan.

01Where a provider lands: occupancy, bookings and revenue resolved server-side before the page paints.
02Hotels, hostels, agencies and hosts in one index. Four provider types, one polymorphic model underneath.
03A single listing's detail view.
04The same screen in Arabic. The layout mirrors: navigation, tables, icons, not just the strings.
05Every endpoint documented as it was written. This is where the 400+ figure comes from.
06Theming is a token swap, not a second stylesheet.
07Moderation and reporting, because a multi-provider marketplace needs an answer for bad actors on day one.
08Pushed over Channels behind a custom JWT WebSocket middleware. No polling, no refresh.

Under the hood

Rezervitoo

Under the hood

Rezervitoo

B Architecture

From a search to a stay

Nothing a traveller sends is treated as a price. The server works out what a stay costs, the provider decides whether it happens, and only a booking that actually completed can be reviewed.

How a booking request is answered

Four kinds of provider, one backend. Every price and every availability window is decided on the server before anything reaches a screen.

  • What people use
  • Code I wrote
  • Where it is kept
  • Someone else's service

C Decisions

The calls that made the difference, and what each one bought.

  1. Four provider types wanted four schemas. They got one polymorphic model instead, cutting the onboarding surface by about 60%.

  2. Real-time notifications over Channels and FCM, behind a custom JWT WebSocket middleware.

  3. Arabic, English, and French. The layout mirrors properly, not just the words.

D What it runs on

  • Django
  • React
  • PostgreSQL
  • Redis
  • Channels
  • TanStack Query
  • TypeScript
  • DRF

code private, production client work

↑ Back to the surface