
Giona Granchelli
Typed AI Boundaries: A Kotlin Approach to Production AI Systems
What happens after the demo phase — why common AI integration patterns erode architecture, and how Kotlin's type system offers stronger primitives for production AI systems.
Over the last year, I experimented heavily with AI integrations in backend systems.
At first, everything felt magical: prompt chains, agents, autonomous workflows, dynamic orchestration.
But the deeper the integrations became, the more uncomfortable the architecture started feeling.
- Prompts scattered across the codebase
- Provider-specific behavior leaking into business logic
- Hidden retries and orchestration loops
- Runtime parsing failures buried inside abstraction layers
- Observability becoming increasingly opaque
At some point I realized: the application was no longer using AI — the application itself was slowly becoming an AI framework.
As backend engineers, we already spent decades learning painful lessons about implicit behavior, unclear boundaries, operational opacity, distributed system complexity, and framework overreach. Yet many modern AI integrations are reintroducing those exact same problems.
In this talk, I will explore:
- Why many current AI integration patterns become difficult to maintain at scale
- How orchestration-first abstractions can slowly consume application architecture
- Why explicit contracts and typed boundaries matter for operational trust
- The tradeoffs between flexibility and maintainability in AI systems
- How Kotlin’s type system and language features provide unusually strong primitives for AI integrations
Using real examples from building TramAI — a Kotlin-first JVM library for explicit AI integrations — I will show an alternative approach centered around typed AI service interfaces, structured outputs, observability-first design, explicit provider routing, and modular integration patterns.
This is not a “build a chatbot” talk. It is a talk about what happens after the demo phase: when AI systems become production systems.
Giona Granchelli is a Chapter Lead at ABN Amro and a Lead Software Engineer working on large-scale backend and distributed systems across enterprise and product environments.
His work focuses on software architecture, observability, platform engineering, Kotlin/JVM ecosystems, and the operational challenges of modern distributed applications. Over the last years, he has been exploring the intersection between AI systems and backend engineering, with a particular interest in how AI integrations impact maintainability, operational trust, debugging, and architectural clarity inside production systems.
He is the creator of TramAI, a Kotlin-first JVM library exploring explicit and observable AI integration patterns for backend applications. Giona is passionate about engineering simplicity, architectural boundaries, developer experience, and building systems that remain understandable long after the demo phase is over.
