Inspiration

Inspired by the desire to bring contextual, cultural personalization to the travel experience—especially during cruises. Noticed that no tool currently uses Qloo Taste AI aboard cruise liners, despite onboard screens and guest data flows. Motivated by recent trends: travelers value tailored wellness, cultural, and dining suggestions more than generic lists. What it does

Cruise Assistant combines Qloo Taste AI, GPT‑4, and a RAG pipeline to:

Determine user interests (e.g. Culture, Wellness, Dining, Mediterranean, Luxury) Fetch relevant entities from Qloo and apply affinity scoring Populate a vector database for retrieval (using text‑embedding‑3‑large) Generate AI-enhanced, citation‑aware recommendations—e.g. “Sunset Yoga Class”, “Live Jazz Evening”—with advice, timing tips, and budget guidance Outputs are transparent and explainable: each suggestion cites its source entity and affinity score.

How we built it

Backend: Node.js + Express server, Octet‑scalable architecture Uses Qloo’s Entity Resolver and Insights endpoint Logic for affinity filtering, deduplication, and fallback to legacy search RAG pipeline: Vector store (Chroma/Pinecone) indexed with text‑embedding‑3‑large embeddings Retrieval + reranking module Prompt generator enforced citation and faithfulness Frontend: React UI allowing users to choose interests, region, and budget DevOps: CI/CD via GitHub Actions, full test coverage, automated QA monitoring Challenges we ran into

API rate limits and occasional entity resolver failures, required fallback logic to legacy Qloo search High retrieval latency (~5–7 sec), which needed UX handling (switching to terminal logs) Ensuring faithfulness: preventing hallucinations required LLM-as-a-Judge checks and prompt structuring Synthetic evaluation: needed a test dataset to gauge precision@k, MRR, recall and link to improvement metrics Accomplishments that we're proud of

First working Qloo + GPT‑4 integration specifically for cruise experiences Reduced hallucinations to under 5%, and improved precision to 0.85+ and recall to 0.8+ Explainable recommendations with clear citations and affinity context Built a functioning MVP with RAG pipeline, reranking, CI/CD workflows, and full data tracking What we learned

Real-world entity APIs can be fragile or slow, so fallback logic and retries are essential Chunking and reranking significantly boost retrieval accuracy over naive full-text lookup Prompt engineering with enforced citation and chain-of-thought helps GPT‑4 generate trustworthy outputs Synthetic evaluation and continuous metrics monitoring are essential for meaningful quality tracking What's next for Cruise Assistant: Culture‑Aware AI for Cruises

Expand content sources: integrate port schedules, onboard events, region-specific guides Add multilingual UX and voice assistance for global fleet deployment Implement booking & payment integration, loyalty systems, cross-sell triggers Introduce sustainability features: recommend less crowded ports, highlight eco-tourism and local businesses Launch analytics dashboard: track user interactions, funnel optimization (view → prompt → recommendation → conversion) Feel free to adjust or add any personal notes, improved metrics, links to demos or architecture diagrams.

Built With

  • and
  • automated-qa-scripts-(npm-run-qa)
  • code
  • dockerizable-setup-via-scripts
  • embeddings-via-text-embedding-3-large
  • full-test-coverage.-utility-packages:-axios/fetch-for-http-calls
  • jest-+-supertest-(backend)
  • languages-&-frameworks:-javascript/typescript
  • linting
  • node.js-and-express-backend;-react-frontend-with-create-react-app.-apis:-qloo-taste-ai-(entity-resolver-&-insights-endpoints)
  • openai-gpt?4-api-(via-openai-sdk).-rag-stack:-vector-database-(e.g.-chroma-or-pinecone)
  • quality
  • react-testing-library-+-jest-(frontend).-dev-tooling:-dotenv-for-environment-config
  • retrieval-+-reranking-pipeline.-infrastructure-&-ci/cd:-github-actions
  • winston-logging-for-structured-logs
Share this project:

Updates