We have AI in this app

AI: Simple or Agentic

Every day, the app writes a short AI-generated update on how the standings changed. It runs two ways — Simple, where we hand the model the data, or Agentic, where the model asks for what it needs itself — and on two different models: Claude, hosted by Anthropic, and a self-hosted model running for free on our own hardware, a machine we call "the Spark." You can watch it happen live, too — the prompt sent, any tool calls made, and a timeline of the run.

01Simple vs. Agentic

  • Simple: the app looks up the standings itself and hands the model everything it needs in one message. The model just writes.
  • Agentic: the model gets no data upfront. It's given a short list of questions it's allowed to ask — current standings, today's results, the biggest movers — and decides for itself what it needs before it writes.

For the self-hosted model, that back-and-forth works like this: the Spark checks in with our app on a fast, constant heartbeat asking "anything for me?" Once it has a job and the model needs a lookup, it sends a different kind of request and waits — our app checks whether that's allowed, fetches the real answer, and sends it straight back. The model takes that answer and either asks another question or writes its final commentary.

02Kept safe

  • The self-hosted model never touches our database. It only ever gets answers our app decides to hand it, checked every time.
  • Personal contact information is never sent to any model, ever, in any environment. Only a participant's display name and bracket name — already public on the leaderboard — is visible to a model.
  • Nothing a model writes is trusted as formatting or code. Its output is filtered before anyone sees it.

03Try it yourself

  1. Go to the Daily Commentary page.
  2. Pick Simple or Agentic, and Claude or Spark.
  3. Click Generate.
  4. Turn on "Watch processing" to watch it happen live — the prompt sent, any tool calls made, and a timeline of the whole run.
Claude costs real money per use — every run spends actual Anthropic tokens — so it asks for an access code first. Email derek.blum@ymail.com to get one. The Spark options run on our own hardware, cost nothing, and don't need a code.

04What's next

  • Try a smaller, faster open-weight model to see if speed can improve without a quality tradeoff.
  • A more direct connection between the app and the Spark, skipping the queue in between — planned for later, not built yet.
This page covers the AI generation paths at the level anyone can read. Admins can see the full technical build log at /admin/docs/spark-queue.