Project Info
About the Project
Inspiration
This project was inspired by how frustrating it is to plan an entire day around a live event. While buying tickets is simple, figuring out what to do before and after the event, where to eat, how far things are, and how everything fits together usually requires switching between multiple apps. I wanted to build something that treats a live event as the anchor of the day and automatically builds a realistic plan around it. What I Learned Through this project, I learned how to design and build a full stack application that integrates several real world services. I gained experience working with the Ticketmaster API for live event discovery, the Google Maps API for location based recommendations and routing, and large language models from Groq to generate structured and personalized itineraries. I also learned how to use Neon as a cloud hosted database and how to implement Google authentication using Google Cloud. In addition, I learned how to manage API keys securely, handle inconsistent external data, and structure AI outputs so they could be reliably stored and reused. How I Built the Project The project begins by fetching live events from the Ticketmaster API based on user input such as location, date, and event type. Once a user selects an event, it becomes the central point of the itinerary. Nearby restaurants, attractions, and activities are discovered using the Google Maps API. AI models from Groq are then used to intelligently select and organize these places into a coherent plan that fits naturally around the event. User accounts and saved itineraries are stored in a Neon database, allowing users to return to and modify their plans later. Authentication is handled through Google login using Google Cloud, which provides a secure and familiar sign in experience while simplifying user management. Challenges Faced One of the biggest challenges was coordinating data from multiple APIs that were not designed to work together. Event times, location data, and place details often differed in structure and reliability, requiring careful validation and error handling. Another challenge was prompt design for the AI models, where small changes could significantly impact the quality and consistency of the generated itineraries. Balancing automation with user control was also challenging. The goal was to make planning effortless while still giving users the ability to customize their experience. Overcoming these challenges helped me better understand how AI can be combined with real world data to build practical, user focused applications.
Gopher: Your AI-Powered Travel & Event Concierge
Welcome to the official README for Gopher, an intelligent, seamless travel and event planning assistant I designed to dig up the best experiences so you don't have to.
This document outlines my vision for the project, the sophisticated tech stack I used, and the story of how I built it.
The Inspiration: Planning Without the Pain
Planning a trip or a night out usually involves a dozen open tabs: maps, reviews, calendars, and event listings. I found that the mental overhead of coordinating logistics often takes the joy out of the journey itself.
Most AI assistants can tell you about a city, but they struggle with the "here and now"—the specific opening hours, the live events, and the spatial logic of a real-world itinerary.
I built Gopher to solve a simple problem:
What if an assistant didn’t just give you links, but actually understood the 'where,' 'when,' and 'how' of your plans?
I envisioned a platform that doesn't just chat, but actively burrows through real-time data to surface personalized itineraries, local hotspots, and live event information in one cohesive interface.
Core Features: Your Personal Guide
Gopher is more than a chatbot; it’s a specialized spatial AI agent I developed to act as a digital concierge.
Intelligent Itinerary Generation
By leveraging Large Language Models, I enabled Gopher to craft detailed, time-blocked itineraries based on your destination and preferences. Whether it's a 48-hour food crawl or a week-long nature retreat, Gopher organizes the day logically.
Real-Time Event Discovery
I integrated live search data so that Gopher finds concerts, festivals, and local happenings occurring during your specific travel dates, ensuring you never miss out on the pulse of a city.
Seamless Map Integration
I wanted users to be able to visualize their entire plan. Every recommendation is pinned on an interactive map, allowing you to understand the geography of your trip and optimize your travel routes to save time.
Smart Location Insights
Gopher provides context beyond just a rating—summarizing what makes a venue unique and why it specifically fits your stated vibe.
The Technology Stack: Powering the Search
I built this project using a blend of modern web technologies, high-speed inference, and geospatial APIs.
Frontend Framework
- Next.js – for a lightning-fast, SEO-friendly React environment with server-side rendering
- Tailwind CSS – for a clean, modern, and responsive "utility-first" UI design
- Lucide React – for consistent and crisp iconography
Artificial Intelligence
- Groq – utilized for ultra-low latency inference, allowing the AI to generate complex itineraries almost instantaneously
- Llama 3 / Mixtral – the core LLMs I used for natural language understanding and structured data extraction
Geospatial & Search APIs
- Google Maps Platform – handles Place Autocomplete, Geocoding, and interactive map rendering
- Google Places API – the source of truth for business details, photos, and reviews
- Serper / Search APIs – used to fetch the most current events and news that aren't in a model's static training data
Backend & Deployment
- Vercel – for seamless CI/CD and hosting at the edge
The Journey: From a Concept to a Concierge
The Blueprint
I started with a focus on the "Information Gap." I realized LLMs are great at advice but bad at current locations. My first step was bridging a fast LLM (Groq) with real-world map data.
Mapping the Experience
Integrating the Google Maps JavaScript API was the turning point. I ensured that as the AI "talked" about a place, the map would react, creating a dual-pane experience where text and location live in harmony.
Tuning the "Gopher"
Prompt engineering was key. I refined the system instructions to ensure Gopher returned structured data that I could then parse into custom UI components, like activity cards and time slots.
Adding the "Live" Element
To move beyond a static directory, I integrated search tools to find "Events happening this weekend," making the app feel alive and reactive to the current moment.
Future Vision: The Next Burrow
Gopher is just beginning its journey. My roadmap includes:
- Collaborative Planning: Share a "Burrow" link with friends so everyone can add suggestions to a shared itinerary.
- Booking Integration: One-click links for restaurant reservations and flight tracking.
- Offline Mode: Exporting your itinerary to a lightweight mobile-friendly PDF or PWA for travel without data.
Thank You
Thank you for exploring Gopher.
I’m dedicated to making travel planning as simple as a single conversation—one city, one plan, one burrow at a time.
Analysis
View
Metric
- 19
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- Google GeminiIn code
- Next.jsIn code
- OpenAIIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Vercel AI SDKIn code
- JavaScriptClaimed
- VercelClaimed
8 of 10 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
199 KB
Source files
29
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
sathyak04/gopher
49 files · 1.7 MB · @ 328a1ee
Structure
Interface
16 files · 33%Screens, components and styles rendered to the user.
API & routing
6 files · 12%Request entry points: routes, handlers and controllers.
Application logic
7 files · 14%Domain rules, services and shared utilities.
Data & schema
2 files · 4%Schema definitions, migrations and data access.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- TypeScript97%
- Markdown2%
- CSS0%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
package.json
npm · 29- @ai-sdk/google
- @ai-sdk/groq
- @ai-sdk/openai
- @ai-sdk/react
- @auth/drizzle-adapter
- @google/generative-ai
- @googlemaps/js-api-loader
- @neondatabase/serverless
- ai
- axios
- clsx
- dotenv
- drizzle-orm
- framer-motion
- lucide-react
- next
- next-auth
- react
- +11 more
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.