🌊 phoenix Γ— streaming

Ship streaming / event-driven on Phoenix without losing weeks to compliance.

Phoenix is a Elixir natural fit for streaming / event-driven. GreatCTO auto-detects both β€” adds the streaming archetype overlay, wires streaming-specific gates, and runs 83 specialist agents around your existing Phoenix workflow.

What changes when GreatCTO joins your Phoenix project

Detection β†’ overlay β†’ gates β†’ reviewers.

1 Β· DETECT

Stack + archetype

GreatCTO reads your mix.exs and detects phoenix + streaming archetype from signals: imports, file structure, env vars, README hints.

2 Β· OVERLAY

Archetype pack

Attaches the streaming archetype overlay: archetype-specific reviewer + compliance gates. Override if your specifics differ; the defaults are sensible for Phoenix-style projects.

3 Β· GATES

Phoenix-aware reviewers

qa-engineer runs mix test --cover / credo --strict; security-officer audits Ecto query injection + Phoenix CSRF; performance-engineer profiles BEAM scheduler + Ecto pool.

4 Β· MEMORY

Cross-project lessons

Bugs you've hit before in other Phoenix projects (connection-pool exhaustion, ORM N+1 queries, retry storms) β€” the agent's Step 0 includes the prior detection order. MTTR drops 94 % on second occurrence (methodology).

First 10 minutes

Concrete walkthrough.

$ cd my-phoenix-app && npx great-cto init
βœ“ scanning manifests… found manifest
βœ“ stack: phoenix (Elixir)
βœ“ archetype: streaming
βœ“ overlay: applied
βœ“ 83 agents ready

$ /start "add streaming feature"
β–Έ architect drafting ARCH-streaming.md…
β–Έ pm decomposing into beads tasks…
⚐ gate:plan β€” your approval needed

Approve β†’ 3 senior-devs run in parallel worktrees β†’ 5 reviewers fan out in parallel β†’ gate:ship β†’ deploy. One real run walked stage-by-stage: /proof.

What ships

The first feature, Phoenix-idiomatic.

This is the shape of what senior-dev drafts for "streaming feature" β€” auth first, schema validation, and the audit line the streaming reviewer requires before gate:ship opens.

# lib/app_web/controllers/streaming_controller.ex β€” reviewed by 5 agents
defmodule AppWeb.StreamingController do
  use AppWeb, :controller
  plug :require_authenticated_user            # security-officer: auth before handler

  def create(conn, params) do
    with {:ok, attrs} <- validate(params),     # qa-engineer: changeset enforced
         {:ok, result} <- Streaming.handle(attrs, conn.assigns.current_user) do
      AuditLog.record(conn.assigns.current_user.id, "streaming feature", result.confidence) # gate:streaming
      json(conn, result)
    end
  end
end
Where this combo lands

What teams build with Phoenix + the streaming overlay.

1

Event pipelines with exactly-once semantics.

2

CDC (Debezium) flows with schema-registry compat rules.

3

Real-time analytics with p99 latency budgets.

Architecture

Every step of the pipeline, transparent.

No black-box "AI does it all" loop. GreatCTO is a deterministic state machine β€” 8 stages, 22 nodes, 2 human gates. Every node maps to a real agent on GitHub. Inspect the state machine β†’

Install

Phoenix + GreatCTO in one command.

$ npx great-cto init

Free, MIT, runs locally. Built as a Claude Code plugin β€” install with one command.

Related deep-dives

More from the blog

AI

How I designed the SDLC state machine for agentic coding

Eight stages, two human gates, four memory layers. Why this exact shape, and what I tried that didn't work.

AI

First real shipped feature with this stack β€” receipts

One run, one feature, from prompt to merged PR. Time, cost, and gate-by-gate breakdown β€” no marketing math.

AI

How GreatCTO chooses which compliance pack to attach

Regex vs LLM-based archetype detection, the false-positive count, and why I keep rejecting the obvious fix.

AI

Why your agent system fails: missing gates, not missing intelligence

The bottleneck in agentic SDLC isn't model quality β€” it's process governance. Here's the state machine that closes the gap.