⛰️ Inspiration: The Adventure Trust Deficit Maharashtra is home to some of the most spectacular hikes, campsites, and water sports in the Western Ghats. However, booking a weekend getaway today is a fragmented, high-friction, and low-trust experience: 1. Scattered Discovery: Bookings are conducted on sketchy Instagram pages, anonymous Google Forms, and informal WhatsApp groups. 2. Prepayment Anxiety: Operators require 100% upfront cash payment, leaving travelers exposed to fraud or sudden cancellations. 3. Safety Grey Areas: Guides are often uncertified, and travelers have no way to verify on-ground safety ratios or medical emergency protocols before climbing high-risk locations like the Harihar vertical steps. We built WeekendSahal to solve these exact problems. It is a two-sided marketplace that handles discovery, booking, and payments, while vetted local operators manage on-ground execution.
🚀 What it does WeekendSahal connects travelers with trusted local agencies through a premium, high-trust digital platform: For Travelers: • Interactive Map Discovery: Visual Leaflet map showing 16 real adventures spread across Satpura (North), Vidarbha (East), Kolhapur (South), and Konkan (West) with dynamic category filtering. • Vetted Details: Accordion day-by-day itineraries, exact inclusions/exclusions, safety protocols, and verified traveler reviews. • Emergency Proximity Proving: Every detail page lists the nearest trauma clinic (in km) and the contact info of the local volunteer search-and-rescue team, with an active SOS distress alert simulator. • TrailMate AI Customizer: A floating AI chatbot co-pilot powered by Gemini 2.5 Flash that reads the catalog and lets travelers instantly customize itineraries (e.g. "Make this kid-friendly" or "Add a vegetarian meal"). • Group Discount Math: Automatic real-time group discount calculations and invoice breakdowns. • Simulated Razorpay Gateway: A sandbox checkout payment modal (supporting Card, UPI, and OTP codes). For Local Operators: • Self-Serve Publishing: Quick dashboard form to list new weekend batches with coordinates, difficulty, and duration. • Escrow Ledger: Shows Held in Escrow (preshared bookings held by the platform) vs Net Settled Payouts (funds transferred to their bank account after successful execution minus a 10% platform fee). • On-Ground Attendance Check-in: A traveler roster dashboard where guides check in participants when they arrive at the base camp. • PTS Reputation System: Operators build a public Platform Trust Score (PTS) out of 100 based on their completed tours and customer ratings, driving higher search ranks.
🛠️ How we built it • Core Framework: Next.js 16 (App Router) and React 19 for fast page rendering and component state management. • Styling: Tailwind CSS v4, styled strictly around the premium MongoDB design system tokens (earthy teals, crisp hairline borders, stark white surfaces, and bright mint-green highlights). • Database Architecture: Firebase 10 Client SDK wrapper with a stateful client-side localStorage mock fallback (Local Mock Mode), ensuring the app runs out-of-the-box without server dependencies. • Interactive Mapping: Leaflet.js configured with OpenStreetMap tile servers to render pins and custom popup booking anchors. • AI Agent Orchestration: Gemini 2.5 Flash integrated via server-side API routes, reading the active trip catalog as contextual prompt metadata to answer user questions.
🚧 Challenges we ran into 1. Leaflet SSR Crashing: Leaflet accesses browser objects (like window) which crash Next.js pre-rendering. We resolved this by dynamically importing map wrappers with ssr: false and deferring execution. 2. Marker Flickering during Filtering: Re-initializing the map on every toggle caused visible canvas flickers. We built a dual-useEffect architecture: one mounts the map once, and the other manages marker additions/removivals dynamically. 3. Stateful Mock Sandbox: Standard mock databases reset on page refresh, breaking the traveler-to-operator feedback loops. We engineered a robust mock database wrapper in src/lib/db.ts that persists checkouts, reviews, and completed counts in localStorage, maintaining complete statefulness.
🏅 Accomplishments that we're proud of • We built a fully working, responsive prototype with zero placeholders. • The platform successfully bridges the gap between B2C discovery and B2B guide management. • The Platform Trust Score (PTS) and Escrow Ledger model a realistic business case that startup judges look for.
🎓 What we learned • Designing B2B operator tools requires extreme simplicity (dense lists, quick check-in buttons) since guides are often working on mobile phones in remote areas with poor networks. • Localized travel safety involves community partnerships; listing volunteer rescue squads builds more trust than abstract corporate insurance policies.
🔮 What's next for WeekendSahal 1. SMS Emergency Trigger: Hook the SOS distress button to a real SMS gateway notifying the local rescue team with live GPS coordinates. 2. Real Razorpay API Integration: Upgrade the simulated checkout to the live Razorpay sandbox environment. 3. Offline Mode: Allow operators to sync attendance check-ins offline, since mobile networks are unreliable in the Western Ghats gorges.
Built With
- firebase
- firestore
- gemini
- leaflet.js
- next.js
- react
- tailwindcss
- typescript


Log in or sign up for Devpost to join the conversation.