Skip to content
Aly

Case study

Two people, one table,
one shared brain.

The problem

“What do you want for dinner?” — “I don’t know, what do you want?” is the most repeated conversation in any household, and every tool that tries to help gets the shape wrong. Recipe apps answer with ten thousand options when the problem is having options at all. Chatbots give lovely one-off plans and forget your nut allergy by the next conversation. Couples apps build real daily rituals, then let everything you tell them evaporate.

The insight Aly is built on: the hard part isn’t recipes, it’s memory shared by exactly two people. What you both loved last month, what one of you quietly hates, what your kid can’t eat, the fact that your mother’s visiting Friday — dinner is decided by that context, and that context lives in nobody’s app. So we made the memory the product, and the dinner decision its daily proof.

The decisions that shaped it

1. Answer-first, always

Tonight opens with a decision already made — one dish, with the reasoning in one whispered line: you both love Thai · safe for Ava · 25 min. The swipe deck exists to train the memory and break ties; it is deliberately not the daily loop. An app that opens with homework loses to an app that opens with an answer.

2. The memory is visible, editable, and shared

Everything Aly knows sits on the Us tab as chips both partners can read, correct, or delete. No shadow profile, no inferred data you can’t see. Privacy is enforced where it can’t be faked — Postgres row-level security — so a private note physically never reaches your partner’s device.

3. Allergies are law, not filters

A hard constraint applies to the whole household, forever, for free. When Aly can’t prove a dish safe, it says nothing rather than risking it — the empty state literally reads “I won’t cook around nut allergy — I’d rather say nothing than risk it.” Safety never sits behind a price and never depends on remembering to toggle something.

4. Cooperative, growth-never-loss

Nothing in Aly scores one partner against the other, and nothing you build can be taken away. The Flame — the count of days you showed up — only grows. Games reveal answers only when both of you have played. Quests need a “yes” before they start, and their surprises are sealed server-side until the last box ticks. Where the category sells streak-restores and locks calendars, we wrote the opposite into the schema.

The design system

Aly looks the way it works: soft neobrutalism — confident structure holding warm content. Every surface obeys four rules: a 2px warm-ink border, a hard zero-blur offset shadow, a flat candy-colored block, a generously rounded corner. Depth is physical: buttons press into their own shadow rather than dimming.

  • Two brand colors with jobs, not moods. Persimmon is the couple — every button you press is theirs. Iris is Aly and memory — and it is never a button, because the assistant never pushes you.
  • Three typefaces, one whisper.Bricolage Grotesque shouts the headlines, Hanken Grotesk does the reading, and Instrument Serif italic appears in exactly one role: Aly’s own voice. When you see the serif, the brain is talking.
  • No emoji, anywhere. One icon family (Phosphor), tinted to ink, consistent on every platform. The brand character — AlyFace, two dots in a rounded square — is built from the same card primitive as the interface.
  • A real dark mode, not an inversion: the paper deepens to warm near-black, the candy blocks re-tune, and the hard shadows switch to true black so the physics survive the night.
Tonight screen in the light theme
the answer
Play tab with game cards
the rituals
Us tab with memory chips
the brain

What’s underneath

Aly is an Expo (React Native) app — one TypeScript codebase shipping iOS, Android, and the web app — on a Supabase backend: Postgres, realtime, storage, and edge functions, with Google’s Gemini doing the talking through a streaming edge function.

  • Row-level security is the privacy model.Every table is scoped to the household by policy. Private notes are private because the database refuses to serve them to anyone but their author — the UI couldn’t leak them if it tried.
  • Sealed things are sealed server-side.Game answers and quest surprises live behind security-definer database functions that mask the hidden fields until the reveal condition is met. Before both partners answer, the partner’s answers aren’t hidden by the app — they’re absent from the network response entirely.
  • The assistant is a guest, not a spy.In a paired thread, Aly replies only when named. Household context is built from household-visible rows only; private notes never enter another member’s prompt.
  • Notifications send from the database.Postgres triggers post to the push service directly, gated per user by preference and quiet hours in the user’s own timezone — there is no engagement scheduler, only events you chose to hear about.

Where it stands

Aly is real and live — the web app at alyapp.djasha.me, iOS and Android builds headed to their stores — and it is honestly a beta: the recipe pool is still small, billing isn’t wired (the beta is free), and the memory grows smarter every week. Every screenshot on this site is the production build, signed into a real household. That’s the standard we intend to keep: if it’s on the site, it ships.