Case Study - One grocery list your whole household shares

A real-time shared grocery list with household chat — deliberately minimal, offline-capable, and identical on web, iOS and Android. Live at gema.spectralgo.com.

Project
Gema
Year
Service
Product engineering, mobile & web
GemaGema

Overview

Gema is one grocery list your whole household shares: you add eggs, and it's on everyone else's phone before yours is back in your pocket. It pairs the list with a built-in household chat — mentions, presence, typing indicators, pinned messages — so coordinating the shopping feels like a conversation, not a chore. It's live at gema.spectralgo.com on web, iOS and Android.

The product is deliberately minimal — no ads, no macro-tracking meal-plan-coach detour. It's a list, it syncs, it's free. AI stays in a supporting role: natural-language item parsing and store suggestions, not a chatbot. The personality comes from eggy, the winking mascot, and small delights like the confetti that rains when someone checks off a salad.

One list, four views: by item, by store (via #store tags), by person (via @mentions, so assignments are just text), and a bonus “To Watch” view where anything tagged #movie or #tv lands instead of the shopping list.

What we did

  • Real-time sync (Durable Objects + WebSockets)
  • Offline outbox & optimistic updates
  • React web + React Native (Expo)
  • Hono + oRPC on Cloudflare Workers
  • AI item parsing (Gemini)
  • i18n: English, French, Portuguese

Web/native parity is a discipline, not a framework feature. Gema's sync engine is shared code, audited feature-by-feature across platforms, and every realtime edge case ships with a recorded proof.

Florian Renard, Founder, Spectralgo

Engineering notes

Every list and every chat room is its own Cloudflare Durable Object with embedded SQLite, so real-time state lives next to the users who share it; D1 holds the relational core. A shared sync package gives web and native the same offline mutation queue, reconnection logic and optimistic updates — the parity audit covers 70+ features across both platforms, and realtime edge cases (offline adds, reconnect deletes, conflicts) are verified with recorded proofs. Every pull request deploys its own isolated preview stage.

More case studies

White-label AI training for a regulated profession

A domain-agnostic training platform with embedded AI conversations, enterprise RBAC and review workflows — re-brandable for any organization without touching the core.

Read more

Turn any video into searchable, speaker-labelled knowledge

An AI transcription and video-understanding pipeline: deep transcripts synchronized to an embedded player, with exports and automatic channel processing.

Read more

Tell us about your project

Our offices

  • Paris (Registered office)
    60 rue François 1er
    75008 Paris, France
  • Lisbon (Studio)
    Remote-first studio
    Lisbon, Portugal