Case study · Conversational AI

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

2
systems combined: a recommender and a dialogue planner
3
tools the agent orchestrates: scheduling, pricing, booking
1
continuous conversation from intent to action

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.