
Birthday Buddy
AI WhatsApp birthday concierge
WhatsApp-native chatbot; private build, so the preview uses synthetic contacts.
A private SaaS build, so source, WhatsApp Business wiring, and user data are not public. Happy to demo it on synthetic contacts.
Request accessBirthday Buddy is a WhatsApp chatbot SaaS that tracks the birthdays of people you care about and generates personalized, natural-sounding messages. A two-stage inference engine (a deterministic multilingual rule stack followed by a batched Claude Sonnet pass) auto-tags every contact's relationship and closeness; Claude Haiku classifies inbound intents and Sonnet drafts in-voice messages, with prompt caching and prompt-injection hardening. The backend runs entirely on Supabase Edge Functions (Deno/TypeScript) over a Postgres schema with RLS and pg_cron nudges, integrating the WhatsApp Business Cloud API (HMAC-verified webhooks) and Google OAuth.
- TypeScript
- Deno
- Supabase Edge Functions
- PostgreSQL
- Claude (Haiku + Sonnet)
- WhatsApp Business API
- Google OAuth
Architecture · contacts → in-voice WhatsApp messages
Contact import
Contacts import via Google OAuth into a Postgres schema with row-level security.
Relationship inference
A two-stage engine (a deterministic multilingual rule stack, then a batched Claude Sonnet pass) tags each contact's relationship and closeness.
pg_cron reminders
Scheduled pg_cron nudges fire before each birthday.
Intent + drafting
Claude Haiku classifies inbound intents; Claude Sonnet drafts a message in your own voice (prompt caching + injection hardening).
WhatsApp delivery
Sent via the WhatsApp Business Cloud API over HMAC-verified webhooks, all on Supabase Edge Functions (Deno).
- Function code
- ~5,128 LOC TS
- AI
- Claude Haiku + Sonnet
- Kinship languages
- 7+
- Security review
- 18 pass / 0 fail