Choice Hotels upgraded 500 services directly from Java 8 to Java 21 using Moderne recipes.
Choice Hotels moved more than 500 services from Java 8 to Java 21 in one migration with Moderne, and now opens 200 remediation pull requests in an hour. Now, Choice Hotels is using Moderne Prethink to give AI agents precomputed context about its codebase.
- Hospitality
- Industry
- Java, Spring Boot, GitLab
- Primary stack
Choice Hotels brought more than 500 services to Java 21 without slowing product work.
Choice Hotels is expanding Moderne to more teams and more recipes as adoption grows.
- Upgrading a tenth of the estate by one Java version used to take as long as the entire Java 8 to Java 21 migration did.
- Roughly 80 percent of the migration was automated.
- Recipe changes match each team’s existing formatting, so developers merge them with confidence.
- Java 21 gave the estate language and runtime features it had been locked out of on Java 8.
Moderne helps keep our codebases cleaner, safer, and easier to evolve. It is a major unlock for teams that want to spend more time shipping and less time maintaining.
Recipes took Choice Hotels from Java 8 to Java 21 without stopping at 11 or 17.
The usual path from Java 8 to Java 21 is three separate migrations, through Java 11 and then Java 17, each tested and rolled out on its own. The team built the upgrade as a single multi-step recipe sequence instead, and ran it across the estate.
Developers stopped spending time working out upgrade paths and untangling version drift.
Moderne is built into Choice Hotels’ delivery pipeline, so Spring Boot upgrades and vulnerability fixes now run the same way the Java migration did. The team built its own interface on top of Moderne for mass ingest and worker logs, to fit the platform into the workflow it already had.
Our developers now spend less time worrying about legacy code and more time focusing on value-driven work.
Remediation at Choice Hotels went from an all-hands scramble to a controlled process.
Choice Hotels runs more than 7,000 properties on a cloud architecture of hundreds of microservices, built on Java, Spring Boot and GitLab and maintained by more than 500 engineers across 25 million lines of code. Each service carried its own dependencies and versions, so every fix had to be worked out again in every repository.
When Log4j landed, finding and fixing every affected service took six weeks of all-hands effort and pulled developers into codebases they didn’t know. Jason Simpson, the company’s VP of Engineering, estimated that Moderne could have done the same refactoring “in an afternoon.”
Moderne has enabled us to adopt secure development practices that scale with our architecture.
Choice Hotels is moving to an AI-first lifecycle and deploying Prethink across its estate.
Choice Hotels is piloting an agent-driven pipeline that writes stories into Jira and produces the code and tests for them. The goal is for deploys to reach production automatically, with people reviewing business logic.
Narrowing review to business logic only works if the scaffolding underneath is correct without anyone reading it. A recipe makes the same change the same way in every repository, so that class of change can be checked in bulk instead of line by line.
Agents also need to understand a codebase before they act on it, and rebuilding that understanding every session is a recurring cost. Moderne Prethink builds that understanding once, ahead of time. It runs recipes over the codebase and writes what an agent needs to know, including dependencies, architecture, code quality and test gaps, into the repository itself, so the context is already there when an agent opens it. Generating it doesn’t use a model, so it costs zero tokens.
Related resources
See deterministic, estate-wide code change on your own repositories.