The AI Chronicles #1

In this weekly livestream series, Ted M. Young and I build an AI-powered role-playing game using React, Spring Boot, and Nullables. And, of course, plenty of discussion about design, architecture, and effective programming practices.

Watch us live every Monday! For details, see the event page. For more episode recordings, see the episode archive.

In this episode...

Our new stream! We explain the goals of the project—to create an AI-powered role-playing game—then get to work. Our first task is to create a Nullable wrapper for the OpenAI service. The work goes smoothly, and by the end of the episode, we have an OpenAiClient that sends POST requests to the service.


  • About the Project (0:14)
  • What We’re Building (2:03)
  • Outside-In vs. Bottom-Up Design (14:17)
  • Structure of the Code (41:08)
  • Fake It Once You Make It (44:41)
  • Manual POST to OpenAI (47:47)
  • Start the OpenAiClient (1:01:24)
  • Import HttpClient (1:08:32)
  • Back to the OpenAIClient (1:21:19)
    • Sidebar: Configuration vs. Constants (1:23:04)
    • End sidebar (1:24:59)
  • Support HTTP headers (1:27:44)
    • Sidebar: Why Wrappers and Nullables? (1:43:32)
    • End sidebar (1:50:38)
    • Sidebar: Documenting APIs (2:03:50)
    • Sidebar: LLMs and Documentation (2:10:39)
    • End sidebar (2:13:07)
  • Tracking HTTP headers (2:17:02)
  • Finish the OpenAIClient POST (2:27:30)
    • Sidebar: New Hotness Syndrome (2:38:33)
    • Sidebar: TypeScript (2:41:07)
    • End sidebar (2:43:46)
  • Conclusion (2:46:44)

Source code

Visit the episode archive for more.

If you liked this entry, check out my best writing and presentations, and consider subscribing to updates by email or RSS.