Skip to content

harshagarwalnyu/HackNYU-Agora

Repository files navigation

🏛️ Agora

The Future of Socratic Learning — Voice‑First & Retrieval‑Augmented.

Next.js FastAPI Groq Qdrant License: MIT

FeaturesArchitectureGetting StartedTech StackContributing


📖 Introduction

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.

💎 Features

  • 🎙️ 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.

🏗️ Architecture

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
Loading

🚀 Getting Started

Follow these instructions to set up your local development environment.

📋 Prerequisites

1. Clone & Install

git clone https://github.com/harshagarwalnyu/HackNYU-Agora.git
cd HackNYU-Agora

2. Environment Configuration

  1. Backend: Copy backend/.env.example to backend/.env.
  2. API Keys: Enter your GROQ_API_KEY in backend/.env. Get one here.

3. Launching

Quick-Start (Windows Recommended)

./dev.ps1

Manual Start

  1. Start Services: docker compose up -d qdrant
  2. Backend: cd backend && uv run python -m app.main
  3. Frontend: cd frontend && pnpm install && pnpm dev

🛠️ Tech Stack

  • 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.

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the project.
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Add some AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a Pull Request.

📜 License

Distributed under the MIT License. See LICENSE for more information.


Built for NYU Hackathon 2025

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors