<?xml version="1.0" encoding="UTF-8"?>
<event name="DevFlow Conf 2027" slug="democonf-2026" timezone="America/Los_Angeles" startDate="2027-05-12T15:30:00.000Z" endDate="2027-05-15T01:00:00.000Z">
  <sessions>
    <session id="cmsky602w008vn7pksa7j1xc1">
      <title>Shipping Agents That Don't Melt Down at 3 A.M.</title>
      <description>A field report on running long-lived agents in production: timeouts, retries, poison inputs, and the runbook that finally made the pager quiet.

We started with one agent that could file a support ticket and ended up with a fleet of them touching billing, inventory and customer email. Everything that broke, broke at night — a tool call that hung for nineteen minutes, a retry loop that re-sent the same refund four times, and a prompt change that quietly doubled token spend on the busiest queue of the week.

This keynote walks through the three incidents that reshaped our architecture and the guardrails we shipped after each one: hard per-step deadlines, idempotency keys on every side effect, a spend ceiling enforced outside the model, and a replay view that lets an on-call engineer see exactly what the agent believed at the moment it went wrong.

You will leave with the runbook we now hand to every team before their agent gets production credentials, the four dashboards we page on, and an honest account of which safeguards were worth the engineering time and which ones we deleted six weeks later.</description>
      <startTime>2027-05-12T16:00:00.000Z</startTime>
      <endTime>2027-05-12T16:45:00.000Z</endTime>
      <room>Golden Gate Ballroom</room>
      <format>Keynote</format>
      <level>Advanced</level>
      <tracks><track color="#f59e0b">Agents &amp; Tooling</track><track color="#10b981">Infrastructure &amp; Scale</track></tracks>
      <speakers>
        <speaker role="speaker"><name>Samuel Adeyemi</name><jobTitle>CTO</jobTitle><company>Pathfinder Robotics</company></speaker>
      </speakers>
    </session>
    <session id="cmsky60b0008xn7pkyfowpm74">
      <title>Evals as a Product Surface: Making Quality Legible</title>
      <description>Evaluations are usually treated as an internal chore. We shipped ours to customers instead, and it changed how the whole team argued about quality.</description>
      <startTime>2027-05-12T17:15:00.000Z</startTime>
      <endTime>2027-05-12T17:40:00.000Z</endTime>
      <room>Mission Hall</room>
      <format>Talk</format>
      <level>Intermediate</level>
      <tracks><track color="#6366f1">AI Engineering</track></tracks>
      <speakers>
        <speaker role="speaker"><name>Diego Ferreira</name><jobTitle>Staff ML Engineer</jobTitle><company>Cartograph AI</company></speaker>
      </speakers>
    </session>
    <session id="cmsky60gs008zn7pkj7lapja9">
      <title>The RAG Is Dead, Long Live Retrieval</title>
      <description>Three years of retrieval architectures, what survived, what did not, and why the boring parts (chunking, freshness, permissions) still decide the outcome.</description>
      <startTime>2027-05-12T18:00:00.000Z</startTime>
      <endTime>2027-05-12T18:25:00.000Z</endTime>
      <room>Presidio Room</room>
      <format>Talk</format>
      <level>Intermediate</level>
      <tracks><track color="#6366f1">AI Engineering</track></tracks>
      <speakers>
        <speaker role="speaker"><name>Amara Okonkwo</name><jobTitle>Second Base</jobTitle><company>Northwind Labs</company></speaker>
      </speakers>
    </session>
    <session id="cmsky6210009in7pk1kjy1fi0">
      <title>Sponsor Showcase: Kestrel Compute</title>
      <description>A twenty-minute look at how Kestrel Compute schedules mixed CPU/GPU workloads, presented by our platinum sponsor.</description>
      <startTime>2027-05-12T19:30:00.000Z</startTime>
      <endTime>2027-05-12T19:55:00.000Z</endTime>
      <room>Golden Gate Ballroom</room>
      <format>Talk</format>
      <level/>
      <tracks><track color="#10b981">Infrastructure &amp; Scale</track></tracks>
      <speakers>
        <speaker role="speaker"><name>Jonas Weber</name><jobTitle>Infrastructure Lead</jobTitle><company>Kestrel Compute</company></speaker>
      </speakers>
    </session>
    <session id="cmsky60ok0091n7pklyeqd975">
      <title>Cutting Inference Costs 70% Without Touching the Model</title>
      <description>Caching, batching, routing and quantisation, measured end to end on a real workload. Includes the changes that looked clever and made things worse.

