Weave
Per-viewer product placement, decided on your device.
The problem
Ad personalization today either interrupts you or surveils you — per-viewer targeting *requires* shipping your profile to an ad network, the exact data you’d never want to hand over.
How it works
Weave puts the brand inside the scene — the bottle on the table, the billboard through the window — and makes the targeting decision on-device with Gemma (via Ollama). The advertiser ships an anonymous catalog; your device reasons over the scene, a local viewer profile, and the catalog to return a renderable placement — while a Privacy Firewall meters every outbound byte and proves external bytes = 0.
Key features
- On-device decision agent (Gemma / Ollama) — the viewer profile never leaves the machine
- Narrative-taste enforcement: one motivated placement per scene, no story-breaking swaps
- Ad-policy + lifestyle guardrails (alcohol / minor / region / sober rules)
- Privacy Firewall: real-time outbound byte meter proving 0 external bytes, audit log, kill switch
- Split-screen per-viewer renderer — one frame, a different placement per viewer, fully offline
Architecture
Browser (Vite/React) → local Express decision server (localhost only) → Gemma agent → Ollama on-device. Every hop is localhost; the firewall, audit log, and kill switch wrap the server, the renderer and privacy panel live client-side.
Stack
Context
Built at the RAISE Summit Hackathon 2026 — Google DeepMind remote track.