For everyone who checks dates on the shop floor, and for managers setting the app up.
FreshFirst tells you which products are close to their date, so nothing quietly goes out of date on the shelf.
Instead of walking the aisle and checking every single pack, the app gives you a short list of just the products that need looking at today, one at a time. You tell it what you found, and it works out when to ask you again.
Everything you record is saved against your name, so a manager can see what was checked and when. That's for keeping track of the work — not for catching anyone out.
If it says your number isn't on the list, or that your name and number don't match, check with your manager — they can add you or fix your details in seconds.
The home screen shows your departments as tiles. A tile tells you how many products need checking:
Tap a department and you'll see its shelves (Milk, Yoghurt, Cheese and so on), so you can do one fridge or bay at a time. Tap a shelf to start.
You get one product at a time, with its photo, where it lives, the date currently on the shelf, and a suggestion — for example "Reduce 40% → $4.89 $2.90". Go and look at the actual stock on the shelf, then answer with one of the four buttons.
| Button | Use it when | What happens |
|---|---|---|
| ✓ Sold | That batch has gone. There's newer stock behind it. | Asks you for the next date on the shelf. |
| 🏷️ Reduced | You've put a discount sticker on it. | Records the discount. It stays on the list until it sells or is pulled. |
| 🗑️ Binned | It's past its date and you've pulled it off the shelf. | Asks how many, then the next date. Records the cost. |
| ▢ Empty | There's none of it on the shelf at all. | Asks you again tomorrow. |
The phone gives a short buzz each time an action lands, so you know it registered without having to look twice.
Skip for now moves past a product without recording anything — use it if you can't get to that bay right now. It'll still be on the list.
Under the date you may see "Last checked 2 days ago by Tom" — handy for knowing whether a colleague has already been round.
When the shelf is done you'll get a 🎉 screen with a Next: … button that takes you straight to the next shelf needing work, so you can walk the department without going back to the menu each time.
The home screen shows a progress bar for the day — how many you've checked and how many are left — and turns into 🎉 All done for today when the store is clear.
At the top of the home screen there's a Check in advance slider. Normally it sits on Normal and the usual rules apply — chilled stock is reduced 2 days before its date.
Before a public holiday or long weekend, slide it forward. At +3 everything is flagged and reduced three days sooner than usual, so chilled stock comes up 5 days before its date instead of 2. That gives you time to move it before the closed days.
After Sold or Binned, the app shows a calendar. Read the date off the front pack that's now at the front of the shelf, and tap that day.
When new products are loaded in, they often arrive without a date. Those show at the top of the home screen as "📅 3 products need a date".
Tap it and you'll be walked through them. These cards have just two buttons: 📅 Enter shelf date (read it off the pack) or ▢ None on shelf if there's none out yet. They keep coming back until they've got a date.
Tapped the wrong button? Straight after any action a blue ↩︎ Undo button appears under the four buttons, naming what you did and to which product. Tap it and the product goes back exactly as it was, and the record is removed.
It only covers the last action, so use it before moving on.
If you've already moved on, don't worry — tell your manager. They can fix any product's date from Products & dates.
A CSV with a header row. SKU and Product Name are the only required columns — everything else is optional and can be matched by hand if the names don't line up.
| Column | Notes |
|---|---|
| SKU / Barcode | Required. A real barcode also fetches a product photo automatically. |
| Product Name | Required. |
| Department | Chilled, Deli, Bakery, Produce, Meat, Grocery — or your own. |
| Shelf | Milk, Yoghurt, Bread… A shelf that doesn't exist yet is created. |
| Retail Price / Unit Cost | Price drives the sticker; cost drives the waste figures. |
| Expiry Date | Optional. dd/mm/yyyy or yyyy-mm-dd. Left blank, staff are asked for it. |