The Origin Story

We were fed up.
So we built Gack.

Every grocery app we tried was stuffed with retailer ads, sold our shopping habits to data brokers, or couldn't work without a signal. One day someone said "gack!" — and Gack! was born on gack.li.

Why We Built This

Your grocery list is not a billboard.

We were tired. Tired of opening a shopping app and being served ads for the exact item we'd just searched for. Tired of "suggested offers" from retailers who'd paid to appear at the top of our list. Tired of the suspicion that everything we bought was being logged, packaged, and sold.

So we built our own. No venture capital. No growth-at-all-costs mandate. No advertising SDK baked into the first release. Just a sharp, fast, privacy-respecting app for the one task that happens in every household, every week.

The name comes from a Swiss-German exclamation — the sound you make when something is properly awful. Gack. That's what we said every time we opened the alternatives. Now it's what we built instead, hosted on gack.li.

We're not anti-feature. We're anti-bullshit. Here's everything we built.

The Real Origin Story

I actually liked the app I replaced.

For years I used one of the most popular grocery list apps in Europe. It was good enough. Shared lists, a clean UI, the basics covered. But there were things it couldn't do that seemed completely obvious — and the gap between what it was and what it could be kept growing.

So I did what you're supposed to do. I sent in feature requests. Meal planning. Recurring items. Offline sync. Recipe import that actually adds ingredients to your list rather than just bookmarking a URL. Basic stuff. Stuff that would make the app genuinely useful instead of just a fancy checkbox.

"Thanks for the suggestion! We're already working on something like this and hope to have it available soon."

— A support reply. Received multiple times. Over multiple years.

"Working on it" turned out to be a timeframe measured not in sprints but in decades. Some of those features never came. Others arrived so watered-down they barely counted. Meanwhile the app filled up with sponsored offers, retailer integrations, and a business model built entirely on knowing what you buy.

At some point the frustration has a name. In Swiss German, that name is gack.

So I stopped waiting and built it instead. Here's a rough timeline of how that went.

~2014

First feature request sent Still waiting

Suggested recurring items — things you buy every week shouldn't need to be re-typed every week. Response: "great idea, we're working on something like this."

Various

More requests. Same answer. Still waiting

Meal planning. Recipe import that actually populates a list. Offline sync for underground supermarkets. All met with variations of "on our roadmap" or silence.

Meanwhile

The app got ads Not what I asked for

Retailer partnerships. Sponsored items. Offers from supermarkets baked into the list UI. A business model that required treating my grocery habits as inventory to be sold.

gack.li

Built it myself Shipped

Recurring items with automatic cadence detection. Meal planner with auto-generated shopping lists. OCR recipe import from URLs and camera. BLE offline sync. Voice entry. Cooking mode. No ads. Ever.

I'm not angry about it. Building Gack was the better outcome. But if you've ever sent a feature request into the void and been told "we're working on it" — this app is for you.

No ads.
Not now. Not ever.

Gack! will never carry retailer advertising, sponsored placements, or data-broker integrations. The app is funded by the people who use it — full stop.

No retailer partnerships
No data brokers
No targeted offers
No habit tracking
No advertising SDK
No analytics resale
Feature Deep-Dives

Every feature, explained honestly.

Not "AI-powered smart suggestions powered by your data." Just genuinely useful things we built because we needed them ourselves.

Recipe Import

From any recipe to your shopping list in seconds.

Paste a URL from any food website or blog — Gack! fetches the page, extracts every ingredient, and drops them into your shopping list with quantities and units intact. No copy-pasting. No retyping.

Don't have a URL? Aim your camera at any cookbook page or magazine spread. The OCR engine reads it, parses the ingredient list, and asks you to confirm before adding anything.

  • Paste any recipe URL — ingredients extracted automatically
  • Scan cookbook or magazine pages with your camera (OCR)
  • Browse and save from the community recipe library
  • Quantities and units parsed correctly (2 tbsp, 300 g, etc.)
  • Scale to any number of servings before adding to list

Recipe Import

URL, camera scan, or community library — all three routes lead to items in your list.

URL parsing OCR scan Serving scale Community recipes
Meal Planner

Plan your week. Your list builds itself.

Drag recipes into a 14-day calendar — breakfast, lunch, or dinner. Adjust servings per day. Gack! aggregates all the ingredients across your week and adds them to your shopping list automatically, combining duplicates and scaling quantities.

