Building Bulgaria's Outdoor Accommodation Marketplace with AI Search
Bulgaria has hundreds of camping sites, caravan parks, mountain cabins, and glamping retreats scattered across its diverse landscape - from the Black Sea coast to the Rila and Rhodope mountains. Yet for years, travellers who wanted to find and book these stays had to dig through Facebook groups, rely on word of mouth, or send direct messages to property owners with no guarantee of a reply.
Karavani set out to change that. The vision was clear: build a single platform where every outdoor accommodation in Bulgaria could be discovered, compared, and booked - with the same ease travellers expect from mainstream booking sites, but designed specifically for the outdoor hospitality market. Here is how we brought that vision to life.
Project: Karavani
The Challenge
The outdoor accommodation market in Bulgaria was entirely fragmented. Property owners - from family-run mountain cabins to professional glamping operators - had no dedicated platform to list their offerings, manage bookings, or accept payments online. Most relied on social media posts and manual bank transfers, which meant slow response times, lost bookings, and zero visibility into occupancy trends.
On the traveller side, discovery was painful. There was no central place to search, filter, and compare options. The client needed a solution that addressed several interconnected problems:
- Three distinct property categories - Stay (cabins, tents, glamping), Move (RVs, boats, campervans), and Experience (outdoor activities, guided tours) - each with different data models and booking flows
- AI-powered search that let travellers describe what they wanted in natural language instead of clicking through filter menus
- Flexible payment options including full payment, deposits, installment plans, and bank transfers - because different property types and price points demand different approaches
- Calendar synchronisation with Airbnb, Booking.com, and Google Calendar so owners who list on multiple platforms never face double bookings
- Bilingual support in Bulgarian and English with dual-currency display (BGN and EUR) to serve both domestic and international travellers
The platform also needed to serve three distinct user roles - guests, property owners, and platform administrators - each with their own dashboard, permissions, and workflows. This was not just a booking site; it was a full three-sided marketplace.
Our Solution
We designed and built Karavani as a modern React application backed by Supabase, with every feature anchored to a single principle: make it effortless for owners to list and for travellers to book.
Three-Category Marketplace Architecture
We structured the entire platform around three core categories. Stay covers fixed accommodations - cabins, tents, glamping domes, treehouses, and traditional mountain huts. Move covers mobile options - RV rentals, boats, and campervans. Experience covers activities - guided hikes, kayaking trips, rock climbing sessions, and cultural tours. Each category has its own data schema, search filters, and booking logic, yet they share a unified design language and checkout flow so the platform feels cohesive.
AI-Powered Natural Language Search
Traditional filter-based search works when you know exactly what you want. But travellers often think in terms of experiences: "a quiet place near a lake where I can bring my dog" or "glamping with a mountain view for a group of six." We integrated Google Gemini with vector embeddings stored in Supabase to power a natural language search engine. Every listing is embedded as a vector that captures its amenities, location, vibe, and category. When a traveller types a freeform query, Gemini interprets the intent and the system performs a similarity search across embeddings, returning ranked results that match what the traveller actually described.
12-Step Listing Wizard with Seasonal Pricing
Property owners create listings through a guided 12-step wizard that collects property details, photos, amenities, house rules, cancellation policies, and pricing in a logical sequence. The pricing engine supports seasonal rates with specific date overrides - so an owner can set a base rate, increase it for summer weekends, and create special pricing for holidays, all from a single interface.
Four Stripe Payment Modes
We integrated Stripe with four configurable payment modes per listing: full upfront payment, deposit with automatic balance collection before check-in, installment plans for higher-value bookings, and manual bank transfer with admin confirmation. This flexibility was critical because a 30 EUR campsite booking has very different payment expectations than a 500 EUR weekend glamping retreat.
iCal Sync and Owner Analytics
Many property owners already list on Airbnb or Booking.com. We built bi-directional iCal synchronisation so that bookings made on any platform automatically block the corresponding dates everywhere else. The owner dashboard also includes analytics - occupancy rates, revenue trends, booking sources, and seasonal performance - giving owners data they never had before.
Admin Approval Panel and Bilingual Support
Every new listing goes through an admin review before it goes live, ensuring quality and accuracy across the platform. The entire application is bilingual (Bulgarian and English) using i18next, with a EUR/BGN currency toggle that converts all displayed prices in real time.
The Results
Karavani launched as a fully functional three-category marketplace, bringing Bulgaria's fragmented outdoor accommodation market under one roof for the first time.
- Full marketplace live with Stay, Move, and Experience categories serving both domestic and international travellers
- AI natural language search powered by Google Gemini, letting travellers describe their ideal trip in their own words
- Flexible Stripe payments with four configurable modes, handling everything from budget campsites to premium retreats
- iCal sync eliminating double bookings across Airbnb, Booking.com, and Google Calendar
- Owner analytics dashboard providing occupancy, revenue, and booking-source insights for the first time
- Bilingual platform with real-time EUR/BGN currency toggle for international accessibility
For property owners, the platform replaced social media posts and manual bank transfers with a professional listing, automated booking management, and integrated payments. For travellers, it replaced guesswork with a curated, searchable marketplace where they could find, compare, and book outdoor stays in minutes.
Technology Stack
| Technology | Role |
|---|---|
| React + TypeScript | Frontend application with type-safe component architecture |
| Supabase | Database, auth, real-time subscriptions, and vector storage for AI search |
| Stripe | Payment processing with four configurable modes per listing |
| Google Gemini AI | Natural language query interpretation for AI-powered search |
| Mapbox GL | Interactive maps for listing locations and geographic search |
| iCal Sync | Bi-directional calendar synchronisation with Airbnb, Booking.com, Google Calendar |
| i18next | Bilingual support (Bulgarian/English) with currency toggle |
This stack gave us the speed and flexibility to deliver a complex three-sided marketplace without the overhead of traditional backend frameworks. Supabase handled authentication, database, real-time updates, and vector storage in one platform, while Stripe's flexible API let us implement four distinct payment flows without custom payment infrastructure.