Test notifications kept away from real customers
Making sure any notification sent while we're testing the app never reaches a real customer โ the test app and the live app stay fully separate.
A plain-language record of the improvements we make to the app, website, and staff tools โ so the whole team and leadership can follow along.
Since June we've shipped 600+ improvements across the app, website, staff tools and stock systems. The updates below are the highlights โ the ones you'd actually notice.
Updated every WednesdayMaking sure any notification sent while we're testing the app never reaches a real customer โ the test app and the live app stay fully separate.
Swapped two ageing parts of the app for maintained versions. No visible change intended โ being checked on real devices before it goes out.
Adding PayU alongside the current card option at checkout, so there's a reliable fallback if one is slow. Being tested on our staging store now.
Rolling out a shared design system so screens across the app look and behave consistently. Being built and checked in stages.
We're rebuilding organicmandya.com on our own faster foundation, page by page, so we depend less on third-party platforms. It's being built and tested privately โ the live site is unchanged for now.
After each update, the Category Availability Dashboard automatically confirms everything it needs is actually live โ so a broken screen gets caught by us, not by you.
After you add money, your recent transactions now refresh on the spot โ no more leaving the screen and coming back to see them.
Removed unused and abandoned code from the app โ including three payment kits we never used โ for a smaller download, fewer security risks and an app that's easier to keep healthy.
The dashboard now charts how availability is moving over time against the previous period and the 90% goal โ not just today's snapshot.
Admins can now add and change who can see the dashboard from a simple screen, instead of someone running a script behind the scenes.
Availability can now be rolled up by parent category and opened up level by level, so you can go from the big picture to a single SKU.
Fixed a case where a sign-in detail could linger after logout โ logging out now clears it completely, so the next person on the phone starts fresh.
Rebuilt the Co-Op join screen to the approved design, with a clear add-to-cart step and confirmation, so joining is smoother and easier to follow.
You can now sort and filter within a category in the app, making it quicker to find what you want.
App updates now go out gradually to a small share of users first, so if anything's off we can catch it before it reaches everyone.
Key store and leadership dashboards now update every 15 minutes instead of every couple of hours, so the numbers you're looking at are fresher.
On a product page, an item that simply isn't delivered to your area no longer looks the same as one that's out of stock โ clearer for shoppers outside our delivery zones.
The Ticket Dashboard was only showing an admin the tickets they'd raised themselves. It now shows the whole team's tickets in one place โ the way the shared view was always meant to work.
Cleaned up the app's internal diagnostic logs so things like one-time codes, tokens and account details are never written down โ even on test builds handed to the team.
A read-only audit now reviews the product catalog for mismatches and estimates demand we're losing to stock gaps, per store โ so we can fix the biggest ones first.
Staff can now attach PDFs, Word, Excel and CSV files โ not just images โ when raising an internal support request.
The team can now try app changes on real phones โ using a test store and test payments โ before a single customer sees them. It installs alongside the real app, so nothing is put at risk.
Cut the time to produce a test build of the app from about 20 minutes to about 12 โ so fixes reach the team's phones sooner.
The app now keeps your sign-in in the phone's secure storage instead of ordinary storage โ a safer place for it to live, and it's properly cleared when you log out.
Added a check that refuses any configuration the app receives if it's been altered or corrupted โ a guard against someone slipping in bad settings.
Removed an unused mapping library that was adding about 254 KB to every page โ so the site loads a little faster for everyone.
Store and category teams can now see product availability across all stores in one place, weighted by revenue, at category.organicmandya.club. Top-75 availability is tracking at ~94%.
Turned off plain, unencrypted connections app-wide, so everything the app sends and receives now travels over a secure channel.
The Co-Op membership buttons on the site now add to your cart and confirm with a small message, then return you where you were.
The new availability dashboard uses your existing Microsoft work login, and shows each person only what their role should see.
One click downloads the store/SKU availability table as a spreadsheet, so category owners can work the gaps offline.
The website's top bar now rotates through up to three announcements and shows properly on phones, without the layout jumping.
Corrected the stock sync between our systems so in-stock products stop being hidden from customers. Restored availability on hundreds of products.
A new metric tracks orders refunded because an item wasn't actually available โ turning "we lost some sales" into a number we can act on.
The monthly top-selling-products list now shows a clear warning (and skips its email) if it hasn't refreshed, instead of quietly serving stale data.
Visitors to organicmandya.com/pages/app are now sent to the right app store automatically โ Android or iPhone โ in one tap.
Checkout now checks live stock for the customer's own area before taking the order, so we don't sell something the nearby store can't actually fulfil.
Tidied up product cards โ no more "-0%" badges on full-price items, and consistent image framing across the grid and carousels.
A new admin dashboard shows every issue raised across the business with its current status, so nothing slips through the cracks.
Fixed a set of cases where orders were being sent to the wrong store, and pinned down one canonical store list so it stays right.
The Store Dashboard now announces each new order aloud, so staff don't miss one during a busy rush.
Multi-item combos were wrongly showing "sold out" even when every part was in stock. Their availability is now worked out from their components, so bundles you can actually fulfil show as available.
The system that decides whether a product shows in stock now reconciles against our live inventory every hour and fills any gaps automatically โ so "sold out" reflects reality instead of a stale value.
When you report an issue you now get a tracking number, and the form shows its current status and who's on it โ so you can see it's being handled.
The staff tools now remember the data you last loaded, so returning to a dashboard shows immediately while fresh numbers load in the background.
A new admin page watches the behind-the-scenes jobs that keep data flowing and flags any that stop โ so a silent failure gets caught early, not days later.
Added a safeguard that spots when a dashboard's data hasn't refreshed and warns us โ so nobody makes a call on yesterday's figure thinking it's today's.
Moved the heaviest sales dashboards onto a quicker data path, so they open in a couple of seconds instead of the long wait they used to have.
A built-in "Report an Issue" form lets any staff member log a problem โ with where it happened and a screenshot or video โ straight to the team, no email needed.
Through June and July we put the groundwork in place behind the scenes: one secure home for every password and key, automatic checks on every change before it can go out, and safe one-click deployments with a quick way to roll back. None of it shows up on a screen, but it's what lets everything below ship quickly without breaking what's already live.