<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aryan Sharma</title>
    <description>The latest articles on DEV Community by Aryan Sharma (@aryan728sharma).</description>
    <link>https://dev.to/aryan728sharma</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4097150%2F0796f813-e344-41e1-8337-6f368fdaf68a.png</url>
      <title>DEV Community: Aryan Sharma</title>
      <link>https://dev.to/aryan728sharma</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aryan728sharma"/>
    <language>en</language>
    <item>
      <title>✈️ TripBuddy — Your Friend Who Actually Plans the Trip</title>
      <dc:creator>Aryan Sharma</dc:creator>
      <pubDate>Fri, 02 Oct 2026 15:52:15 +0000</pubDate>
      <link>https://dev.to/aryan728sharma/tripbuddy-your-friend-who-actually-plans-the-trip-1423</link>
      <guid>https://dev.to/aryan728sharma/tripbuddy-your-friend-who-actually-plans-the-trip-1423</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Built for a friend who loves travelling but hates planning. ✈️🌍&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;TripBuddy&lt;/strong&gt; is a personalized AI travel planning agent that turns a simple natural-language travel request into a complete, preference-aware travel plan.&lt;/p&gt;

&lt;p&gt;This is a submission for the &lt;strong&gt;&lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧳 What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;TripBuddy&lt;/strong&gt;, a personalized AI travel planning agent for a friend who loves travelling but absolutely hates planning.&lt;/p&gt;

&lt;p&gt;Instead of searching through dozens of tabs for flights, hotels, restaurants, attractions, and transportation, TripBuddy lets you describe your trip naturally and handles the planning process for you.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"I want to spend 5 days in Manali starting from Delhi. My budget is ₹15,000. I love photography, nature and cafes, and I hate waking up early."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;TripBuddy takes those preferences and coordinates multiple specialized agents to create a personalized travel plan.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ What TripBuddy Can Do
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;✈️ Flight and route research&lt;/li&gt;
&lt;li&gt;🏨 Accommodation recommendations&lt;/li&gt;
&lt;li&gt;🗺️ Day-by-day itineraries&lt;/li&gt;
&lt;li&gt;🍜 Restaurant and food suggestions&lt;/li&gt;
&lt;li&gt;🚆 Local transportation options&lt;/li&gt;
&lt;li&gt;💰 Budget-aware planning&lt;/li&gt;
&lt;li&gt;📍 Location-based recommendations&lt;/li&gt;
&lt;li&gt;💡 Personalized travel tips&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal was simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Make trip planning feel less like work and more like talking to a friend who knows how you travel.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  🌐 Demo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🚀 Live Demo
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://trip-buddy.streamlit.app/" rel="noopener noreferrer"&gt;Try TripBuddy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  💻 Source Code
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/aryan6002261/trip-buddy" rel="noopener noreferrer"&gt;View the GitHub Repository&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The project is open source and includes the complete LangGraph workflow, agent implementations, tools, Streamlit interface, configuration, and tests.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 How I Built It
&lt;/h2&gt;

&lt;p&gt;TripBuddy is built around an &lt;strong&gt;open-weight AI model&lt;/strong&gt; accessed through OpenRouter.&lt;/p&gt;

&lt;p&gt;The core architecture uses &lt;strong&gt;LangGraph&lt;/strong&gt; to orchestrate multiple specialized agents through a shared state.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔄 Agent Workflow
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Request
     │
     ▼
┌─────────────────┐
│  Orchestrator   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Flight Agent   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│   Hotel Agent   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ Itinerary Agent │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│   Synthesizer   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ Personalized    │
│ Travel Plan     │
└─────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🧠 Orchestrator
&lt;/h3&gt;

&lt;p&gt;The orchestrator is the first step in the TripBuddy workflow.&lt;/p&gt;

&lt;p&gt;It takes the user's natural-language travel request and extracts the important trip information needed by the specialist agents.&lt;/p&gt;

