Weel

Weel Booking

A short-stay booking marketplace for Uzbekistan: apartments, cottages, hotels, activities and flights.

Client
Weel
Role
Lead backend engineer, full-stack
Period
Dec 2025
Stack
PythonDjango 5DRFChannelsCeleryPostgreSQLpgvectorRedisMinIOFlutterReact 19ExpoLiveKitPlumEskizGrafana
Weel Booking

Problem

Short-term rentals were informal: unreliable listings, manual payments, no tools for owners.

Solution

Five apps on one API with verified listings, maps, card payment and aggregator inventory.

Result

~122k lines of Python backend, 800+ commits, Flutter, Mini App, Expo and admin apps in production.

In Uzbekistan short-term apartments and cottages were found informally, through Telegram and phone calls. Weel put verified listings, map search, prices and card payment into one app, and gave owners self-service tools through a mobile app and a Telegram Mini App.

One Django API serves several clients: a Flutter app for travellers, a Telegram Mini App (partners.weel.uz) and an Expo app for partners, an admin panel for moderators and a B2B dashboard for corporate clients. Payments run through Plum with a hold → charge/dismiss flow, phone OTP through Eskiz SMS, partner–admin chat on Django Channels, push via FCM/APNs.

Travel inventory comes from aggregators: Bookhara flights (search, book, ticket, refund), Hotelios hotels, and activities with tariffs and holds. Recommendations use pgvector embeddings and a KNN graph. Partner onboarding runs through a Telegram bot + Mini App with passport OCR. Video calls were migrated from Jitsi to LiveKit.

Full observability: Grafana, Prometheus, Loki, Tempo, Alertmanager and a Claude-based ops agent that sends alerts to Telegram.

Next project
NotiqAI