A pair programmer for the whole team. It watches everyone's work live, catches
collisions before the push (when GitHub still can't see them), and learns the team's
dynamics so it nudges less and helps more over time.
The 10-second story:Coding isn't the bottleneck anymore —
coordination is. PodMan gives a team real-time awareness with zero interruptions, catches
the pre-push collision that costs an afternoon, and the Team-Memory Graph proves it learned —
materialized live from MongoDB, not a mock.
observe ──▶ store ──▶ predict ──▶ outcome ──▶ adapt
│ │ │ │ │
Gemini MongoDB same-file accept / learned_from
Vision + records overlap dismiss edge + owner
git truth detected (1 tap) persists
▲ │
└───────────────── recall ($vectorSearch) ◀─────────┘
"Seen before." → escalates on a repeat
The proof: one accept/dismiss tap — no retraining, no labels — changes the
NEXT run. Run 2 of the same collision says "Seen before." and a violet
learned_from edge appears on the graph. That edge is read straight from Atlas.
The 3-minute demo (read off this)
Time
Do
Say — land the value
0:00
Pod view, two live screen tiles
"Coordination is the bottleneck now, not coding. PodMan watches everyone's work live — nobody has to ask 'what are you on?'"
0:30
Point at tiles; activity stream fills
"Real screen-shares over LiveKit; each frame → Gemini Vision → file/symbol/activity. A perception layer, not a chatbot."
1:05
Two engineers edit the same file, unpushed
"GitHub can't see this — nothing's pushed. We fuse live screen context with local git truth." → collision card appears.
1:40
Accept the card
Real GitHub sync-PR created + outcome recorded. "One tap closes the loop."
2:10
Trigger the same collision again
Card now says "Seen before." and escalates to the Gemini TTS voice. "It recalled the prior event from MongoDB Atlas vector search and escalated — that's the learning."
2:35
Cut to GraphView
"This graph is materialized live from MongoDB right now — and here's the learned_from edge: PodMan learned who owns this file. Not a mock."
3:00
Stack + close
"All on DigitalOcean, systemd-supervised; ambient score is Gemini Lyria. Awareness, collisions caught pre-push, memory that sharpens each session."
"real screen-shares over LiveKit"; TTS audio over LiveKit
0:30 · 2:10
MongoDB
"Atlas vector-search recall" · "graph materialized live from MongoDB"
2:10 · 2:35
DigitalOcean
"all on DigitalOcean, systemd-supervised workers"
3:00
⛔ Last-hour caveats — read before you run
1 · Suppression is DISABLED for the demo
Every collision now surfaces (good — no accidental silencing). The old
"it learned to stay QUIET / no card fires" beat will not work. Use the
escalate beat instead: trigger the same collision again → "Seen before." + voice +
learned_from edge. Don't promise silence on stage.
2 · Do NOT redeploy prod
The live build has demo code not on main (e.g. userPodContext);
redeploying would remove it and surface stale "SUPPRESSED" beats. If the auto-deploy timer is on,
stop it: systemctl stop podman-hermes-sync-deploy.timer.
3 · Never debug on stage
Narrate, fall back to the backup recording, keep moving.
If it breaks — live recovery
Failure
Recovery
Voice doesn't fire
Cut to the card, say the line aloud — cards are the default path. (Click "Enable audio" in-room first!)
Collision won't trigger
Use the backup recording for that beat; keep narrating.
Graph looks empty / odd
Reload once; if still off, narrate from the recording.
Agent silent
Suspect a duplicate podman-hermes process, not the UI — but don't fix on stage.
Pre-flight checklist
curl https://podman.live/health → {"ok":true}
Deploy timer stopped; exactly one agent — systemctl status podman-platform-agent
Browser on the pod; click "Enable audio" (TTS needs it)