A privacy‑minded shopping list — built in public

Colorful vegetable display in a supermarket with lettuce, peppers, zucchini, cucumbers, pumpkin, and more – neatly stacked in crates and brightly lit.
Photo by nrd / Unsplash

I like to think of myself as a privacy‑conscious developer—and user. I’d rather not track anyone, and I certainly don’t want to be tracked unless there’s a clear benefit for me as a user. Selling tracking data? Absolutely not. Maybe that sounds a bit idealistic, but that’s my stance.

Still, like most couples, my wife and I need a decent shopping list app. We used Bring for years, but I never liked that our shopping habits—what we buy and when—were being shared with a company that also counts major retailers among its clients. We tried Apple Reminders, shared Notes, and eventually Todoist. None of them quite worked. Each one missed key features that we’d come to expect—or just plain needed.

So, I’ve decided to build our own. In public.

Is that a good idea? Time will tell.

What we need as users

Let’s start with the basics. These are the core features my wife and I care about—our version of MVP:

  • Native apps for iOS and macOS, with full offline support
  • A clean, shared shopping list interface
  • Real‑time syncing across devices
  • A self‑hosted backend with phone or email‑based authentication
  • A pleasant UI, including nicely designed icons for common groceries
  • Grouping items with tags—e.g. by shop or product type—to streamline the actual shop

Hosting and maintainability

This thing doesn’t need much infrastructure. In fact, I don’t want to think about hosting at all.

  • Minimal deployment—ideally a single‑file application
  • Embedded database (probably SQLite)
  • Easy to run on a home server or VPS
  • Low maintenance once it’s up and running

Right now, I’m leaning towards building it in Go, or maybe writing a PEP‑723‑style Python script backed by SQLite. Either way, the goal is simplicity and durability.

The wishlist (aka the fun part)

Here’s what we’d love to see once the basics are in place. Not essential, but definitely exciting:

  • Support for additional private and shared lists
  • Smart tagging based on where we usually shop
  • Image attachments for list items
  • Create items from shared links or photos (e.g. snapping a product or recipe)
  • Intelligent suggestions for weekend food shops
  • A food database with barcode scanning—extra useful as we’re currently dieting
  • Create shopping list items directly from recipes

Getting started

First up: sketches for the iOS and macOS apps. But I’ll also need to start designing the backend, especially the authentication flow. Email and phone‑based login means talking to external services, which isn’t always straightforward. There may be a smarter way to handle it—I’ll see what I can come up with.

Oliver Andrich

Oliver Andrich

Brewing code, sipping coffee, raising cats and hell (softly).
Lahnstein, Germany