Field Notes: How I Made Keto Stick
5. Groceries on Autopilot
Impulse shopping torpedoes keto, so I moved everything online:
- Recurring cart: steaks, lamb chops, grass-fed mince, eggs, halloumi, salmon, avocado oil mayo, leafy pre-cut/pre-made salads, frozen cauliflower rice.
- Snacks box: macadamias, pork rinds, parmesan crisps.
- Crunch-only snacks: sea salt Korean seaweed sheets, celery sticks, dry-roasted almonds, walnuts.
- Drinks: soda water (home + pubs) with lime/lemon juice, low-carb kombucha, black coffee, black tea, occasional low-carb beer.
- Dairy staples: unsweetened Greek yoghurt, good cheese, butter for coffee.
- Delivery cadence: whatever frequency fits life that week, the key is staying on online delivery so supermarket impulse buys don’t creep back in.
Simple starter template (my default): I keep a saved keto list in the supermarket app and use online delivery as the default; the exact order frequency matters less than always reordering from that quick list instead of browsing in-store.
- Steaks: about 8 for the week (roughly 200-250g each).
- Pre-made salads: about 8 bowls for the week, mostly leafy/noodle-free options.
- Snack defaults: celery sticks + almonds for a quick low-friction snack.
- Quick add-ons: olive oil, salt, pepper, and a lemon for fast dressing.
- Prep time: ~10-14 minutes for steak + open-and-serve salad.
Ordering online reduced decision fatigue and kept macros consistent.
I run the whole thing through the supermarket chain’s app: build a keto-only weekly list that focuses on proteins that work in the air fryer plus low-carb veg (skip the starchy ones), lock it in for the two delivery slots, and I’m done. I stick to plain cuts, ribeye, lamb chops, chicken wings, so I can control the seasoning and avoid sugary pre-marinades; a quick toss with olive oil, smoked paprika, garlic powder, and salt/pepper right before the air fryer gives me predictable results in 10-14 minutes depending on thickness.
How I keep the cart from drifting
The trap with grocery apps is that they slowly turn back into browsing apps if you let them. Mine only stayed useful once I treated the saved list like a checklist, not a menu. I reorder the same base proteins first, add one or two vegetables I know I will actually cook, then stop. If I start scrolling for inspiration, the app immediately tries to sell me sauces, desserts, bakery items, and "just one" convenience snack. That is the digital version of supermarket drift.
So my rule became simple: build from staples outward. Protein first, salad and vegetables second, emergency snacks third, and novelty items last if they fit. Most weeks the novelty section stays empty. That sounds boring, but boring groceries are exactly what made weeknights easier.
The backup-food rule
The most useful grocery habit was not buying ideal foods. It was buying backup foods. I needed options for the moments when I was tired, busy, or one annoying work problem away from ordering something stupid. If the fridge only contains ingredients for a "proper" dinner, takeaway starts to look reasonable. If it also contains halloumi, boiled eggs, tinned fish, pre-washed salad, and a decent cheese, then I can still assemble an acceptable keto meal in two minutes.
- Fridge backup: boiled eggs, halloumi, cheese, deli meat, pre-washed greens.
- Pantry backup: sardines, tuna, salmon, pork rinds, nuts, seaweed sheets.
- Freezer backup: burger patties, chicken wings, cauliflower rice, frozen broccoli.
That backup layer matters because adherence usually breaks at the point of inconvenience, not at the point of theory. The easier it is to recover from a chaotic day, the less often one messy meal turns into a messy week.
The five-minute reorder loop
What kept this system alive long term was making the weekly shop almost insultingly simple. I did not sit down to design the perfect keto meal plan. I opened the app, checked what was low, and rebuilt the same order in roughly the same sequence every time. Protein first, salad second, backup foods third, done. The faster the process felt, the less likely I was to postpone it and end up improvising with takeaway.
- Check protein inventory: if steak, eggs, fish, or mince were running low, they went in first.
- Add ready-to-use greens: pre-made salads, cucumbers, leafy bags, and a couple of easy veg options.
- Restock emergency foods: halloumi, nuts, seaweed, tinned fish, pork rinds, and cheese.
- Only then look at extras: sauces, drinks, or one optional treat if it actually fit the week.
This order mattered because it prevented the classic fake-efficiency trap where you spend fifteen minutes tweaking condiments and somehow forget the food that makes the plan work. Keto got easier once the cart was built around meal anchors instead of browsing impulses.
How I used saved lists instead of willpower
The underrated trick was not just online delivery. It was the saved list. Once I had a clean keto order that worked, I stopped rebuilding it from memory and turned it into a reusable template. That sounds small, but it removed a surprising amount of decision fatigue. I did not need to remember every staple while hungry or distracted. I just opened the list, ticked the obvious proteins, checked whether I still had nuts, eggs, and salad, and moved on.
That template also made it easier to notice drift. If a week started filling up with low-value extras and fewer meal anchors, I could see it immediately because the saved list had an obvious shape: protein, greens, backup foods, a few practical drinks, done. The more the cart moved away from that shape, the more likely I was to have an annoying week of "there's food in the house but nothing obvious to eat."
- Use one core list: keep the default order short enough that it still feels fast to review.
- Think in meal anchors: steak, eggs, fish, mince, salad kits, frozen veg, and a few reliable snacks do most of the work.
- Separate experiments from staples: if I wanted to try one new sauce or keto product, it went in as an extra, not as part of the backbone.
- Review the misses: if something sat untouched for two weeks, it lost its place on the list.
That last point helped because good intentions are terrible at grocery curation. The foods that deserve permanent slots are the ones that keep rescuing ordinary Tuesdays, not the ones that sounded virtuous when I added them.
What I did when the app was out of stock
One quiet way grocery systems fail is stock substitutions. You build a tidy keto cart, then the store swaps in something weird, removes a protein you were relying on, or leaves you short on the two items that made the week feel easy. If I treated every out-of-stock notice like a crisis, the whole system became annoying fast. So I gave myself fallback categories instead of clinging to exact products.
That meant thinking in roles, not brands. If salmon was unavailable, I just needed another easy protein. If the good pre-made salad was gone, I only needed something leafy and fast. The less precious I was about the exact item, the easier it was to keep the cart keto without turning the shop into a research project.
- Primary proteins: steak, salmon, lamb chops, mince.
- First backups: chicken thighs, burger patties, tinned fish, eggs.
- Greens fallback: pre-made salad first, bagged leaves second, frozen green veg third.
- Crunch fallback: celery, seaweed, almonds, pork rinds.
The useful part was psychological as much as nutritional. An out-of-stock alert stopped feeling like the week was ruined. It just meant swapping one acceptable default for another. That kept the grocery routine stable, which matters more than winning every individual cart perfectly.
How I planned for the nights I could not be bothered
A good grocery system should survive low motivation, not depend on high motivation. So I started buying with my laziest future self in mind. Every order needed at least a couple of dinners that could be cooked half-asleep, with minimal washing up, and without any cleverness. That usually meant one protein for the air fryer, one bagged salad, one sauce or dressing I trusted, and maybe a frozen vegetable I could throw in beside it.
Those low-effort meals were not glamorous, but they were incredibly protective. They closed the gap between "I know what I should eat" and "I am actually willing to make it tonight." Once that gap gets small enough, consistency stops feeling dramatic and starts feeling normal.
The minimum viable first order
If I had to rebuild the whole system from scratch, I would not start with the dream cart. I would start with the smallest order that could carry me through three or four ordinary days without needing motivation. That matters because a lot of people stall out by trying to solve keto with a perfect pantry overhaul. You do not need a lifestyle photoshoot. You need enough protein, enough low-friction sides, and one or two emergency foods that stop a bad evening from turning into takeaway.
The useful question is not "what would an ideal keto kitchen contain?" It is "what would make the next few meals boringly easy?" Once that first small order proves itself, then you can expand it. Starting smaller also makes it much easier to notice which foods actually earn a permanent slot and which ones only sounded sensible while you were shopping.
- Pick two proteins, not seven: for example steak plus eggs, or salmon plus mince, so the first cart stays simple enough to repeat.
- Add one ready side and one freezer side: a pre-made salad plus cauliflower rice or frozen broccoli covers most lazy dinners.
- Choose one emergency snack lane: nuts, halloumi, seaweed, or tinned fish is enough; you do not need a whole keto snack aisle.
- Include one flavour shortcut: mayo, mustard, hot sauce, or olive oil and lemon can make plain food feel deliberate instead of bleak.
I like this stripped-down version because it lowers the activation energy. A first order should feel easy to place, easy to unpack, and easy to use before the week gets chaotic. Once that works, adding variety is trivial. Starting with too much variety is how people end up with a fridge full of "good intentions" and no obvious dinner.
Why delivery worked better than motivation
The real win with delivery was that it moved discipline earlier in the process. I only had to make one decent decision while calm, sitting on the couch with the app open. After that, the house got stocked with compliant defaults and most of the temptation simply never appeared. That is much easier than expecting my most disciplined self to show up hungry at 6:30 PM every day.
Because nothing "off plan" shows up in the kitchen, I don’t burn willpower fighting cookies at home, and the spare willpower stays available when I actually need it later in the day. Grocery automation is not glamorous, but it is probably the single most practical keto tool I found.
The tiny audit that kept my grocery system honest
One extra habit made the saved-list system much stronger: a very short audit before I hit reorder. I was not trying to optimise nutrients or engineer culinary variety. I just wanted to know which foods had actually been doing useful work and which ones were sitting in the fridge because they sounded responsible when I bought them. That distinction matters. A food can be perfectly keto and still be dead weight if I never choose it on a normal Tuesday.
So before each order I ask a blunt question: which items got eaten because they were easy, and which items got ignored until they became a minor guilt project? The first group earns a permanent slot. The second group either gets reduced, replaced, or removed. This kept the cart practical instead of aspirational, which is important because a keto kitchen full of noble leftovers is only slightly better than a kitchen full of takeaway menus.
- Promote repeat rescues: if eggs, halloumi, mince, or salad kits keep saving chaotic evenings, they deserve permanent status.
- Demote fantasy purchases: if a "healthy" item needs the perfect mood or extra prep, it probably should not anchor the weekly cart.
- Check waste honestly: wilted greens and untouched specialty snacks are signals, not moral failures.
- Adjust one thing at a time: swap one dud item for one easier replacement so the system stays recognisable.
I found this much more useful than chasing variety for its own sake. Grocery automation works best when the defaults are slightly boring but consistently edible. The goal is not to build a fridge that looks impressive. The goal is to build one that quietly prevents bad decisions four or five times a week.
What I do in the first ten minutes after a delivery arrives
One small trick made the whole grocery system much more real: I stopped treating delivery as the end of the job. The order only starts helping once the easy foods are visible and the slightly annoying prep is already done. If a steak needs digging out from the back of the fridge, or the celery still has to be washed and trimmed, takeaway gets more persuasive than it should.
So I use the first ten minutes after unpacking to lower friction on purpose. The proteins for the next day or two go where they are easy to see. The backup foods get grouped together instead of scattered randomly. Anything that turns into a fast snack with one tiny bit of prep gets handled immediately. That way the kitchen is not just stocked. It is ready.
- Front-load the next two dinners: put the obvious proteins and salad kits at eye level so tomorrow's meal is practically pre-decided.
- Prep one crunchy fallback: wash celery, portion nuts, or stack seaweed and pork rinds where they are easy to grab.
- Freeze with intention: if a protein is not for the next 48 hours, freeze it early instead of letting it become a guilt item in the fridge.
- Keep the emergency shelf visible: tinned fish, halloumi, cheese, and eggs should feel easier than opening a delivery app.
I like this step because it turns a good grocery order into a useful environment. The diet gets much easier when the best option is also the path of least resistance.