Inspiration
Streaming and reading apps are everywhere, but taste still differs person to person, and it is hard to align with friends on “what should we watch?” Taste Tape started from the idea of logging books, movies, and TV in one place, turning that data into plain-language taste summaries, and letting people compare tastes using only friend codes. For VictorHacks 2026, the goal was an experience where you leave and share your own “media tape.”
What it does
- Personal library: Search works from sources like TMDB and Open Library, then log them with star ratings, reviews, tags, and short preference notes.
- Taste analysis: Aggregate your ratings into summaries, keywords, recommendation blurbs, and ranked picks with reasons.
- Compare with friends: Enter friend codes to compare with several people at once—shared favorites, new things to watch together, and picks from each other’s libraries (subject to compare visibility settings).
- Recaps & export: View analysis as poster grids, receipt-style layouts, stats, and save images as PNG. Accounts: Sign up, sign in, and manage settings such as nickname and whether comparisons are public. ##How we built it
- Monorepo: backend and frontend workspaces, with concurrently for local dev. Backend: Fastify REST API, Prisma on PostgreSQL (users, work cache, ratings, snapshots), JWT and bcrypt for auth.
- Data: TMDB and Open Library adapters normalize metadata; WorkCache cuts duplicate fetches.
- AI: Google Gemini powers analysis, ranking, and multi-person compare; Zod validates JSON and the server filters model output so picks line up with real library and candidate data.
- Frontend: React 19, React Router, Vite, Tailwind CSS v4, and html-to-image for recap capture. ##Challenges we ran into Unifying catalog entries from multiple providers into one model and wiring them cleanly to cache and ratings. LLM responses are not always perfect, so we relied on schema validation, placeholders, and strict server-side filtering so on-screen recommendations stay tied to real data. Exporting recap images when poster URLs and CORS can break captures—handled with options like cacheBust and crossOrigin where needed. Accomplishments that we're proud of A single app flow across books, movies, and TV—from search and library to analysis and compare. Using Gemini as structured JSON combined with domain logic (profiles, candidate gathering, overlaps)—a product feature, not a generic chatbot. Friend-code comparison and a compare visibility toggle that respect privacy. Visual recaps and export so people can share “my taste in one image.” What we learned Prompts + schemas + server validation are what make LLM features shippable in a real UI. For media metadata, a cache layer and keys like provider + externalId pay off quickly for recommendations and compare. Even in a hackathon, types (Zod, Prisma, TypeScript) help wire APIs and UI fast with fewer surprises. What's next for Taste Tape Social: Friend lists, compare history, notifications. Data: Broader locales/languages; status like watching or planned. AI: Tune recommendations from feedback; lower latency and caching. Product: Mobile-friendly web or PWA; Open Graph images or server-rendered recap cards for sharing.
Log in or sign up for Devpost to join the conversation.