Shipping on a fixed deadline with near-total unit test coverage and zero P1 defects is the kind of outcome most mobile teams only see in post-mortems written after things went wrong. Virgin Atlantic got there by putting Codex at the center of its mobile app rebuild.
The full story is on OpenAI's site. The short version: Virgin Atlantic had a hard deadline tied to the holiday travel season. The team used Codex throughout the development process and came out the other side with near-total unit test coverage and no P1 defects in the shipped product.
Those two numbers matter more than they might look at first glance. Near-total unit test coverage is not a vanity metric when you are shipping a travel app. Passengers booking flights, checking in, and managing reservations on a mobile app have zero tolerance for silent failures. A P1 defect in that context means a broken booking flow, a missing boarding pass, or a payment that disappears. Hitting zero of those at launch, on a compressed schedule, is a real engineering result.
What Codex appears to have done here is compress the gap between writing code and validating it. Test generation is often the first thing that gets cut when a deadline approaches. When an agent handles that work in parallel with feature development, the trade-off between speed and coverage stops being a trade-off.
This is also a case study in using a coding agent on a concrete, bounded problem. The mobile app had a defined scope. The deadline was fixed and external. That structure gave the team a clear frame for measuring whether the agent was helping or adding noise. The result suggests it helped.
For product engineers, the practical implication is this: if your team is treating test generation as a phase that happens after feature work, try flipping the loop. Use a coding agent to write tests alongside the code, not after it. Set a coverage target before you start, not as a retrospective goal. Virgin Atlantic's result was not an accident. It came from using the tool inside a disciplined process, not as a shortcut around one.
If you have a hard deadline coming up, that is the right time to run this experiment, not after the launch.