&lt;p&gt;It identifies things such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📍 Destination&lt;/li&gt;
&lt;li&gt;📅 Duration&lt;/li&gt;
&lt;li&gt;💰 Budget&lt;/li&gt;
&lt;li&gt;🛫 Origin&lt;/li&gt;
&lt;li&gt;🎨 Interests&lt;/li&gt;
&lt;li&gt;🧳 Travel style&lt;/li&gt;
&lt;li&gt;🚫 Dislikes&lt;/li&gt;
&lt;li&gt;⭐ Special preferences&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, a request like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"I want to spend 5 days in Manali starting from Delhi. My budget is ₹15,000. I love photography, nature and cafes, and I hate waking up early."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;is converted into structured travel information that the rest of the workflow can use.&lt;/p&gt;




&lt;h3&gt;
  
  
  ✈️ Flight Agent
&lt;/h3&gt;

&lt;p&gt;The Flight Agent specializes in researching transportation options for the trip.&lt;/p&gt;

&lt;p&gt;It uses &lt;strong&gt;&lt;a href="https://tavily.com/" rel="noopener noreferrer"&gt;Tavily Search&lt;/a&gt;&lt;/strong&gt; to search the web for relevant travel information, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✈️ Flight options&lt;/li&gt;
&lt;li&gt;🛫 Routes&lt;/li&gt;
&lt;li&gt;🏷️ Airlines&lt;/li&gt;
&lt;li&gt;💰 Estimated prices&lt;/li&gt;
&lt;li&gt;⏱️ Flight durations&lt;/li&gt;
&lt;li&gt;🔄 Return options&lt;/li&gt;
&lt;li&gt;📌 Booking considerations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to provide transportation information that fits the user's destination, origin, dates, and budget.&lt;/p&gt;




&lt;h3&gt;
  
  
  🏨 Hotel Agent
&lt;/h3&gt;

&lt;p&gt;The Hotel Agent focuses on finding accommodation that matches the user's trip requirements.&lt;/p&gt;

&lt;p&gt;It researches accommodation options based on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💰 Budget&lt;/li&gt;
&lt;li&gt;📍 Location&lt;/li&gt;
&lt;li&gt;🏙️ Neighborhood&lt;/li&gt;
&lt;li&gt;⭐ Accommodation type&lt;/li&gt;
&lt;li&gt;🛏️ Amenities&lt;/li&gt;
&lt;li&gt;🚶 Distance from attractions&lt;/li&gt;
&lt;li&gt;🧳 Travel preferences&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent uses &lt;strong&gt;&lt;a href="https://tavily.com/" rel="noopener noreferrer"&gt;Tavily Search&lt;/a&gt;&lt;/strong&gt; to gather current information from the web and provide relevant accommodation suggestions.&lt;/p&gt;




&lt;h3&gt;
  
  
  🗺️ Itinerary Agent
&lt;/h3&gt;

&lt;p&gt;The Itinerary Agent turns the trip requirements into a practical day-by-day itinerary.&lt;/p&gt;

&lt;p&gt;It combines web research with location information from &lt;strong&gt;&lt;a href="https://www.openstreetmap.org/" rel="noopener noreferrer"&gt;OpenStreetMap&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;Nominatim&lt;/strong&gt; to discover relevant places and organize them into a realistic route.&lt;/p&gt;

&lt;p&gt;The itinerary can include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📅 Daily activities&lt;/li&gt;
&lt;li&gt;📍 Attractions&lt;/li&gt;
&lt;li&gt;🍜 Restaurants&lt;/li&gt;
&lt;li&gt;☕ Cafes&lt;/li&gt;
&lt;li&gt;🚆 Local transportation&lt;/li&gt;
&lt;li&gt;💰 Estimated costs&lt;/li&gt;
&lt;li&gt;⏰ Suggested timing&lt;/li&gt;
&lt;li&gt;💡 Practical travel tips&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent also takes the user's personal preferences into account.&lt;/p&gt;

