Inspiration

We all set reminders on our phones — but how often do they actually help when we need them most?

You set a reminder to buy milk before heading to Walmart. You get there, fill your cart, and walk out — completely forgetting the milk. The reminder fired at the wrong time, in the wrong place.

What if your app knew you were at Walmart and reminded you right then? What if it nudged you again if you'd been inside too long? What if it stopped you at the exit with unchecked items?

That's Membuddy — extending this to medicines before doctor visits, laptop chargers before leaving home, and any task tied to any place. The right reminder, at the right location, at the right moment.

What it does

MemBuddy is a location-aware reminder app that fires intelligent nudges based on where you are — not just when a timer goes off.

  • Three smart triggers — arrival nudge when you enter a location, dwell nudge if you've been inside too long without completing tasks, and exit gate nudge when you try to leave with unchecked items.
  • Add reminders from anywhere — no need to physically visit a location first. Search any place by name using OpenStreetMap and add reminders in advance.
  • Full task management — add, edit, delete, and complete reminders using text or voice input.
  • AI-powered nudges — Groq LLM (llama-3.1-8b-instant) generates friendly, context-aware reminder messages tailored to your location and tasks.
  • Semantic search — CockroachDB vector search with HuggingFace embeddings understands what you mean. Search "medicine" and it finds "Take medicines" and "Carry insurance card."
  • Nudge history — every reminder fired is stored permanently in CockroachDB, giving you a full memory trail across all locations and sessions.

How we built it

Frontend: WhatsApp-style PWA built with HTML, CSS, and JavaScript. Works on iPhone and Android without installation. Includes GPS simulation mode for demos and real GPS mode for live use.

Backend: FastAPI running on AWS Lambda, exposed via Amazon API Gateway. Fully serverless — scales to zero when idle.

Database — CockroachDB Serverless with 7 tables: users, locations, tasks, location_events, nudge_events, task_completions, caregiver_links.

CockroachDB tools used:

  • MCP Server — schema design and query development via Claude Code
  • Distributed Vector Indexing — VECTOR(384) column with pgvector cosine distance search
  • ccloud CLI — cluster provisioning and management
  • Agent Skills Repo — query patterns and best practices

AI Stack:

  • Groq API (llama-3.1-8b-instant) — real-time nudge generation
  • HuggingFace Inference API (all-MiniLM-L6-v2) — 384-dim task embeddings
  • OpenStreetMap Nominatim — free place search, no API key needed

AWS Services: Lambda · API Gateway · S3 · EventBridge · CloudFormation

Challenges we ran into

  • Embedding generation — sentence-transformers was too heavy for Lambda (800MB+). Switched to HuggingFace Inference API with numpy for lightweight runtime embedding generation.
  • CloudShell disk limits — AWS CloudShell has only 1GB storage. Managing Lambda packages (57MB zipped, 200MB+ unzipped) required careful cleanup strategies and incremental zip updates throughout development.
  • Real-time exit detection — detecting when a user is leaving required a geofence exit trigger with a 1.5x radius buffer to avoid false positives near the boundary.

Accomplishments that we're proud of

  • Three-trigger innovation — arrival, dwell, and exit gate. No existing reminder app implements all three. The exit gate is the most unique — it fires when you try to leave with unchecked items, acting as a final safety net.
  • Zero cost architecture — the entire app runs for less than $0.001/month on AWS Lambda + CockroachDB Serverless. Truly free at scale for accessibility use cases.
  • Add location from anywhere — users can add a future location without physically visiting it, using OpenStreetMap search. Reminders are ready before they even arrive.
  • Full CRUD reminders — add, edit, delete, and complete tasks via text or voice. Hands-free input makes it genuinely accessible for elders.
  • Semantic memory — CockroachDB vector search means the app understands intent, not just keywords. It finds what you mean, not just what you typed.

What we learned

  • CockroachDB's distributed vector indexing is production-ready and easy to integrate — VECTOR(384) and CREATE VECTOR INDEX was all it took to enable full semantic search.
  • Serverless + serverless (Lambda + CockroachDB Serverless) is genuinely zero-cost for moderate traffic — perfect for accessibility-focused apps serving elders and people with memory conditions.
  • GPS geofencing on mobile requires careful radius tuning — too small and it misses the location, too large and it fires prematurely.
  • Voice input transforms accessibility — hands-free reminder entry is a game changer for elderly users and people with mobility challenges.

What's next for Context Memory Pro

Near term:

  • Google Sign-in via AWS Cognito — multi-user support with personal data isolation
  • Firebase Cloud Messaging — background push notifications on iOS and Android
  • Caregiver companion app — family members receive SMS alerts when an elder exits without completing critical tasks

Medium term:

  • Background GPS via service worker — nudges fire even when the app is closed
  • Real store detection via Google Places API — automatic location suggestion when near a known store
  • Receipt photo parsing — AI reads shopping receipts to auto-complete tasks

Long term:

  • React Native mobile app — full background GPS on iOS and Android
  • Multi-language support — Tamil and Hindi for Indian users
  • Analytics dashboard — location visit patterns, completion rates, nudge effectiveness

Built With

Share this project:

Updates