ALATAK
Silk Road Luxe — AI-native tourism super-app for Central Asia
A vertically-integrated booking platform purpose-built for emerging-market travel. Three product surfaces — traveler app for discovery and checkout, host dashboard for inventory and payouts, internal admin for trust and safety — share one Drizzle/Postgres schema, one tRPC API, and a packages/ai layer of Claude agents. Multi-rail payments (MBank, ELSOM, ELQR, Stripe, cash) and five-channel notifications (SMS, WhatsApp, Telegram, push, email) handle the on-the-ground reality of how Central Asians actually transact. Trilingual (KY/RU/EN), Meilisearch-powered, Capacitor-wrapped for iOS.
The Challenge
Central Asia's travel market is huge and entirely off-platform. Hosts with stunning yurts and lakefront cabins take bookings through Instagram DMs, WhatsApp threads, and cash. International OTAs don't speak Kyrgyz or Russian, charge 25%+ commission that locals can't afford, and assume Stripe is the only payment rail that exists. Travelers can't trust unverified listings, hosts can't scale beyond their Rolodex, and the region is invisible to anyone planning a trip from outside.
The Solution
Two distinct apps for two distinct users, sharing one source of truth. The traveler app is a clean discovery-and-booking flow with a Claude-powered concierge that answers in three languages and helps build itineraries. The host dashboard is a real ops console — calendar, payout history, guest inbox, listing performance — with no marketplace clutter. Admin is a separate trust-and-safety console only staff ever see. Five payment rails because locals and tourists pay different ways. Five notification channels because the message has to actually arrive for a booking to close.
The Architecture
The crucial design choice was rejecting the unified-UI pattern. Airbnb-style "one app for everyone" compromises both sides: hosts get drowned in marketplace UX, travelers get exposed to host-side complexity. We built the traveler app and host dashboard as separate Next.js apps in a Turborepo monorepo, sharing one Drizzle/Postgres schema, one tRPC procedure layer, and one i18n pipeline — so a host-side listing approval propagates to traveler search in milliseconds without a single API call between the apps. They're querying the same tables.
The packages/ai layer is where the Claude agents live: a content-moderation agent that screens new listings before they appear on either app; a trip-planner agent surfaced as a chat widget on the traveler side and as "demand signals" on the host side ("travelers searching your area asked about X this week"); a concierge agent that handles inbound questions in KY/RU/EN.
Payment rails are pluggable adapters — MBankAdapter, ELSOMAdapter, ELQRAdapter, StripeAdapter, CashAdapter — all implementing the same PaymentRail interface, so every booking flow routes through one shared finalize-payment service regardless of how the money actually moves. Same pattern for notifications: each channel implements NotificationChannel, and the dispatcher walks them in user-preference order with delivery confirmation, falling back to the next rail if one drops the message.
The Results
Live in Phase 5 dogfood with the founder team running real bookings through the platform. Monorepo (apps/web + apps/host + apps/admin + packages/ai + packages/db) supports the full stack on one codebase, deployed on Vercel with Capacitor wrappers ready for iOS submission. The platform now serves as the reference architecture for any Altai Labs build that needs a multi-surface marketplace — the same skeleton is being lifted into adjacent verticals on demand.
Tech Stack
Have a similar project in mind?
We build AI-powered products for businesses ready to digitize their operations.
Let's Talk