~/talk

The little schema that could (...but should it?)

Talkat RubyConf 2026 · 2026-07-14..07-16· [ruby, api-design]
links:none on file
slides:none on file

Uses Rails' schema.rb as the single source of truth to generate model validations (via columns and reflections), auto-create controllers/routes with metaprogramming, convert DB columns to OpenAPI JSON for docs, and emit TypeScript types with openapi-typescript; CI (GitHub Actions) runs diff checks to prevent drift and a tool generator builds callable AI tools from Swagger. Most pieces work and tests pass in the companion repo, but enums, check constraints and some edge cases remain unhandled. schema.rb as source of truth generates OpenAPI and TypeScript

AI-written summary · about

  1. 0:00Introduction
  2. 1:06Schemas in databases
  3. 2:11Model validations from schema
  4. 8:31Why this approach questionable
  5. 8:51Controller boilerplate automation
  6. 13:07OpenAPI docs from schema
  7. 17:58Schema-driven documentation benefits
  8. 19:01OpenAPI to TypeScript types
  9. 22:12CI for schema drift
  10. 23:37Schemas for AI features
  11. 31:46Closing remarks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.