PlayLattice

Inside The Content Engine

From the source shot
to the final reveal.

Local models find the evidence. A coordinated agent crew prepares the story. Deterministic code renders and delivers the content.

System Map

Solid arrows show processing order. Storage and control support every stage.

Current Prototype
SQLite Jobs & review stateLocal Media Sources, clips & reportsWorkflow Store Agent records & costsDashboard Activity, warnings & cancellation

Daily discovery is bounded by source availability, camera evidence, quality gates, and the existing budget; five usable outputs are a target, not a guarantee. The crew’s baseline analysis contract is metadata-only; a successful package does not prove visual verification. Publishing is conditional on policy and provider availability.

A Video’s Lifecycle

What runs where
StepExecutionResult
1. Check & ImportLocal API validates input, probes media, and records the source hash.A game record linked to registered media.
2. AnalyzePlayer and basketball models share a decode loop. Tracking and camera boundaries organize observations.Timestamped tracks, object observations, and analysis reports.
3. Export CandidatesLocal heuristics select moments. FFmpeg renders clips and checks decoding, bounds, duration, and alignment.Source-linked candidate clips. Media QA does not establish a made or missed shot.
4. Coordinate The CrewThe dispatcher builds source-bound evidence and starts Naive specialist sessions.A validated package of clip IDs, captions, reasons, and uncertainty notes.
5. Render The FormatLocal rendering uses the selected clip and quiz or storytelling configuration.A captioned portrait story or a replay with a prediction question and reveal.
6. Publish If EnabledThe publisher checks policy and provenance, saves requests, and reconciles provider receipts.A confirmed post, a pending delivery, or a recorded error.

AgentMail × Naive Outreach

Inbound Customer Requests

AgentMail receives customer messages. Naive’s outreach specialist interprets the request; local code validates the result, renders requested clips, and delivers replies.

Outreach belongs to the CEO’s team but is separate from the five video-analysis specialists. AgentMail credentials stay in the local worker; Naive receives bounded message and catalog data. Email requests do not enable social publishing. Live intake requires a separately authenticated worker and an online app for preview links. Local integration checks and a live metadata-only outreach recommendation have passed. Provider rate limits may delay requests; this check did not send an email or publish a post.

Data & Provenance

Source Identity
Hashes bind jobs, clips, and crew packages to their input footage.
Time Coordinates
Clip boundaries and observations refer to the original source in milliseconds.
Persistent State
SQLite holds analysis and review records. The Naive integration uses a separate workflow store and local journals.
Media Storage
Uploads, model weights, and generated videos stay in ignored local storage rather than Git.

Control & Observability

AgentMail Status
The dashboard shows worker heartbeat, last successful inbox poll, Outreach completion, clip queue, previews, reply delivery, and errors. Completed agent sessions do not imply the inbox worker is healthy.
Live Updates
The film room receives analysis updates. The crew dashboard polls its integration feed for sessions, tools, messages, and handoffs.
Cancellation
Persistent batch controls stop queued work and request cancellation of active work. Completed results and existing posts are retained.
Publishing Policy
Enablement, deadlines, cancellation, and saved request identity govern submission. External delivery errors remain visible.
Warnings
Dismissal hides current banners in the browser; error history remains available.

Two Separate Hosting Surfaces

Static Site + Local App
Project Website

Cloudflare Pages

This page, the product overview, bundled assets, and the quiz illustration are static files in docs/html/.

No Python server, video models, database, or Naive credentials run on Cloudflare Pages. The project website is deployed at playlattice-project.pages.dev.

Working Product

App On The Host Mac

A shared Sites URL forwards requests through a tunnel to the Mac’s gateway. The gateway routes UI requests to Vite and analysis requests to FastAPI.

The app depends on the Mac and its services remaining online.

Local ServicePortResponsibility
Vite5173Live React UI during development.
FastAPI8000Upload, analysis, media, reviews, and production UI build.
Naive Integration8011Workflow feed, session activity, previews, and batch controls.
Sharing Gateway8002A single entry point for the shared app’s requests.

Explore The Implementation

Architecture describes the current prototype. It does not imply recognition accuracy, official basketball statistics, verified athlete identity, or guaranteed social delivery.