Wiring LiveView Uploads to Claude Vision
Boundary-validate uploads in allow_upload before they cost tokens, then wire consume_uploaded_entries into Claude vision and PDF calls from LiveView.
We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect
Writing · Tag
7 posts on Phoenix. Or browse the full writing index →
Boundary-validate uploads in allow_upload before they cost tokens, then wire consume_uploaded_entries into Claude vision and PDF calls from LiveView.
The Iron Law for has_many vs belongs_to, plus when Dataloader, subqueries, or raw SQL are the honest fix, not another preload tutorial.
Elixir/Phoenix mechanics for parallel Claude Code agents: templating PORT per worktree, one Postgres DB per branch, and asset-watcher collisions nobody covers.
Twelve Phoenix LiveView patterns that hold up in production — streams vs assigns, async mounts, PubSub gating, and the failure mode behind each one.
Token-by-token LLM streaming in Phoenix LiveView, no React — the 2026 async APIs, plus the production failure modes most tutorials skip.
An MCP server lets Claude and other agents call your Phoenix app directly. How to ship one with Hermes — auth, transport, and safe tool boundaries.
We started with ten Ruby and Elixir services serving real-time messaging for 450K students across 900+ universities. Two years later we had six, fully Elixir, and on-call alerts had halved. The migration order, the patterns we leaned on, and what I'd do differently today.