Skip to content

Latest commit

 

History

History
158 lines (91 loc) · 5.88 KB

File metadata and controls

158 lines (91 loc) · 5.88 KB

License Last Commit Website React Vercel Next.js Tailwind CSS Code Style: Prettier Clerk MongoDB Mongoose Google Gemini

Banner Image

Appmuseme – Qloo LLM Hackathon

Author

Tin Ho Chu

Tin Ho Chu
GitHub
LinkedIn
Twitter

🎥 Demo Video

Appmuseme Demo

Watch the full demo: https://youtu.be/8hdmUwOEAWM

🚀 Project Overview

Appmuseme is a culturally intelligent travel assistant that helps users plan unforgettable trips based on their unique tastes in music, food, books, fashion, and more — not just social media trends.

By combining Qloo’s Taste AI with Google Gemini and a lightweight frontend architecture, Appmuseme builds day-by-day itineraries aligned with who you are, not just where you’re going.

🧠 Features & Functionality

  • ✈️ Taste-powered travel itinerary builder
  • 🧬 AI parses your input into structured cultural preferences
  • 🌐 Uses Qloo’s cross-domain taste graph to fetch experiences
  • 📍 Suggests hyper-personalized venues, neighborhoods, and events
  • 🎶 Generates playlists, reading lists, and city vibe maps
  • ⚡ Fast, single-layer architecture using only frontend + LLM

🛠️ Technology Stack

Frontend

APIs & AI Models

📡 Installation & Setup

  1. Clone the repo

  2. Set up your environment variables:

    cp .env.example .env
    
    # Add your API keys:
    # - QLOO_API_KEY
    # - QLOO_API_URL
    # - GEMINI_API_KEY
  3. Install dependencies and run:

    pnpm install
    pnpm dev

🧠 Inspiration

We wanted to reimagine how people travel — not by search trends or tourist traps, but by what they actually love. Our inspiration came from the question:

"What if you could plan a trip based on your taste in music, books, and style — instead of Tripadvisor rankings?"

With Qloo's cultural graph and modern LLMs, that vision became real.

⚙️ How I Built It

Built entirely in Next.js using Vercel AI SDK to interface directly with Google Gemini

Custom prompts parse user taste input and call the Qloo API for culturally-aligned discovery

Results are synthesized into a structured itinerary based on user intent and taste

❗ Challenges We Ran Into

  • Tuning prompts to extract structured cultural preferences from freeform input

  • Mapping broad Qloo recommendations into localized, day-by-day suggestions

  • Handling edge cases where user tastes or destinations lacked direct Qloo matches

  • Designing a frontend that feels personal, smart, and easy to use

✅ Accomplishments That I'm Proud Of

Designed a taste-first travel planning experience using just frontend and LLMs

Integrated real cultural intelligence from Qloo into a production-grade app

Delivered a complete end-to-end travel planner powered by AI and taste graphs

Created a UX that helps users feel seen — not just served generic suggestions

📚 What I Learned

  • How to design LLM prompts that reflect taste, mood, and personality

  • How Qloo’s API works across domains (e.g. music to food to neighborhoods)

  • Why simplicity in architecture (LLM + frontend) can outperform full backend systems for certain flows

  • How to fuse design + data for culturally meaningful results

🔮 What's Next for Appmuseme

  • 👫 Group trip planning (merge tastes from multiple users)

  • 🧳 Taste-based destination suggestions: “Where should I go based on who I am?”

  • 🌐 Add neighborhood intelligence with Mapbox or Google Places

  • 📱 Launch iOS/Android PWA version

  • 💼 Explore partnerships with travel apps or cultural brands

🔧 Troubleshooting

Common Issues

Qloo API returning empty results:

  • Check that QLOO_API_KEY and QLOO_API_URL are correct

  • Confirm that your taste terms exist within Qloo’s domain taxonomy

Gemini failing to return structured results:

  • Review and refine your system prompt

  • Ensure inputs are clearly separating destination, tastes, and mood

Getting Help

  1. Review prompt logs (if debugging is enabled)

  2. Check browser console logs for API response issues

  3. Ensure API keys are valid and active

📝 License

This project is licensed under the MIT License. See the LICENSE file for details.