The Future of Socratic Learning — Voice‑First & Retrieval‑Augmented.
Features • Architecture • Getting Started • Tech Stack • Contributing
Agora is the Apex of Agentic Education. It moves beyond standard "instructional" AI to provide a true Socratic tutoring experience. By combining State-of-the-Art (SOTA) LLMs with high-fidelity voice interfaces and a collaborative whiteboard, Agora creates a learning environment that monitors student frustration and provides targeted, retrieval-augmented guidance.
- 🎙️ Zero-Latency Voice Loop: leverages Groq's Whisper (STT) and Edge TTS for near-instant human-like verbal interaction.
- 🧠 Socratic Reasoning Engine: Powered by LangGraph, the backend manages pedagogy states, ensuring the tutor prompts the student to think rather than just giving answers.
- 📚 Retrieval-Augmented Generation (RAG): Integrates with Qdrant to provide contextually relevant responses based on your uploaded materials (PDFs, Images, Notes).
- 🎨 Collaborative Whiteboard: Real-time integration with Tldraw via Socket.IO allowing the AI to draw and highlight concepts synchronously with the student.
- ⚡ High-Performance Parsing: Uses Docling for deep document structure extraction from complex PDFs and images.
graph TD
User((User)) <--> |Voice/WS| FE[Next.js Frontend]
FE <--> |Socket.IO| BE[FastAPI Backend]
subgraph Services
BE --> |STT/LLM| Groq[Groq Cloud]
BE --> |RAG| Qdrant[(Qdrant Vector DB)]
BE --> |TTS| Edge[Edge TTS]
BE --> |Parsing| Docling[Docling Engine]
end
Follow these instructions to set up your local development environment.
- Git: Download Git
- Python 3.12+: Download Python
- Node.js 20+: Download Node.js
- pnpm:
npm install -g pnpm - Docker: Download Docker (Required for Qdrant)
- UV: For high-speed Python dependency management. Install via
pip install uv.
git clone https://github.com/harshagarwalnyu/HackNYU-Agora.git
cd HackNYU-Agora- Backend: Copy
backend/.env.exampletobackend/.env. - API Keys: Enter your GROQ_API_KEY in
backend/.env. Get one here.
./dev.ps1- Start Services:
docker compose up -d qdrant - Backend:
cd backend && uv run python -m app.main - Frontend:
cd frontend && pnpm install && pnpm dev
- Frontend: Next.js 15, Tailwind CSS, Zustand, Tldraw, Socket.IO Client.
- Backend: FastAPI, LangGraph, Pydantic, Docling, Python-SocketIO.
- Persistence: Qdrant (Vector Database).
- Inference: Groq (Llama 3.3 / Whisper), Edge TTS.
We welcome contributions! Please follow these steps:
- Fork the project.
- Create your Feature Branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
Distributed under the MIT License. See LICENSE for more information.