Contract the output
Define the shape the application can accept, validate every response, and fail closed when the model returns something outside it.
Building Reliable AI Features in TypeScript
AI engineering begins after the first successful model call. Build a TypeScript feature with schema-validated output, evaluations, evidence-based model selection, production tracing, and a release gate.
CityJS CityAI Athens · 21–23 October 2026
The workshop follows one TypeScript feature through the controls that make its behavior testable, explainable, and safe to change.
Define the shape the application can accept, validate every response, and fail closed when the model returns something outside it.
Put representative cases, deterministic assertions, and calibrated grading into CI so prompt and model changes have evidence behind them.
Treat retrieval, compaction, memory, cost, and latency as deliberate system-design choices rather than incidental prompt details.
Compare models against the feature's real workload, then route each task by measured quality, cost, and latency.
Record each call so a production failure leads to its trace, its cause, and a new case in the evaluation suite.
Require schema-valid output, green evaluations, acceptable cost, and production tracing before a change ships.
TypeScript engineers building AI features that need to move from plausible demos to dependable product behavior.
The feature is schema-valid, evaluated, inside its cost budget, routed, and traceable. The next prompt or model change must pass the same release gate.