In order to flesh out use cases and harden Saucer.AI, we needed a useful real-life application as our test bed. RAG-style flows, a chat LLM, and interaction between tools and context were all valid use cases to support. Being a lifelong film lover, what better application than a collection of film data. And so, The Criterion Companion was born.
The application is built 100% with Saucer.AI running on ASP.NET, with qDrant handling semantic search. The frontend is pure TypeScript and CSS — no frontend framework. Beyond Saucer.AI and qDrant, there are no other dependencies. The demo is live and demonstrates what Saucer.AI can do as an orchestration platform.
An LLM-powered cinema companion for all things Criterion. Cineguide demonstrates Saucer.AI's orchestration, tool calling, and multi-agent capabilities in a conversational interface.
Full conversational interface with async responses during orchestrations. Chat history is loaded as external context, and sessions persist across visits.
Switch between LLM providers mid-conversation. The same session context translates seamlessly between Claude, GPT, and Gemini — Saucer's canonical message types in action.
Film lookups, semantic searches, collection management — all executed through Saucer's [AgentTool] system. The LLM decides which tools to call and when.
Cineguide can view the context of other agents. It reads past searches from Film Finder and understands what the user has been exploring — Saucer's built-in support for multi-agent development.
Limited but deliberate control over the application. Cineguide can rename chat titles, view the user's Criterion Closet, and add or remove titles from their favorites on request.
Cineguide responding to a query about Fellini — tool calls retrieve film data and render inline cards.
Semantic RAG-style search powered by Saucer.AI. The LLM interprets search queries, corrects misspellings, removes superfluous terms, and adapts the wording to better align with filmic language captured in qDrant's vector store.
The LLM interprets "European WW2 films" and offers refinement suggestions. Results include semantic match explanations.
Film Finder's search results are exposed to Cineguide, demonstrating Saucer's built-in ability for multi-agent development. A user can search for films in Film Finder, then switch to Cineguide and ask questions about what they found — the context carries over.
The interpretation step is key. Rather than passing raw user input to the vector store, the LLM first normalizes the query — correcting "WW2" to "World War II", inferring that "European" means films set in or about Europe, and suggesting refinements like "Holocaust films" or "anti-war films" that narrow the semantic space.
A personal collection manager for Criterion films. Track what you've watched, what you own, and what you want to see next. Built for completeness as a functional feature, but also as another surface for agent interaction.
The Closet with filtering by favorites, watched, wishlist, and ownership. Cineguide has access to this data and can add entries on request.
A placeholder for semantic recommendations based purely on vector similarity. The idea: rather than recommending films by genre or director taxonomy, look at what a user is drawn to in vector space and find films with similar embeddings — regardless of traditional categories. A viewer drawn to early Fellini might not connect with his later work, and vice versa. The embeddings would capture that nuance where taxonomies cannot.
This feature is out of scope for the current Saucer.AI demo, but represents the direction the application could go with user data.