During some nice spring weather on the weekend I decided to take an early morning walk to one of the nicer grocery stores in the area. I needed to grab a bag of lemons for “greek food night” in the household, enjoy taking walks, and it helps achieve daily activity targets.
I have several upscale grocery stores within a short walk, and this location is on the wrong corner of an intersection so it usually isn’t my chosen option, but it was my random target that day so off I went.
This grocery store has a thing they do where loads of stuff has better “member pricing” alongside regular pricing, inducing you to leverage their free rewards program. I’ve long been a member — why would I pay $5.99 for the lemons if I can pay $3.99 just by showing a barcode, and it collects points towards rewards — but often the only thing I carry with me is my phone.
I’m not carrying physical cards, keytags, or any other nonsense just to display a barcode. My phone should be sufficient. It isn’t the 1980s.
I re-installed their app to have it at the ready when a barcode was necessary. I remembered having poor experiences with this app before1, but the industry has progressed a lot and there are loads of great frameworks for creating speedy apps even when your development competency and stack is primarily web tech, with tools like Claude Code to accelerate the effort.
And I mean the version number jumped from the 7.1.69 that I last tried all the way up to 800.0.113, so surely amazing progress has been made.
The app is still incredibly bad. It’s an extremely slow webpage wrapped into an app2, decorated with loads of functional failures. And the “display a barcode” functionality is currently broken, so the one thing I was forced to install this app for wasn’t even achieved!
And it currently rocks a 1.3 on the AppStore, 1.5 on Google Play. Read the reviews. This situation has gone on for years.
Bizarre.
This is a ~$1.5B revenue company, and its majority owner is a $7B+ company. Not huge, but big enough that this should be embarrassing.
And who knows. Maybe it’s a single guy responsible for the entire tech stack in addition to stocking the fruits and vegetables section. Maybe they’re working under outrageous requirements. Maybe they’ve had a stuttering rewrite underway for years3. Maybe they have layers of middle-managers all arguing over the colour of the shed, or have a busted corporate culture where everything stratifies as change draws blame.
I have no idea who is to blame here and have no insight into how they have failed so spectacularly, but good god, fix your situation.
On AI
And this is where I’m going to say that tools like AI coding assistants can make the largest impact. Where it can be a game changer for low-hanging fruit like this. It is an equalizer that allows small or dubious-competency teams to compete with the bigs and deliver polished, top-tier apps for relatively simple domains like this.
There is no reason why their app should be so bad in 2026. None.
Point Claude Code at your website and iterate over creating the framework for a fresh new React Native or other cross-target option app. Hook it into your APIs. Boom, a one-week project for a single person and you’ve got a foundation that can generate full desktop web apps, mobile web apps, SPAs, and even fully native mobile experiences.
There are a lot of places where the AI coding tools fail to move the meter on the progress or capabilities of a team, but it was absolutely made for this, and I say this with growing experience demonstrating exactly this pattern.
Wrapping a webpage in WebView was always stupid. Doing it in 2026 is just incompetence.
Footnotes
-
Their release notes solicit user feedback, so I constructively emailed them feedback in December of 2024. Their app is not only still as bad, it might actually be worse. ↩
-
Like literally the webpage in a WebView4, now made worse because things like the password manager no longer integrate properly and various web affordances are no longer available. This isn’t even ostensibly allowed by appstore rules, but loads of apps ply this worthless pattern. ↩
-
I link to that quarter-century old JoS piece for historical record. He was absolutely right at the time, given the tooling, libraries and constraints of the time. Today a total rewrite is often the best path for many projects that are languishing under the weight of obsolete code and technologies, and progress we’ve made in tooling has completely upended the calculation. ↩
-
Why does their site even advertise the platform apps? Just tell the user that you have a mobile-capable website and call it a day, and skip the fake-app farce. ↩