An agentic RAG assistant for babysitters caring for infants (0–24 months).
BeeDoula helps babysitters follow the parents' instructions and trusted infant-care guidance when the parents are unavailable. Parents provide the baby's profile, allergies, routines, emergency contacts, and house rules; the babysitter gets quick answers grounded in those notes and vetted sources.
⚠️ BeeDoula provides general care information, not diagnosis, treatment, or medical advice. In an emergency, call your local emergency number immediately and do not wait for BeeDoula.
This project is a submission for the AI Engineering Certification Challenge. 📄 Written deliverables: docs/certification-challenge.md 🎥 Demo video: Watch the BeeDoula demo on Vimeo 🌐 Live app: https://beedoula.vercel.app
| Component | Choice |
|---|---|
| LLM | OpenAI via LLM gateway |
| Orchestration | LangGraph |
| Safety | Deterministic emergency/urgent router before the agent |
| Tools | RAG retriever · Tavily web search · baby-profile memory |
| Embeddings / retrieval | OpenAI text-embedding-3-small / in-memory Qdrant + BM25 |
| Memory | LangGraph development checkpointer + shared profile store (non-durable) |
| Monitoring / Evals | LangSmith / RAGAS |
| Frontend | Next.js + shadcn/ui, configured for Vercel deployment |
| Agent server | LangGraph development server, configured for Render |
The repository currently implements a single-family prototype. Its Qdrant index, conversation checkpoints, and baby-profile store are process-local and can reset when the backend restarts. Public deployment URLs, persistent Qdrant/Postgres storage, authentication, family isolation, independent clinical safety review, and verified source citations are planned work rather than current features. The implemented safety gate is covered by an 87-case offline regression set but is not clinical validation. See the written deliverables for separate current and target architecture diagrams.
Safety behavior, sources, acceptance criteria, and limitations are documented in the prototype safety contract.
# Backend (from repo root)
uv sync
uv run langgraph dev # dev server on :2024
# Offline safety regression tests (no model/network calls)
uv run python -m unittest discover -s tests -v
uv run python evals/run_safety_evals.py
# Frontend
cd frontend
npm install
npm run dev # http://localhost:3000Copy .env.example to .env and fill in API keys.