Ryan Waits

Product Engineer

I live in Austin, TX. Since April 2026 I've been at Texas Sports Academy, building an agent-native course platform. I got there through Gauntlet AI, a three-month engineering fellowship.

From 2023 to 2026 I was at Hiro, building developer tools for Bitcoin infrastructure. Earlier I was Head of Engineering at RabbitHole (2021 to 2022) and Lead Engineer at Sweep (2018 to 2020), where we built conversational products for Anheuser-Busch across MLB and NFL.

I also build and publish open source tools, mostly openpkg and drift, which exist so an agent can read a package's real API instead of guessing at prose.

Work

Any serious app needs data a general-purpose API can't serve, and shouldn't have to. Secondlayer is the layer underneath: decoded chain data in your own database, backfilled from a signed archive, reorg-safe, kept current.

secondlayer.tools: Decoded chain data, in your own database

Deep diveDemo

CRDT storage, live cursors, presence, and undo/redo over WebSockets. The open-source alternative to Liveblocks you can actually run yourself. 10 packages, a live demo, six example apps.

lively.waits.dev: Multiplayer in eight lines

Deep diveDemo

Paste a live Stacks contract and get a real read: on-chain source fetched, value-transfer and access-control surface flagged. The full run fans out five adversarially-verified subagents and reproduces confirmed findings in an isolated, airgapped Clarity VM. No mainnet required. Built on secondlayer.

runsentinel.app: Paste a real Stacks contract. Get a real read.

Deep diveDemo

Hand it a PDF or a link and it builds a spaced-repetition deck that cites its source. The grade comes from code checking your answer, not a model deciding to be nice. FSRS-6 scheduling, a keyless demo, and an agentic Studio that builds the tutor from a chat.

recallit: Learn anything. Actually remember it.

Deep diveDemo

I'm also maintaining:

openpkg-ts, the full public API of any TypeScript package as a typed, machine-readable spec. Extract it, diff it, feed it to agents.

drift, a CI gate that fails the build when the docs stop matching the code. Every stale JSDoc, example, and markdown page flagged with file and line.

Text
Jobs
Texas Sports AcademyCurrentAI EngineerApr 2026 — Present
HiroDeveloper Experience Designer/Engineer2023 — 2026
RabbitHoleHead of Engineering2021 — 2022
SweepLead Engineer2018 — 2020
Sonic Healthcare USASoftware Developer2016 — 2018
Contact

ryan.waits@gmail.comGitHub@ryan_waits