Keepr

WhatsApp-native memory · 2026
live

You save links, notes and screenshots in a dozen places and never find them again. Keepr is one WhatsApp number: send it anything to save, then ask for it back in plain words. Text it, forward it, or just talk: voice notes become searchable text.

# numbers

HF calls per recall
1
down from 2, rules route
shorthand recall
+0.244
avg cosine · wfh, eod, pto
tests
319
network blocked in tests
media stored
0
voice → text, audio dropped

# how it works

WhatsAppwebhook
Dedupeclaim message ID
routerRouterrules, no model call
save
Transcribevoice notes only
Embed + storeAtlas, offers reminders
recall
Vector searchper-user pre-filter
Extract answerrules, quotes source
commands
remind · recaplist · export
delete + undosoft delete, 10 min
One number, three paths. Only the paths that need understanding call a model.rule-based routing

# in chat

What it looks like. No app, no commands to learn. Just WhatsApp.

Save anything

Text, links, photos, forwards. Send it and it's kept.

Ask in plain words, get just the answer

Pulls out exactly what you asked for (a password, link, date or place) and quotes where it came from.

Voice notes become searchable

Talk instead of typing. The words are saved, and the recording is never stored.

Keepr offers reminders on its own

Mention a date and Keepr offers to remind you.

# decisions

Rules, not a model, for routingA classifier cost a model call on every message. Rules are free, and the bot keeps working when credits run out.
Extract the answer, don't generate itRecall pulls the exact password, link or date out of the saved message and quotes it. No made-up answers.
Claim before processingWhatsApp retries webhooks. Claiming each message ID first means a retry never costs a second reply.
Pre-filter by userVector search only looks inside one user's memories, so results stay private and fast.

# stack

NestJSTypeScriptMongoDB AtlasAtlas Vector SearchWhatsApp Cloud APIHugging Face (embeddings, summaries, Whisper)chrono-nodeJestGitHub ActionsVercel