~/talk

Artisanal, machine-generated API libraries

Talkat Strange Loop 2021 · 2021-09-30..10-02· [developer-experience, typescript]
links:none on file
slides:none on file

Stripe replaces eight years of hand‑maintained SDKs by generating libraries in seven programming languages using a TypeScript tool called api code gen that consumes OpenAPI and emits client code changelogs and examples. The team moves from fragile string templates to compiler‑style IRs, tagged unions and overrides to preserve human readability and backwards compatibility. The system handles real scale — one library sees 40 releases since January — and succeeds in shipping readable generated libraries and new typings without sweeping breaking changes.

AI-written summary · about

  1. 0:00Introduction
  2. 1:45Stripes API
  3. 2:55Maintaining libraries manually
  4. 3:52Why we generated our libraries
  5. 6:31Demo
  6. 6:49Gouda
  7. 6:59Template approach
  8. 7:21Template example
  9. 8:03Advantages of templates
  10. 10:06Limitations of templates
  11. 10:42The compiler approach
  12. 11:50Converting a template into a compiler
  13. 13:25Example code
  14. 14:05Sequential logic
  15. 14:56Template string interpolation
  16. 15:20Template types
  17. 15:43Syntax
  18. 16:04Syntax Tree
  19. 17:20What do we gain
  20. 17:55Snapshot testing
  21. 18:35Transformations
  22. 19:03Data
  23. 21:41Case analysis
  24. 23:50Algebraic data types
  25. 24:11Example
  26. 26:01Artisanal
  27. 26:52overrides
  28. 27:33types of overrides
  29. 28:07conclusion
  30. 28:45web backend
  31. 29:34strangeloop
  32. 29:44contact information
~/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.