Telegram Translation Publisher: ADSM and the guided evolution of an agent-built app

I built a small Node.js CLI that automatically translates my Telegram posts from Russian into English and Spanish via the OpenAI API. The first working version was produced almost entirely by a Codex agent from a single prompt. I only made a few follow-up edits related to my DI container and integration into the chosen architecture.

Most of the work happened before any code was generated. I spent about four hours shaping the architectural baseline using the ADSM methodology: defining invariants, product boundaries, the interaction model with the Telegram API, and stack constraints. With that frame in place, the agent stayed within it and assembled the app in minutes.

By changing the product description in the context, I can get different system behavior without rebuilding the architecture. This makes evolution incremental and controlled: code becomes a consequence of structure that was fixed upfront. This case shows how, on a concrete stack—Node.js, the Telegram API, and the OpenAI API—you can set up an environment where an agent generates an implementation within a defined model.

Project repository
Architecture baseline and context (ctx/docs)