&lt;p&gt;For example, someone who dislikes early mornings shouldn't receive an itinerary starting at 6:00 AM every day.&lt;/p&gt;




&lt;h3&gt;
  
  
  ✨ Synthesizer
&lt;/h3&gt;

&lt;p&gt;The Synthesizer is the final stage of the workflow.&lt;/p&gt;

&lt;p&gt;It receives the information generated by the specialist agents and combines everything into one structured travel plan.&lt;/p&gt;

&lt;p&gt;Instead of returning several disconnected agent responses, the Synthesizer produces a single Markdown-formatted plan containing sections such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🧳 Trip Overview&lt;/li&gt;
&lt;li&gt;✈️ Transportation&lt;/li&gt;
&lt;li&gt;🏨 Accommodation&lt;/li&gt;
&lt;li&gt;🗺️ Day-by-Day Itinerary&lt;/li&gt;
&lt;li&gt;🍜 Food Recommendations&lt;/li&gt;
&lt;li&gt;🚆 Local Transportation&lt;/li&gt;
&lt;li&gt;💰 Budget Breakdown&lt;/li&gt;
&lt;li&gt;💡 Personalized Travel Tips&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates one cohesive result that the user can actually use to plan their trip.&lt;/p&gt;




&lt;h2&gt;
  
  
  🛠️ Tech Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Technology&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;🐍 &lt;strong&gt;&lt;a href="https://www.python.org/" rel="noopener noreferrer"&gt;Python&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Core programming language&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🧠 &lt;strong&gt;&lt;a href="https://www.langchain.com/langgraph" rel="noopener noreferrer"&gt;LangGraph&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Multi-agent workflow orchestration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔗 &lt;strong&gt;&lt;a href="https://www.langchain.com/" rel="noopener noreferrer"&gt;LangChain&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;LLM and agent framework&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🤖 &lt;strong&gt;&lt;a href="https://openrouter.ai/" rel="noopener noreferrer"&gt;OpenRouter&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;LLM routing and model experimentation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🧩 &lt;strong&gt;Open-weight LLMs&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;AI reasoning and travel planning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔎 &lt;strong&gt;&lt;a href="https://tavily.com/" rel="noopener noreferrer"&gt;Tavily&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Real-time web search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🗺️ &lt;strong&gt;&lt;a href="https://www.openstreetmap.org/" rel="noopener noreferrer"&gt;OpenStreetMap&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Open geographic data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;📍 &lt;strong&gt;&lt;a href="https://nominatim.org/" rel="noopener noreferrer"&gt;Nominatim&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Geocoding and location search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🌐 &lt;strong&gt;&lt;a href="https://geopy.readthedocs.io/" rel="noopener noreferrer"&gt;geopy&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Geolocation utilities&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🎨 &lt;strong&gt;&lt;a href="https://streamlit.io/" rel="noopener noreferrer"&gt;Streamlit&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Web application and chat interface&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🧪 &lt;strong&gt;&lt;a href="https://pytest.org/" rel="noopener noreferrer"&gt;pytest&lt;/a&gt;&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Automated testing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Open innovation made it possible to build TripBuddy as a modular AI system rather than locking the entire application to one model or provider.&lt;/p&gt;

&lt;p&gt;Using open-weight models through OpenRouter means I can experiment with different models while keeping the rest of the agent architecture largely unchanged.&lt;/p&gt;

&lt;p&gt;That flexibility is especially useful for a project like TripBuddy because travel planning involves several different tasks: extracting user preferences, searching information, reasoning about budgets, and generating structured itineraries.&lt;/p&gt;

&lt;p&gt;The open ecosystem also makes the project easier to experiment with, modify, and contribute to.&lt;/p&gt;

&lt;p&gt;Instead of building a black-box application around a single model, the architecture separates the LLM, agent orchestration, search tools, location services, and UI.&lt;/p&gt;

&lt;p&gt;That means contributors can improve individual parts of the system without having to rebuild everything from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Overall Winner&lt;/li&gt;
&lt;li&gt;Best Use of Gemma&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
