Celerity
Java → Python backend
Unreleased target
Business impactRemoved vendor lock-in, returned direct product change control, reduced source maintenance surface 55%, and created 4 independently deployable and scalable processes.
Duration4 active weeks. Original Java build took about 21 active weeks. Two more weeks would have avoided overtime.
ComplexityHigh. Two strict mobile contracts, Kafka compatibility, hidden framework behavior, data and storage invariants, and a compressed finish.
The change
Java Quarkus monolith to Python FastAPI API, consumer, renderer, and dispatcher.
The constraint
Live iOS and Android clients defined compatibility, but Python target was unreleased. This was not a live production cutover.
The method
- Extract contracts from mobile clients.
- Verify API, database, and storage behavior against real stack.
- Use 101 client contract assertions and 247 live-stack checks per gate.
AI-assisted?Yes. Claude Code agents did substantial build and verification work; humans defined contracts, gates, and architectural boundaries.
Read Terra Incognita, the detailed migration account →