I don’t think I’m alone in this frustration, but it crystallized for me recently while trying to do something that should have taken less than two minutes: check in for a flight.
What followed was a cascade of app switching and authentication failures. I started in my favorite travel app, moved to one airline app, then another because it was a partner flight. When that failed, I tried both airlines through mobile browsers. MFA codes timed out. Sessions expired mid-redirect. One login succeeded but couldn’t retrieve the reservation. Another recognized the booking but couldn’t complete check-in because it originated with a partner carrier. What should have been a simple confirmation and boarding pass download required multiple attempts across five different interfaces.
This wasn’t an outlier. It was simply the most recent example.
Mobile is Essential
Increasingly, mobile applications, especially those in the U.S. market, are struggling to perform their most basic, core functionality. Logging in, completing a transaction, submitting required information or maybe retrieving a ticket. These are not edge cases, but reasons the apps came to exist in the first place.
From a technical standpoint, this isn’t about engineers not doing their jobs, but misplaced priorities around testing and I question if it really should be their job. Somewhere between aggressive release cycles, roadmaps, competitive pressure, and the rush to embed AI into everything, rigorous end-user testing of real-world workflows has slipped down the stack.
This isn’t about QA scripts or simulated happy paths. This is about real usage and on real devices and on unstable networks with expired sessions and MFA timing windows which is how it often is with mobile devices. These are the exact conditions under which actual customers operate every day.
Instead, what many users experience now is what I can only describe as “feature accretion.” AI assistants layered onto dashboards, pop-up prompts appearing mid-navigation, and smart recommendations interrupting data entry. Our mobile apps possess conversational interfaces offering summaries, while execution and authentication complexity are expanded in the name of security, but insufficiently hardened in the name of usability.
The irony is that much of this innovation is well intentioned. AI copilots, predictive systems, and contextual assistance can be powerful when thoughtfully integrated. But too often they feel duct-taped onto existing systems, increasing surface area and fragility without meaningfully improving the primary task.
Layers Upon Layers
Every additional layer introduces complexity: more dependencies, more API calls, more failure states, more integration paths, more latency considerations, more telemetry pipelines, and more security conditions. If the original workflow was not already hardened through extensive real-world testing, each additive feature compounds instability. The system doesn’t just become more capable- it becomes more brittle.
What users experience is not cutting-edge innovation. They experience frozen screens, authentication loops, pop-ups obscuring required fields, forced transitions between app and browser, broken redirects between partner systems, and opaque “something went wrong” messages. The technical sophistication behind the scenes becomes irrelevant the moment the one job the app really needed to complete is the last thing it can perform.
Earlier this week at SQL Konferenz, Grant, Ben, and I presented our session titled “Aren’t We All Tired of AI, Yet?” We explored fatigue around the relentless layering of AI into products, platforms, and workflows. One of the questions I repeatedly ask is this: do we need an AI feature in every product?
That question isn’t anti-AI. I work in AI-driven environments. I advocate for thoughtful governance, smart automation, and meaningful augmentation. But innovation without restraint has a cost. When the addition of AI features compromises core workflow stability, we’ve inverted our priorities. AI, just as with any feature, should be justified, otherwise it wastes innovation time, it provides little to no value and can actually take away value.
Do the Thing, Julie
The most important path in any application is the primary task. In a travel app, that’s booking and check-in. In a banking app, it’s transferring funds. In a database platform, it’s deploying and querying safely. These flows should be nearly unbreakable and everything else is an enhancement. Instead, in many products today, the enhancement layer is robust while the foundational layer is fragile. Roadmaps reward feature velocity, marketing rewards differentiation, investors reward AI narratives, but we forget that users reward reliability.
There is also a deeper cost: erosion of trust. When basic functionality repeatedly fails, users begin to distrust not just the product, but the entire digital ecosystem around it. Each failed MFA attempt, each expired session mid-check-in, each broken partner redirect adds friction that chips away at confidence.
As technologists, we spend enormous energy on architecture, compliance, governance, and AI ethics frameworks. Those matter and I mean they absolutely matter. But none of it carries weight if the user cannot complete the reason they opened the app in the first place.
Before we add another conversational overlay, another predictive engine, another AI assistant panel, we should be asking simpler questions.
- Does the core workflow function flawlessly on a mobile device?
- Have we tested it under real network instability? Have we tested MFA expiration mid-session?
- Have we walked through partner integrations from the user’s perspective, not just the API contract?
And perhaps the most sobering question of all: if we remove the AI layer tomorrow, would the product become more reliable? If the answer is yes, that’s not a signal to abandon AI, but a signal to rebuild the foundation.
Innovation should not outpace usability and the core workflow should be sacred. Make it resilient and make it boringly reliable…Then innovate on top of that stability.
Because in 2026, no one should need five applications and two browsers to check in for a flight.