Inspiration

Finding the right school for a child is one of the most consequential decisions a family makes — yet the process is broken. Parents waste weeks making calls, visiting websites, and second-guessing incomplete information. We built EduScout because families deserve an intelligent investigator, not a search engine.

What it does

EduScout is an autonomous AI school advisor accessible entirely through WhatsApp. Parents describe their child — grade level, neighborhood, budget, learning differences, interests, teaching philosophy — and EduScout investigates on their behalf.

It actively gathers intelligence from four sources:

  • Structured database: Searches a curated PostgreSQL database of schools with detailed attributes — special needs support, extracurriculars, teacher certifications, lunch programs, class sizes, scholarship availability.
  • Document RAG: Queries a Gradient Knowledge Base indexed over school PDFs (curricula, handbooks, scholarship requirements, regulations). Answers come cited and grounded, not hallucinated.
  • Live phone calls: When critical information is missing or needs verification, EduScout places an outbound call to the school via Vapi.ai + Telnyx. The parent is never blocked — they receive a WhatsApp notification asynchronously once the call completes. Call transcripts are stored in PostgreSQL for future queries.

Additional capabilities:

  • Google Maps integration: Calculates real-time distance and travel time from the parent's home or workplace to each candidate school, factoring into the final recommendation.
  • Personalized comparison: Returns ranked, side-by-side school comparisons with confirmed vs. unverified data clearly labeled.

How we built it

Built on DigitalOcean's Gradient AI Platform using the Agent Development Kit (ADK) with a LangGraph StateGraph as the core orchestrator. The agent runs claude-sonnet-4-6 (Anthropic) and is deployed on a DigitalOcean Droplet. A FastAPI webhook server handles all WhatsApp traffic via YCloud's Business API.

School documents are indexed in a Gradient Knowledge Base and queried via RAG. A managed PostgreSQL database (DigitalOcean) stores schools, parent profiles, search sessions, conversation history, and call transcripts. A deterministic preference extractor runs on every message to reliably capture structured data (budget, location, special needs, methodology) before passing context to the agent. Outbound calls use Vapi.ai with Telnyx as the telephony provider, following an async fire-and-callback pattern so parents are never left waiting.

Challenges we ran into

Building a production-grade async agent on a new platform required navigating real integration complexity. Several support tickets were raised with the DigitalOcean Gradient team during development to resolve issues with model availability tiers, region assignment for agents and functions, and cross-region tool routing — platform-level challenges that required direct engineering coordination to resolve

Getting reliable structured preference extraction out of unstructured natural language required a hybrid approach: LLM reasoning with keyword-matching as a deterministic safety net. Designing the async phone call flow — where the parent continues the conversation while a live call is in progress — required careful state management across the webhook, agent, and database layers.

Accomplishments that we're proud of

A fully working end-to-end investigative loop: a parent sends a WhatsApp message, EduScout gathers their child's profile, searches the database, queries school documents via RAG, places a phone call to verify a missing data point, calculates commute time via Google Maps, and delivers a ranked comparison — all within a single conversation thread. The system doesn't just answer questions; it closes its own information gaps without human intervention.

There's a portal available for schools to add new documents to the knowledge base

What we learned

A production agent is an architecture problem, not a prompt problem. Reliable multi-source intelligence gathering requires clean separation between sync and async flows, deterministic preprocessing before LLM reasoning, and explicit data provenance — knowing whether a fact came from a PDF, a database record, a call transcript, or a live web crawl. That distinction is what separates a trustworthy advisor from a chatbot.

What's next for EduScout

Scheduled proactive crawling — EduScout monitors school websites and alerts parents when new scholarship deadlines or program changes are detected. Appointment scheduling via phone call directly with the school's admissions office. Social media sentiment analysis for school reputation scoring. Multi-child household logic matching schools by proximity, schedule overlap, and sibling discounts. Expansion beyond Manhattan to any city with school data. Requesting schools info through email, explicitly pdf or word documents, about Tuition and fee schedules, Academic calendar, Course catalog, etc., so these are uploaded to the knowledge database

Built With

Share this project:

Updates