Learning by Building, Part 2: Caltrain Bot, SQL with LLMs, and DSPy

In the previous post , I described what I learned about setting up a Python project and how I plan to set up all my Python projects, including Caltrain, going forward using uv , ruff , and ty . In this second post, I’d like to focus on data and prompting: what I learned while trying to preprocess the Caltrain schedule into a format suitable for SQL queries, and how I learned to "program" LLMs…