No more mental arithmetic on Sunday night trying to figure out whether you need one onion or four.

  • 14-day drag-and-drop meal calendar
  • Breakfast, lunch, dinner slots per day
  • Per-meal serving size adjustment
  • Auto-generated shopping list from all planned meals
  • Ingredients deduplicated and quantities summed

Meal Planner

A full 14-day calendar connected directly to your shopping list. Plan once, shop once.

14-day view Drag & drop Auto shopping list Serving scaling
Recurring Items

The things you always buy — always ready.

Gack! watches what you complete over time and learns your buying cadence. Milk every week. Coffee every two weeks. Olive oil monthly. It groups these as "Regulars" — weekly, bi-weekly, monthly, occasional — and surfaces them automatically when it's probably time to restock.

One tap adds the item. No configuration required. It just watches and learns.

  • Automatic cadence detection from completion history
  • Grouped as weekly / bi-weekly / monthly / occasional
  • One-tap re-add when it's time to restock
  • Long-press to dismiss a suggestion you don't need
  • No manual setup — it learns from what you actually buy

Recurring Items

Gack! tracks your buying cadence and surfaces items before you run out — no reminders needed.

Auto-detection Weekly cadence One-tap re-add
Offline-First + BLE Sync

Works in the basement. Works with no signal.

Every list lives in a local SQLite database on your device first. The cloud sync is additive, not required. So when your phone loses signal mid-shop, Gack! keeps running and queues the changes for later.

But here's what no other shopping app does: Bluetooth Low Energy sync. If your partner is within range — same store, same aisle — Gack! syncs your lists directly over BLE, peer-to-peer, no internet required. Checked something off? They see it in seconds.

  • Offline-first: full functionality with no internet
  • BLE peer-to-peer sync with nearby devices
  • Changes queue locally, flush when back online
  • Deduplication prevents double-sync conflicts
  • Works in underground supermarkets, basements, dead zones

BLE Offline Sync

Peer-to-peer Bluetooth sync with your partner — no internet, no server, just direct device-to-device.

Offline-first BLE P2P sync No signal needed Conflict-free
Cooking Mode

Step-by-step. Fullscreen. Hands-free.

Once you've shopped, switch to Cooking Mode. The screen stays on, steps are displayed in full-screen legible text, and you navigate with a single tap — useful when your hands are covered in flour.

The recipe you imported is the recipe you cook from. No switching apps. No navigating back to a browser tab.

  • Fullscreen step-by-step recipe display
  • Screen stays awake during cooking
  • One-tap step navigation
  • Works with any imported recipe

Cooking Mode

From your shopping list to step-by-step cooking in one tap. No browser needed.

Fullscreen Screen-on One-tap steps
Everything Else

The full feature list.

No asterisks. No "available in premium". All of this ships in the free app.

🎤

Voice Entry

Add items completely hands-free via speech-to-text. Gack! plays an audio cue when it's listening and when it's done.

📲

QR Code Sharing

Generate a QR code or shareable invite token for any list. Your partner scans it and they're in — instantly.

Real-Time Sync

When online, items check off in real-time across all devices on the shared list. No refresh needed.

🔢

Quantities & Units

Items store quantity, unit, and notes. "Milk 2 L" and "Eggs × 12" are parsed correctly from both voice and recipes.

🏷️

Item Categories

Items are grouped by store section — dairy, produce, bakery. Less backtracking, faster shopping.

📝

Item Notes

Add a note to any item — brand preference, substitution, specific variant. Your partner sees it instantly.

📦

Barcode Scanning

Scan a product barcode directly from your kitchen to add it to the list by name — no typing required.

🌍

5 Languages

Full localisation in English, German, French, Italian, and Swiss German. The whole app, not just labels.

🌙

Dark Mode

Respects your system preference or can be toggled. Designed for low-light evening cooking.

🧠

Smart Recents

Items you use often surface automatically. Swipe to add things you buy regularly without searching.

🔗

Multiple Lists

Grocery run, party supplies, weekend trip — separate lists for every context, all shared independently.

🛠️

Custom Backend

Self-host or point the app at your own server. Dev-friendly from day one — configurable in settings.

Get Early Access

A shopping app
worth using.

No ads. No data brokers. Just a fast, private, genuinely useful shared grocery list and meal planner — built by people who were fed up with the alternative.