Our inference bill grew faster than our traffic for two quarters straight, and the obvious answers — a smaller model, a cheaper provider — were off the table for quality reasons. So we went looking for the money everywhere else: in the cache we were not reusing, in the requests we were sending one at a time, and in the long tail of prompts nobody had read since launch.

In this hands-on session we rebuild that programme from scratch against a live workload. You will add a prompt cache and measure the real hit rate rather than the hoped-for one, batch a stream of requests and watch the latency percentiles you just traded away, route by difficulty so the expensive path only handles the requests that need it, and trim context that has been dead weight since the second sprint.

We finish with the cost model we now review monthly — cost per resolved request rather than cost per token — plus the two optimisations we rolled back and the graphs that told us to. Bring a laptop; every exercise ships with a workload you can run locally.</description>
      <startTime>2027-05-12T20:30:00.000Z</startTime>
      <endTime>2027-05-12T22:00:00.000Z</endTime>
      <room>Workshop Loft</room>
      <format>Workshop</format>
      <level>Advanced</level>
      <tracks><track color="#10b981">Infrastructure &amp; Scale</track></tracks>
      <speakers>
        <speaker role="speaker"><name>Jonas Weber</name><jobTitle>Infrastructure Lead</jobTitle><company>Kestrel Compute</company></speaker>
        <speaker role="speaker"><name>Priya Ramanathan</name><jobTitle>Head of Platform</jobTitle><company>Lumen Systems</company></speaker>
      </speakers>
    </session>
    <session id="cmsky60ue0094n7pkmu47qo1q">
      <title>Structured Output Is a Distributed Systems Problem</title>
      <description>Schema drift, partial responses and retries: why validating model output belongs in the same mental model as any other unreliable network call.</description>
      <startTime>2027-05-13T16:30:00.000Z</startTime>
      <endTime>2027-05-13T16:55:00.000Z</endTime>
      <room>Golden Gate Ballroom</room>
      <format>Talk</format>
      <level>Advanced</level>
      <tracks><track color="#6366f1">AI Engineering</track><track color="#f59e0b">Agents &amp; Tooling</track></tracks>
      <speakers>
        <speaker role="speaker"><name>Mei-Lin Chao</name><jobTitle>Founding Engineer</jobTitle><company>Tessellate</company></speaker>
      </speakers>
    </session>
    <session id="cmsky61260096n7pkhsi1scsa">
      <title>Building a Tool-Calling Runtime in 300 Lines</title>
      <description>Live-coded from an empty file: a minimal, debuggable tool-calling loop with cancellation, tracing and a sandbox, and what each abstraction buys you.</description>
      <startTime>2027-05-13T18:00:00.000Z</startTime>
      <endTime>2027-05-13T19:30:00.000Z</endTime>
      <room>Embarcadero Studio</room>
      <format>Workshop</format>
      <level>Intermediate</level>
      <tracks><track color="#f59e0b">Agents &amp; Tooling</track></tracks>
      <speakers>
        <speaker role="speaker"><name>Tobias Andersson</name><jobTitle>Developer Advocate</jobTitle><company>Rivergate OSS</company></speaker>
      </speakers>
    </session>
    <session id="cmsky618n0098n7pkih8yxv9z">
      <title>Observability for Nondeterministic Systems</title>
      <description>Traces, spans and sampling when the same input legitimately produces different output. What to log, what to redact, and how to make it searchable.</description>
      <startTime>2027-05-14T17:00:00.000Z</startTime>
      <endTime>2027-05-14T17:25:00.000Z</endTime>
      <room>Mission Hall</room>
      <format>Talk</format>
      <level>Advanced</level>
      <tracks><track color="#10b981">Infrastructure &amp; Scale</track></tracks>
      <speakers>
        <speaker role="speaker"><name>Yuki Tanaka</name><jobTitle>Applied Scientist</jobTitle><company>Orinoco Labs</company></speaker>
      </speakers>
    </session>
  </sessions>
</event>
