A movie agent you can just talk to.
From "something like Arrival" to three picks and a booked ticket, in one natural conversation.
- Role
- Architecture · implementation
- Year
- 2025
- Stack
- Python · DSPy
- Domain
- Conversational AI · agents
01The idea
Recommendation UIs make you do the work: filter by genre, scroll a grid, cross-reference showtimes in another tab, then go somewhere else to actually buy a ticket. The interesting question was whether a single conversation could carry all of it, from a vague mood to a confirmed booking, the way you'd ask a friend who happens to know the listings.
02Two systems, one conversation
The agent is really two pieces working together: a recommender that knows what's good for this person, and a dialogue planner that knows how to move a conversation toward an action.
Recommendation
Personalized picks come from item-item collaborative filtering over rating data: find the films most similar to the ones a user already likes, ranked by how strongly those preferences line up. It's transparent and fast, and it grounds the agent's suggestions in real signal instead of generic popularity.
Dialogue & planning
The conversational layer is built with DSPy, handling memory across turns, multi-step planning, and tool calls. The agent decides when it has enough to recommend, when to ask a clarifying question, and when to reach for an external tool.
Why DSPy: instead of hand-tuning brittle prompts, the pipeline is expressed as composable modules with clear inputs and outputs, so the planning and tool-use behavior can be reasoned about and improved as structured steps rather than one long instruction.
03From talk to ticket
What makes it feel like an agent rather than a chatbot is that it acts. Once a film is chosen, it calls out to tools to do the real-world part:
- Scheduling — find showtimes that fit the request.
- Pricing — surface seats and cost.
- Booking — place the reservation through the booking API.
Conversational memory ties it together: the agent holds context across the whole exchange, so a follow-up like "actually, something lighter" reshapes the recommendation without starting over.
"From a vague mood to a confirmed booking, without ever leaving the conversation."
04What it explores
The project is a study in agent architecture: pairing a classic, interpretable recommendation method with a modern planning framework, and drawing the line between when an agent should talk and when it should act.