-
Local live brief: three references. AI-generated mood illustration, not a photograph of a recommended venue.
-
Real Qloo evidence: source, references and affinity are separated from creative proposals. Local run, revision 3.
-
Accepted direction and edited shot preserved after replacing the other location. Local revision 3; venue conditions unverified.
Inspiration
A client sends a film, a record and a brand, then asks for a portrait that feels like them. The references communicate a mood. The photographer still needs somewhere to shoot, a reason to choose it and a plan that survives a change of mind.
FIELDWORK connects those steps. It is a photographic preproduction workspace built around a practical question: how do you move from “I like this” to “let’s make this”?
What it does
Start with a city and up to three cultural references. FIELDWORK resolves the references through Qloo, discovers candidate places and develops two creative directions, each with a portrait narrative and an editable three-shot plan.
Inspect the evidence, keep one direction and change its shot text. Rule out the other location, and the agent finds a replacement while preserving the accepted work. Download the current brief as Markdown or JSON with the references, decisions and open practical questions intact.
The interface separates Qloo research, creative proposals and things the photographer must verify. Cultural affinity does not confirm access, permission, availability or lighting. Mood artwork is explicitly labelled as AI-generated illustration, not a photograph of the recommended venue.
How we built it
Qloo Search identifies cultural references, Tags resolves supported place categories, and Insights returns candidate locations connected by taste. A Groq planner using GPT-OSS 20B chooses bounded actions over those observed candidates and proposes creative treatments. It cannot invent a Qloo identity or affinity score.
A Node.js server owns the canonical study and validates revisions and exports. Keeping a treatment preserves its accepted text; vetoing a place excludes it from the replacement. Keys remain server-side. Strict output validation and visibly labelled authored fallbacks keep a failed model response from masquerading as successful model planning. A live request never silently becomes Sample data.
The browser workspace uses JavaScript and CSS. Optional Ollama and MCP integrations expose the same bounded workflow to local models and existing agents.
Challenges we ran into
Cultural relevance is not visual similarity or permission to shoot. Keeping those boundaries clear required separate source labels, editable proposals and unverified practical checks.
Revision was another challenge: a new recommendation must not erase a decision already made. Canonical server state, explicit keep and veto actions, and export checks protect that continuity. Model responses also needed strict validation and honest recovery when they fell outside the allowed contract.
Accomplishments
Two controlled Barcelona briefs each resolved three references through the real Qloo API and returned eight candidate places. A public scout recorded on 20 October produced two model-proposed directions with two Groq actions and no policy fallback.
A further public check on 21 October again resolved three references and returned eight Qloo places, but a rejected model selection produced two visibly labelled authored fallback directions.
A separate public keep, edit, veto and export journey passed 13 functional checks, including preservation of the accepted direction and edited shot. Its initial selection used an explicit fallback; the later replan produced a new model proposal. The project also passes 178 offline tests. These are recorded cases, not a claim that every response succeeds.
What we learned
Taste evidence and shoot readiness need different kinds of verification. A useful creative assistant also needs to carry decisions forward, not just generate another list. The exported brief makes that distinction tangible: some ideas are accepted, some facts have sources, and some questions still need a scout.
What’s next
Take the exported brief on a real location scout and record what changes. Production use would also need authentication, durable storage and distributed request limits. The current Render Free demo may need time to wake; download the brief to retain it beyond a temporary server session.
Built With
- css
- gpt-oss
- groq
- javascript
- node.js
- qloo
- render

Log in or sign up for Devpost to join the conversation.