{
  "video": {
    "id": "H7vFrcNWXzs",
    "title": "Building ambitious software — Jonathan Kelley, Dioxus Labs & Cognition",
    "duration": 1154,
    "upload_date": null,
    "channel": "AI Engineer",
    "source": "AI Engineer",
    "event_format": "In person"
  },
  "analysis": {
    "video_id": "H7vFrcNWXzs",
    "title": "Building ambitious software — Jonathan Kelley, Dioxus Labs & Cognition",
    "one_liner": "The creator of Dioxus explains how a three-person Rust team went from AI skeptics to shipping weekly releases with coding agents — and why architecture, code review and quality bars matter more, not less, now that code is cheap.",
    "summary": "Jonathan Kelley traces five years of building Dioxus, a Rust cross-platform app framework where everything from reactivity to font rendering to hot reloading had to be built from scratch, including a browser engine (Blitz) and a native hot-reload engine (Subsecond). In the last six months coding agents got good at Rust, and the team's first attempt — maxing out Claude Code subscriptions and generating tens of thousands of lines — produced code that mostly failed their merge bar and still sits in draft. The talk is the lessons from that reset: agents excel at knowledge problems, mundane release work, fuzz harnesses and doing things the right way instead of the hacky way, but are weak at writing the *right* tests and at architecture. His conclusion: code is now cheap, quality is not, and the bar for software engineering is higher than ever.",
    "key_points": [
      "Dioxus started in 2021 as an undergraduate summer project — a Rust cross-platform app framework using HTML/CSS for markup and React-style reactivity, pitched against a janky React Native and a too-slow Flutter, with no VM, no IPC and no JavaScript. It now has ~37,000 GitHub stars, millions of downloads, and apps with a cumulative estimated 200 million end users (AI assistants, voting software, data science tools, a satellite collision-avoidance system).",
      "Blitz, their HTML/CSS engine, extracts the browser-grade CSS engine out of Firefox, adds their own HTML DOM and a hybrid GPU rendering pipeline: under 5 MB bundle sizes and under 50 MB RAM at runtime, versus Electron's RAM and storage hogging.",
      "Subsecond is a generic hot-reload engine for Rust, C and C++ that watches for edits, recompiles only changed parts and patches the running app in place in ~100 ms — on every major system and on the web via WebAssembly; Kelley claims no one has done this before for native compiled code.",
      "The team's first agent push backfired: they maxed out Claude Code subscriptions and turned out tens of thousands of lines of Rust, but very little cleared their 'should we merge this' bar — thousands of lines of long-wanted features, bug fixes and integrations still sit in draft. They call the failure mode becoming a 'slop cannon'.",
      "Rust's difficulty inverted into an advantage: agents absorb the development burden, handle edge cases and fight the borrow checker, so the learning curve the team spent years reducing 'is now a feature'.",
      "Agents are strongest on knowledge problems — sifting thousands of pages of docs, reading bespoke APIs, digging into binaries, reverse engineering. They shipped deeply build-system-integrated Kotlin and Swift plugins in two to three weeks (implementation done day one, two weeks on test cases and real devices), work comparable to React Native turbo modules that took humans years. For Blitz, agents recall the CSS spec and exactly how Chrome and Safari resolve a layout or painting issue, avoiding a dig through WebKit source.",
      "With only three core engineers, the unglamorous wins matter: verifying a tarball extracts into the right directory structure, release checklists, backporting bug fixes onto stable, testing an editor extension like Zed on patch releases, and keeping doc comments actually matching the code. Result: more patch releases in the latest Dioxus version than ever, at a weekly or multiple-times-weekly cadence they'd previously have been scared to attempt.",
      "Testing is the unresolved area — agents write sloppy tests (hand them a constructor and they test the constructor) and, like humans, 'fail to write the right tests', so the team still enumerates test conditions, crafts test APIs and handles runners manually. The exception is fuzzing: agents are excellent at building test harnesses that throw millions of malformed and adversarial inputs at the software.",
      "Architecture is still an art: agents ship at high velocity onto whatever substrate exists, and unlike humans they'll voluntarily launch a huge refactor or redesign rather than hesitate — 'just like human engineers can write spaghetti code, so can the agents, but now just faster.' Most of the team's development time is now spent on architecture and future feature fit, not writing code."
    ],
    "takeaways": [
      "Keep a hard merge bar and read every line. Dioxus reviews every PR line by line, uses AI review to spot bugs ahead of time, and leaves agent output in draft rather than merging it — because for a framework, the code is the product that users download, read and build businesses on.",
      "Point agents at knowledge problems and tedium first: unfamiliar build systems, OS quirks, bespoke APIs, spec-level questions, release checklists, backports, doc accuracy — the places where patience and breadth beat an individual engineer.",
      "Don't blindly delegate tests. Enumerate the test conditions and design the test APIs yourself, using the agent as a sounding board for edge cases; delegate fuzz and test *harness* construction, which agents do well.",
      "Invest the freed time in architecture and the substrate. If the substrate the agents land code on is bad, their contributions will be bad too — and velocity only compounds on a good foundation.",
      "Treat prompt engineering as real engineering: contributors who communicate intent poorly get glued-in solutions, and implementation quality tracks the prompt. Also reconsider hard-to-write languages like Rust now that agents carry the cognitive burden."
    ],
    "topics": [
      "coding-agents",
      "rust",
      "code-quality",
      "developer-tools",
      "open-source",
      "testing",
      "fuzzing",
      "software-architecture"
    ],
    "tools": [
      "Dioxus",
      "Rust",
      "Blitz",
      "Subsecond",
      "Claude Code",
      "Fable",
      "React",
      "React Native",
      "Flutter",
      "Electron",
      "Firefox",
      "WebKit",
      "Google Chrome",
      "Safari",
      "WebAssembly",
      "Kotlin",
      "Swift",
      "Zed",
      "GitHub",
      "Cognition",
      "Dioxus Labs"
    ],
    "quotes": [
      {
        "text": "we choose to build an app framework from scratch, not because it's easy, but because we thought it would be easy.",
        "at": "01:57",
        "url": "https://www.youtube.com/watch?v=H7vFrcNWXzs&t=117s"
      },
      {
        "text": "We definitely did not know how to properly wield these tools and it was way too easy to become what we call a slop cannon.",
        "at": "06:45",
        "url": "https://www.youtube.com/watch?v=H7vFrcNWXzs&t=405s"
      },
      {
        "text": "The learning curve which we fought to reduce is now a feature.",
        "at": "07:35",
        "url": "https://www.youtube.com/watch?v=H7vFrcNWXzs&t=455s"
      },
      {
        "text": "code is now cheap, but quality is not.",
        "at": "18:12",
        "url": "https://www.youtube.com/watch?v=H7vFrcNWXzs&t=1092s"
      }
    ],
    "words": 3578
  },
  "summary_url": "/#H7vFrcNWXzs",
  "transcript": {
    "html": "/transcripts/H7vFrcNWXzs.html",
    "txt": "/transcripts/H7vFrcNWXzs.txt",
    "vtt": "/transcripts/H7vFrcNWXzs.vtt"
  }
}