The current wave of AI tooling pushes teams toward bigger agents, bigger context windows, and bigger monthly bills. The opposite constraint produces a more honest design. This case study walks through one small project built on free model tokens and a free server: a release-notes bot that turns raw git history into user-facing notes, end to end, from background to lessons learned.
Background
The project started with a familiar annoyance. A library shipped weekly, and every release required a human to read forty or fifty commit messages and translate them into something a user could understand. The messages were technical, inconsistent, and occasionally embarrassing. Automating the translation with an LLM was the obvious fix, but the budget was exactly zero: no paid API credits, no paid server, no tolerance for a recurring bill.
Goal
The goal had three parts. Generate concise, user-facing release notes from the git history between two tags. Run unattended on a schedule. Cost nothing. A fourth constraint appeared during design: the job had to keep producing output even when the free model tier failed, because a release process that depends on a rate limit is a release process that breaks on a Tuesday.






