Skip to content

alextgu/emberhacks

Repository files navigation

🎙️ ZED - Voice-Controlled AI Assistant

Zed is your autonomous AI study partner that connects directly to your student account and responds to your voice to create a personalized, productive learning experience. Ask questions about deadlines, study tips, or how to approach a problem — Zed provides guidance that challenges your brain to learn, rather than simply giving you answers to copy.

Check it out on Devpost:
🔗 https://devpost.com/software/zed-7z0wg4

🧠 What It Does

🤖 Zed, Your Study Buddy

Zed is your autonomous AI study partner that connects directly to your student account and responds to your voice to create a personalized and highly productive learning experience. Ask questions about deadlines, study tips, or how to approach a problem—Zed will provide guidance that challenges your brain to learn rather than simply giving you answers to copy.

🔐 Authenticates as Your Study Buddy

Securely logs into your Canvas or Blackboard account via Auth0, just like a studious classmate with access to the same materials you do.
Encrypted credential storage ensures your login information stays safe while enabling autonomous course access.

📚 Intelligently Scrapes Your Actual Courses

Automatically downloads your syllabus, professor’s lecture slides, and assignments from your enrolled courses.
Extracts exam dates, topics, and deadlines using the Gemini 2.5 Compute engine — no manual input needed.

🎤 Provides Natural Voice Interaction

Wake word activation with Porcupine — just say “Hey Zed!”
Receive spoken responses via ElevenLabs text-to-speech that sound like a supportive study buddy.
Study while cooking, exercising, or walking around — Zed makes learning seamless and non-distracting.


🚀 Quick Start

Prerequisites

  • Python 3.8+
  • Node.js 16+
  • Modern web browser (Chrome/Firefox recommended)

1. Get API Keys

You'll need three API keys:

Google Gemini API Key

ElevenLabs API Key

Porcupine Access Key (Optional - for "Hey Zed" wake word)

2. Install Dependencies

Backend:

cd /Users/agu/Desktop/emberhacks/emberhacks
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Frontend:

cd frontend
npm install

3. Configure Environment Variables

Create .env in project root:

cd /Users/agu/Desktop/emberhacks/emberhacks
nano .env

Add:

GOOGLE_API_KEY=your_google_api_key_here
ELEVENLABS_API_KEY=your_elevenlabs_api_key_here

Create frontend/.env:

cd frontend
nano .env

Add:

VITE_PORCUPINE_KEY=your_porcupine_key_here

4. Start the Application

Terminal 1 - Start Backend:

cd /Users/agu/Desktop/emberhacks/emberhacks
source venv/bin/activate
python backend/main.py

You should see:

 * Running on http://0.0.0.0:8000

Terminal 2 - Start Frontend:

cd /Users/agu/Desktop/emberhacks/emberhacks/frontend
npm run dev

You should see:

➜  Local:   http://localhost:5173/

Open Browser:

🎯 How to Use

Voice Commands

Option 1: Wake Word (if enabled)

  1. Wait for green "Listening active" indicator
  2. Say "Hey Zed"
  3. Speak your command
  4. Recording stops automatically after 3s of silence

Option 2: Hold to Speak

  1. Click and hold "Hold to Speak" button
  2. Speak your command
  3. Release button or wait for silence detection

Option 3: Text Input

  1. Click "Click to Type"
  2. Type your command
  3. Press Enter

✅ Quick Checklist

Before starting, make sure you have:

  • Python 3.8+ installed
  • Node.js 16+ installed
  • Google Gemini API key
  • ElevenLabs API key
  • Porcupine key (optional)
  • .env file in project root
  • frontend/.env file created
  • Dependencies installed (pip & npm)
  • Backend running on port 8000
  • Frontend running on port 5173
  • Microphone permission granted

🎉 You're Ready!

Open http://localhost:5173 and start talking to ZED!

About

Meet Zed, the AI study buddy tailored to you. It learns your courses, quizzes you with your class material, and helps you actually understand. Like the smartest kid in class—minus the weird.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •