Inspiration

The Perfect Reunion: Finding the Best Destination for Friends Around the World
In response to Skyscanner’s prompt—to design a fun, collaborative travel planner that helps friends in different locations pick the perfect meeting spot—we imagined a seamless chat-based experience. Why force everyone into a separate website or native app when holiday planning already happens in group chats? By building directly in Telegram, we bring filters like green travel, interests, events, and cost-optimization straight into the conversation. Over 36 intense hackathon hours, we dreamed up this solution to meet people exactly where they already talk.

What it does

  • Flexible criteria: Each participant picks relevant filters via a Telegram poll (dates, budget, interests).
  • Budget prioritization: Set and adjust your collective spending limits.
  • Tinder‐style voting: Swipe through the top 5 candidate cities that fit everyone’s inputs—yes or no—until a winner emerges.
  • AI-powered itinerary: Once the city is chosen, Ollama generates tailored trip recommendations right in the chat.

How we built it

  1. Skyscanner API: We fetched cheapest flight prices between key European hubs over a rolling date window.
  2. Telegram Bot & Polls: Designed interactive polls so users could specify dates, budget, and interests without leaving the chat.
  3. Swipe UI: Implemented a lightweight “Tinder” interface in JavaScript—cards you swipe to vote “yes” or “no.”
  4. Ollama Integration: Hooked up a local LLM via Ollama to suggest itineraries once the winning city is selected.

Challenges we ran into

  • ngrok networking: Exposing our local server to Telegram WebApp was finicky and often broke mid-demo.
  • API latency & compute limits: Real-time calls to Skyscanner were slow even with multithreading, and our hackathon VM had limited resources.
  • Time constraints: With only 36 hours, we had to scope features tightly and defer performance optimizations.

Accomplishments that we're proud of

  • Learning to build a full Telegram WebApp bot from scratch.
  • Integrating multiple external APIs and an on-premise LLM seamlessly.
  • Crafting a working “best city” picker algorithm under pressure.

What we learned

  • The end-to-end lifecycle of a Telegram bot (webhooks, polling, WebApp interface).
  • Asynchronous API design and basic multithreading for performance.
  • UI/UX trade-offs: choosing simplicity over complexity in a hackathon.

What’s next for TripTinder for Telegram

  • Real-time Skyscanner: Fully integrate live API calls (we prototyped multithreading but need more compute to hit latency targets).
  • Daily price database: Cache and update flight prices daily to avoid repeated API delays.
  • Global expansion: Add more cities and extend beyond Europe—our dataset already supports it.
  • UX refinements: Improve loading states, card animations, and error handling in production.
  • Group analytics: Offer summary insights on vote trends, budget averages, and travel recommendations.

Built With

Share this project:

Updates