Skip to content

mastra-ai/gtc-planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GTC 2026 Session Advisor

AI-powered assistant for NVIDIA GTC 2026 attendees. Browse 954 sessions across 6 days, explore after-parties, and get personalized recommendations from nemo — an agent built with Mastra.

Built with Mastra

Features

  • Session Browser — Search, filter by day/type, view detailed session info with speakers and schedules
  • After-Party Guide — 35 GTC after-parties with descriptions, locations, RSVP links, and sponsor info
  • AI Chat (nemo) — Conversational agent that recommends sessions based on your role, interests, and experience level
  • Itinerary Builder — Save sessions and parties to a personal schedule with conflict detection
  • Observational Memory — Agent learns your preferences over the conversation via Mastra's observational memory
  • Mobile Responsive — Full mobile layout with tab navigation

Architecture

├── src/mastra/          # Mastra backend (agent, tools, memory)
│   ├── agents/          # gtc-advisor agent definition
│   └── tools.ts         # Session search, filter, schedule, itinerary tools
├── web/                 # Vite + React frontend
│   ├── src/components/  # EventsPanel, SessionDetail, PartyDetail, Chat, etc.
│   └── public/          # Static assets (sessions.json, parties.json)
└── package.json         # Root package with dev/build scripts

Backend: Mastra agent with 10 tools (search, filter, recommend, schedule, itinerary CRUD) running on Hono server. Uses LibSQL for memory storage and OpenRouter for model access (Nemotron-3 Super 120B).

Frontend: React 19 + Vite + Tailwind CSS 4 + shadcn/ui. Chat powered by @ai-sdk/react useChat hook streaming from Mastra's chat route.

Setup

Prerequisites

  • Node.js 20+
  • npm

Environment Variables

Create a .env file in the project root:

OPENROUTER_API_KEY=sk-or-v1-...       # Required — OpenRouter API key for model access
GOOGLE_GENERATIVE_AI_API_KEY=...       # Required — Gemini API key for observational memory

Install & Run

# Install dependencies (root + web)
npm install && npm install --prefix web

# Start dev servers (Mastra API :4111 + Vite :5173)
npm run dev

Build for Production

# Build Mastra API
npm run build:api

# Build frontend
npm run build:web

Deployment (Railway)

This project deploys as two Railway services from one repo:

API Service

  • Root directory: /
  • Build: npm install && npx mastra build
  • Start: npx mastra start
  • Env vars: OPENROUTER_API_KEY, GOOGLE_GENERATIVE_AI_API_KEY, PORT (Railway sets automatically)

Web Service

  • Root directory: /web
  • Build: npm install && npm run build
  • Start: Static site — serve from dist/
  • Env var: VITE_API_URL (set to API service URL, e.g. https://api-xxx.up.railway.app)

Tech Stack

Credits

About

Mastra Agent that helps NVIDIA GTC attendees choose sessions based on preferences

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages