A Python project series, one repo, built during the Learn2Earn AI Engineering Fellowship. Each project links to its README for the full writeup.
Across the first four projects the bugs weren't syntax. They came down to three questions: who owns the state, what type a value actually is, and when something runs. Going forward: type hints on function signatures, checked with pyright, starting in project 5.
Dictionaries, JSON persistence, separating validation from actions, ASSUMES / PROMISES / WILL NOT HANDLE
Calling an LLM API from a CLI, persisting chat history, reading an SDK instead of assuming it
Classes that own their state, serializing objects to JSON, generating PDFs
Recursive backtracking, puzzle uniqueness by counting solutions, redrawing the UI from state

A Python project series, one repo, built during the Learn2Earn AI Engineering Fellowship. Each project links to its README for the full writeup. One continuous monorepo documenting the transition from core data structures and CLI utilities to autonomous LLM agents, document generators, and desktop interfaces — emphasizing what broke, why it broke, and the mental models gained.
Concept:Dictionaries, JSON persistence, separating validation from actions, ASSUMES / PROMISES / WILL NOT HANDLE
Concept:Calling an LLM API from a CLI, persisting chat history, reading an SDK instead of assuming it
Concept:Classes that own their state, serializing objects to JSON, generating PDFs
Concept:Recursive backtracking, puzzle uniqueness by counting solutions, redrawing the UI from state
Across the first four projects the bugs weren't syntax. They came down to three questions: who owns the state, what type a value actually is, and when something runs. Going forward: type hints on function signatures, checked with pyright, starting in project 5.
Now building — Project 5: Invoice API (planned)