Gift apps, wishlist sites and shopping assistants all start with someone remembering: either the friend writes a wishlist, or you type in what you think they like. Birthday reminder apps only know the date. Wish Catcher starts from what your friends already told you, in passing, months ago, in your own chats, and does it on your phone so nothing about them leaves it. The wish was always there; nobody was catching it.
The data it runs on
The user's own chat exports: WhatsApp can export any chat as a .txt file (Export chat, without media); Telegram Desktop exports chat history as JSON or HTML. Files are picked by the user and read on the device.
How it is accessed: the file is parsed locally (this demo really does it in your browser: try uploading a WhatsApp .txt). A rules pass finds candidate sentences; a small on-device model judges context: real wish, joke, sarcasm, someone else's wish, or already bought.
Birthdays: from the phone's contacts if the user allows, or typed in once.
Limits and gaps: there is no export at all in some apps (Signal and iMessage have no simple chat export), exports are snapshots, not live; voice notes and images are skipped; slang and mixed languages lower accuracy.
Fallback: a "catch it now" share button: long-press any message in any app, share it to Wish Catcher, and it files it under that friend.
1. The mission
Make every gift feel like proof that you were listening. Wish Catcher remembers the small wishes your friends mention, so on their birthday you give the thing they said they wanted in March.
2. Why people can't resist it
The "you remembered?!" moment. Nothing beats the face of a friend who forgot they ever said it.
Relief. No more panic searches the night before a birthday.
A growing jar. Every new export adds wishes. Watching a friend's jar fill up is oddly satisfying.
3. How it works for real
Parse: on-device parser for WhatsApp .txt and Telegram JSON, with date formats from 40+ locales.
Candidate pass: rules for wish phrases in 12 languages ("I'd love", "me encantaría", "chciałabym", "sana may").
Judge: a small on-device model (for example a 1 to 3 billion parameter open model such as Llama 3.2, Qwen or Gemma, run with WebGPU or the phone's ML runtime) labels wish, joke, sarcasm, already owned; it reads the messages around the candidate for context.
Ideas (optional): with Strict mode off, only the wish text with names removed ("wants: chef's knife, budget 60 USD, city: Lagos") goes to a fast cheap model (Gemini Flash or DeepSeek via OpenRouter) for gift ideas. With Strict mode on, ideas come from an on-device catalogue.
Remind: local notifications 3 weeks and 1 week before each birthday, with the top wish and your budget.
4. Cost per use
Cheap model, pennies per friend: on-device scanning is free; optional gift ideas cost about $0.001 per wish. A heavy user with 30 friends costs well under $0.10 a year.
Free: unlimited catching, 5 friends' jars, birthday reminders. Plus ($2 a month): unlimited jars, live "catch it now" sharing, gift ideas in your currency, a shared jar with a partner for joint gifts. Optional affiliate links are labelled and never change which ideas you see.
5. Growth loop
The gift note ("On 14 March you said your headphones were dying...") is the ad. The friend who receives it asks "how did you remember?", and the answer is the app. The receiver never sees their own jar, so the surprise is preserved.
6. Risks and guardrails
Privacy by design: chats never leave the phone; the vault is encrypted with a device key; one tap deletes everything; no contact upload, no server copy.
Friends never see it: no social graph, no notifications to anyone else, no "people you may know".
Sensitive topics: health, money trouble, grief and relationships are never turned into gift ideas ("I wish my mum was still here" is ignored, not catalogued).
Consent and law: processing happens for the user's personal use on their own device; any group export is filtered to messages from the friend in question only.
7. MVP build order
WhatsApp .txt parser and wish-phrase rules, all in the browser (this page has a working version).
Friend jars with dates, context and "not a wish" feedback.
Birthdays and local reminders.
Gift ideas with budget and currency; "already bought" history.
On-device small model for context judging; then the share-to-catch shortcut.