{"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":[{"id":"cmsky602w008vn7pksa7j1xc1","title":"Shipping Agents That Don't Melt Down at 3 A.M.","description":"A field report on running long-lived agents in production: timeouts, retries, poison inputs, and the runbook that finally made the pager quiet.\n\nWe 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.\n\nThis 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.\n\nYou 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.","startTime":"2027-05-12T16:00:00.000Z","endTime":"2027-05-12T16:45:00.000Z","room":"Golden Gate Ballroom","tracks":[{"name":"Agents & Tooling","color":"#f59e0b"},{"name":"Infrastructure & Scale","color":"#10b981"}],"format":"Keynote","level":"Advanced","tags":["LLMs","DevEx"],"speakers":[{"displayName":"Samuel Adeyemi","firstName":"Samuel","lastName":"Adeyemi","jobTitle":"CTO","company":"Pathfinder Robotics","headshotUrl":"https://api.dicebear.com/9.x/notionists/svg?seed=Samuel-Adeyemi","bio":"Samuel leads engineering at Pathfinder Robotics, where models plan and humans still hold the stop button.","role":"speaker"}]},{"id":"cmsky60b0008xn7pkyfowpm74","title":"Evals as a Product Surface: Making Quality Legible","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.","startTime":"2027-05-12T17:15:00.000Z","endTime":"2027-05-12T17:40:00.000Z","room":"Mission Hall","tracks":[{"name":"AI Engineering","color":"#6366f1"}],"format":"Talk","level":"Intermediate","tags":["Evals"],"speakers":[{"displayName":"Diego Ferreira","firstName":"Diego","lastName":"Ferreira","jobTitle":"Staff ML Engineer","company":"Cartograph AI","headshotUrl":"https://api.dicebear.com/9.x/notionists/svg?seed=Diego-Ferreira","bio":"Diego works on evaluation tooling and spends most of his week arguing that a benchmark you cannot reproduce is a rumour.","role":"speaker"}]},{"id":"cmsky60gs008zn7pkj7lapja9","title":"The RAG Is Dead, Long Live Retrieval","description":"Three years of retrieval architectures, what survived, what did not, and why the boring parts (chunking, freshness, permissions) still decide the outcome.","startTime":"2027-05-12T18:00:00.000Z","endTime":"2027-05-12T18:25:00.000Z","room":"Presidio Room","tracks":[{"name":"AI Engineering","color":"#6366f1"}],"format":"Talk","level":"Intermediate","tags":["LLMs","Retrieval"],"speakers":[{"displayName":"Amara Okonkwo","firstName":"Amara","lastName":"Okonkwo","jobTitle":"Second Base","company":"Northwind Labs","headshotUrl":"https://api.dicebear.com/9.x/notionists/svg?seed=Amara-Okonkwo","bio":"Amara builds retrieval systems that survive contact with real users. She has spent eight years on search infrastructure and now leads the applied AI group at Northwind Labs.","role":"speaker"}]},{"id":"cmsky6210009in7pk1kjy1fi0","title":"Sponsor Showcase: Kestrel Compute","description":"A twenty-minute look at how Kestrel Compute schedules mixed CPU/GPU workloads, presented by our platinum sponsor.","startTime":"2027-05-12T19:30:00.000Z","endTime":"2027-05-12T19:55:00.000Z","room":"Golden Gate Ballroom","tracks":[{"name":"Infrastructure & Scale","color":"#10b981"}],"format":"Talk","level":null,"tags":[],"speakers":[{"displayName":"Jonas Weber","firstName":"Jonas","lastName":"Weber","jobTitle":"Infrastructure Lead","company":"Kestrel Compute","headshotUrl":"https://api.dicebear.com/9.x/notionists/svg?seed=Jonas-Weber","bio":"Jonas has been on call for GPU fleets since before it was fashionable. He writes about scheduling, spot capacity and the true cost of a token.","role":"speaker"}]},{"id":"cmsky60ok0091n7pklyeqd975","title":"Cutting Inference Costs 70% Without Touching the Model","description":"Caching, batching, routing and quantisation, measured end to end on a real workload. Includes the changes that looked clever and made things worse.\n\nOur 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.\n\nIn 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.\n\nWe 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.","startTime":"2027-05-12T20:30:00.000Z","endTime":"2027-05-12T22:00:00.000Z","room":"Workshop Loft","tracks":[{"name":"Infrastructure & Scale","color":"#10b981"}],"format":"Workshop","level":"Advanced","tags":["DevEx"],"speakers":[{"displayName":"Jonas Weber","firstName":"Jonas","lastName":"Weber","jobTitle":"Infrastructure Lead","company":"Kestrel Compute","headshotUrl":"https://api.dicebear.com/9.x/notionists/svg?seed=Jonas-Weber","bio":"Jonas has been on call for GPU fleets since before it was fashionable. He writes about scheduling, spot capacity and the true cost of a token.","role":"speaker"},{"displayName":"Priya Ramanathan","firstName":"Priya","lastName":"Ramanathan","jobTitle":"Head of Platform","company":"Lumen Systems","headshotUrl":"https://api.dicebear.com/9.x/notionists/svg?seed=Priya-Ramanathan","bio":"Priya runs the platform team at Lumen Systems, where she is responsible for the inference tier that everything else quietly depends on.","role":"speaker"}]},{"id":"cmsky60ue0094n7pkmu47qo1q","title":"Structured Output Is a Distributed Systems Problem","description":"Schema drift, partial responses and retries: why validating model output belongs in the same mental model as any other unreliable network call.","startTime":"2027-05-13T16:30:00.000Z","endTime":"2027-05-13T16:55:00.000Z","room":"Golden Gate Ballroom","tracks":[{"name":"AI Engineering","color":"#6366f1"},{"name":"Agents & Tooling","color":"#f59e0b"}],"format":"Talk","level":"Advanced","tags":["LLMs"],"speakers":[{"displayName":"Mei-Lin Chao","firstName":"Mei-Lin","lastName":"Chao","jobTitle":"Founding Engineer","company":"Tessellate","headshotUrl":"https://api.dicebear.com/9.x/notionists/svg?seed=Mei-Lin-Chao","bio":"Mei-Lin is a founding engineer at Tessellate, building structured-output tooling for teams who need model responses to be parseable on the first try.","role":"speaker"}]},{"id":"cmsky61260096n7pkhsi1scsa","title":"Building a Tool-Calling Runtime in 300 Lines","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.","startTime":"2027-05-13T18:00:00.000Z","endTime":"2027-05-13T19:30:00.000Z","room":"Embarcadero Studio","tracks":[{"name":"Agents & Tooling","color":"#f59e0b"}],"format":"Workshop","level":"Intermediate","tags":["Open Source","DevEx"],"speakers":[{"displayName":"Tobias Andersson","firstName":"Tobias","lastName":"Andersson","jobTitle":"Developer Advocate","company":"Rivergate OSS","headshotUrl":"https://api.dicebear.com/9.x/notionists/svg?seed=Tobias-Andersson","bio":"Tobias maintains three open-source agent libraries and one very long changelog. He cares about docs more than demos.","role":"speaker"}]},{"id":"cmsky618n0098n7pkih8yxv9z","title":"Observability for Nondeterministic Systems","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.","startTime":"2027-05-14T17:00:00.000Z","endTime":"2027-05-14T17:25:00.000Z","room":"Mission Hall","tracks":[{"name":"Infrastructure & Scale","color":"#10b981"}],"format":"Talk","level":"Advanced","tags":["DevEx"],"speakers":[{"displayName":"Yuki Tanaka","firstName":"Yuki","lastName":"Tanaka","jobTitle":"Applied Scientist","company":"Orinoco Labs","headshotUrl":"https://api.dicebear.com/9.x/notionists/svg?seed=Yuki-Tanaka","bio":"Yuki bridges research and product, mostly by writing the harness nobody else wants to write.","role":"speaker"}]}]}