Spaces:
Running on Zero
Running on Zero
| title: Chalchitra | |
| emoji: 📽️ | |
| colorFrom: yellow | |
| colorTo: gray | |
| sdk: gradio | |
| sdk_version: 6.18.0 | |
| python_version: '3.13' | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| short_description: a film for this moment | |
| tags: | |
| - thousand-token-wood | |
| - best-demo | |
| - off-brand | |
| - track:wood | |
| - achievement:offgrid | |
| - achievement:offbrand | |
| - achievement:sharing | |
| - achievement:fieldnotes | |
| # Chalchitra · चलचित्र | |
| **A film for this moment.** Bring up to four images and an optional fragment — | |
| a feeling, a line, or nothing at all — and Chalchitra reads the mood beneath | |
| them and names three films that belong to it. Not by genre or rating, but by | |
| the texture of a feeling. | |
| A small vision model does the seeing, running on the Space itself — no cloud | |
| API in the loop. Stateless by design: refresh, and the moment is gone. | |
| ## How it works | |
| You drop in up to four images and, if you like, a fragment of text. A vision | |
| model reads the atmospheric and emotional texture — the quality of light, what | |
| moment in life this is — and returns a short interpretation plus three films, | |
| each with a felt rationale for why it belongs here. When you've typed a | |
| fragment, your words *lead* the reading. Ask again and you get a fresh set | |
| (it remembers what it has already shown you, this session only). | |
| ## The tech | |
| - **Model:** Qwen2.5-VL-7B-Instruct (≤32B), run **in-process on ZeroGPU** — the | |
| model answering is the one on the Space, no hosted API. | |
| - **Frontend:** a custom React interface (amber, polaroid, *In the Mood for | |
| Love* register) served from a Gradio app on the Space — a long way past the | |
| default Gradio UI. | |
| - **Backend:** a pluggable LLM oracle behind a frozen JSON contract, with | |
| server-side image sanitisation, a bounded quality retry, and graceful | |
| failure states. Provider-swappable (LM Studio locally, in-Space model on | |
| deploy) without touching the frontend or the prompt. | |
| ## Hackathon | |
| - **Track:** An Adventure in Thousand Token Wood | |
| - **Badges:** Best Demo · Off Brand — a genuinely custom React interface, | |
| served from the Gradio app and well beyond the default Gradio UI | |
| - **Demo video:** https://youtu.be/GeBFQXVBqQs | |
| - **Social post:** https://www.linkedin.com/posts/ajit3259_chalchitra-a-film-for-this-moment-activity-7471894016960344064-I1Au | |
| - **The story (how & why we built it):** https://ajit3259.substack.com/p/chalchitra-a-film-for-this-moment | |
| --- | |
| Music in the demo: *"Reverie"* by Scott Buckley — CC-BY (scottbuckley.com.au). | |
| The opening frame is from the series *Love Through Prism*; the pencil drawing is the author's own. | |