Adjacent Cinema — Cultural Intelligence for Independent Cinema

Inspiration

Before a screening reaches an audience, someone has already made a cultural bet: this film belongs beside these others, in this place, for these people.

Independent filmmakers and cinema programmers make these decisions every day. A programmer builds a season around relationships between films; a filmmaker searches for the right way to position a story; a producer looks for brands that belong naturally in its world. Much of this work depends on experience, instinct, and fragmented research.

Popularity can tell us what is already widely recognised. It is less useful for discovering the unexpected connections that give a film a distinctive place in culture.

We wanted to build a tool that could explore those connections systematically, using Qloo's cultural intelligence, and help people move from “these things might belong together” to “here is a direction worth exploring, here is the evidence behind it, and here is how we can test it.”

That idea became Adjacent Cinema: a workspace that connects cultural discovery with the decisions that shape how independent films are positioned, programmed, and presented to potential partners.

What it does

Adjacent Cinema connects four workflows through one evidence-to-decision process.

Creator Studio — Find a film's cultural position

A filmmaker starts with a brief: the story, themes, language, comparable films, release goals, and optional geographic context. Adjacent investigates the cultural references around that brief and discovers relevant relationships across domains.

The Cultural Fingerprint presents the resulting cultural field. The Cultural Multiverse explores three positioning directions—Anchor, Bridge, and Frontier—giving creators different ways to think about where their film might belong.

The workflow then turns a chosen direction into a positioning bet and an editable Test Card, with a comparison protocol, primary measure, decision rule, and observation window. The output is not just a recommendation to read; it is a decision that can lead to an experiment.

Cinema Mode — Programme with a cultural perspective

For cinema programmers, Adjacent takes a venue, city, and film programme and explores the cultural relationships surrounding the selection.

It builds a cultural field, surfaces adjacent programming opportunities, and produces a structured Programme Bet. The Decision Challenge then examines how the ranking changes under alternative assumptions and how it holds up when individual pieces of evidence are removed.

Before committing to a direction, the programmer can define a Test Card that makes the intended comparison and evaluation criteria explicit.

FilmSponsor — Build a more informed sponsorship conversation

FilmSponsor brings cultural intelligence into the process of finding potential brand partners for a film.

It combines live brand discovery with editable campaign drafts, source review, approval, export, outreach, and manually recorded outcomes. This creates a structured path from cultural research to a partnership conversation, rather than reducing sponsorship to a list of names.

Audience Pulse — Connect the decision to the room

Audience Pulse carries the experiment into a bounded audience ballot. A question, response options, collection window, and decision rule can be defined before responses arrive, connecting a planned programming experiment to observations from the people experiencing it.

Together, these workflows turn cultural discovery into a process: investigate, interpret, decide, test, and learn.

How we built it

We built Adjacent Cinema with a clear engineering principle: the reasoning behind a decision should be as inspectable as the decision itself.

The backend is built with Python and FastAPI, using Qloo's Search, Entities, Insights, Tags, Audiences, Trending, and Compare capabilities. The frontend uses Next.js 16, React 19, TypeScript, and Tailwind CSS, with MapLibre for geographic visualisation. The application is deployed through Vercel and Render.

At the centre is an explicit orchestration controller:

PLAN → SELECT → ACT → EVALUATE → STOP

The controller selects typed tools, enforces execution budgets, evaluates the returned evidence, and records why a workflow continues or stops. Application logic governs the decision process; the system does not leave consequential ranking decisions to unconstrained language-model output.

Several design decisions are fundamental to how it works:

  • Identity before analysis: Film references are checked against title, year, and available identifiers before being admitted to scoring. Resolved and unresolved inputs remain distinguishable.
  • Evidence attached to decisions: Qloo requests are recorded with trace identifiers and redacted parameters. Relevant responses, ranked cultural groups, positioning bets, and experiment plans remain connected through the workflow.
  • The Decision Challenge: Rather than building a second ranking system that could disagree with the original, counterfactual comparisons reuse the existing candidate pool and production scoring logic. The system can examine necessity, ranking stability, and which evidence gaps deserve attention without making additional Qloo calls.
  • Experiments as part of the product: Test Cards, saved experiment snapshots, observations, evaluations, and Audience Pulse connect the initial recommendation to the process of testing it.

We also exposed the core analysis through an MCP server, allowing external agents to access the same evidence-backed tools instead of maintaining a separate implementation of the decision logic.

The interface was designed as an editorial workspace, not simply an analytics dashboard. Its staged journey, live progress stream, Cultural Fingerprint, positioning arena, geographic views, evidence trace, and Test Card are different ways to make the same underlying process understandable.

Challenges we faced

The most difficult work was translating cultural data into a reliable decision workflow.

Understanding real API responses. Qloo's response structures did not always match our initial assumptions. Affinity information, for example, appeared inside a nested query object rather than at the top level. We inspected actual responses, corrected the parsing, and strengthened validation so that the application works with the data the provider returns.

Getting film identity right. Similar titles, external identifiers, and newer releases made entity resolution a substantive engineering problem. We built validation around title-year consistency and ambiguous matches, then added regression tests to ensure that an uncertain match could not quietly become a scored result.

Making sparse evidence understandable. Geographic analysis sometimes returned only a handful of valid cells. We refined the visualisation to show the observations actually available, with the density layer and individual markers behaving appropriately as users explore the map.

Verifying the product beyond a successful build. We found production-only issues that static checks had missed: an image layout collapsing because of conflicting positioning rules, and a map worker failing to load even while the basemap appeared. Reproducing the production experience in a browser and inspecting the rendered elements and requested assets helped us resolve these issues.

These experiences shaped the way we approach development: validate real responses, test the difficult cases, and verify what people actually see—not just what the code says should happen.

What we learned

The biggest lesson was that cultural intelligence becomes more valuable when it helps people make a decision they can interrogate.

A ranked list can suggest an opportunity, but a connected workflow gives the user something more useful: a way to explore the evidence, compare interpretations, challenge the recommendation, and define what they want to learn from the result.

We also learned to treat provenance and experimentation as product features rather than technical extras. When a person can follow a result back to its source and understand how a decision could be evaluated, the software becomes a tool for judgment rather than a substitute for it.

Building the Decision Challenge reinforced that lesson. We ran a live counterfactual evaluation across nine prespecified programme cases to examine how recommendations behaved under alternative ranking assumptions. This brought evaluation into the engineering process itself, rather than treating a plausible-looking result as the end of the work.

Most importantly, we learned that the strongest use of cultural intelligence is not to remove human judgment from cinema. It is to give filmmakers and programmers better ways to exercise it.

Accomplishments we're proud of

We brought a multi-workflow product from research and API probing to a deployed application with a coherent interface, a bounded analysis engine, traceable Qloo evidence, and connected decision and experiment workflows.

We are especially proud of the Decision Challenge, because it makes questioning a recommendation part of the product; the Cultural Multiverse, because it lets filmmakers explore alternative positioning directions; and the Test Card, because it carries a creative or programming decision into a structured experiment.

The result is a product where cultural discovery, technical reasoning, and creative judgment work together.

Every film has a cultural world around it. Adjacent Cinema helps uncover that world—and turn the connections within it into decisions worth exploring.

Built With

Share this project:

Updates

Submission history