Skip to content

Study.Sync is an AI-powered learning assistant that turns YouTube lectures or pasted transcripts into structured notes, flashcards, and practice quizzes using a FastAPI backend and Next.js frontend powered by Groq LLMs.

License

Notifications You must be signed in to change notification settings

agraw-2305/Study.Sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“˜ Study.Sync

Study.Sync is an AI-powered learning assistant that transforms YouTube lectures or user-provided transcripts into structured, exam-ready study materials.

It helps learners move from passive video consumption to active learning by automatically generating:

  • ๐Ÿ“‘ Clear, organized notes
  • ๐Ÿƒ Revision-focused flashcards
  • ๐Ÿงช Practice quizzes for self-assessment

Built with a FastAPI backend, Next.js frontend, and powered by Groq LLMs, Study.Sync is designed with real-world reliability, fallback handling, and scalability in mind.


๐Ÿ“‘ Table of Contents


๐Ÿ” Overview

Study.Sync is built for students, self-learners, and developers who rely heavily on long-form educational videos but want a faster and more structured learning workflow.

Instead of:

  • Rewatching hours of lectures
  • Manually taking notes
  • Creating flashcards from scratch

Study.Sync converts lecture content into ready-to-use learning assets that support understanding, revision, and recall.

๐ŸŽฏ Study.Sync focuses on learning outputs, not conversational chat.


โ“ Why Study.Sync?

Learning from videos is powerful, but inefficient without structure.

Common Problems

  • โธ๏ธ Constant pausing to write notes
  • ๐Ÿ” Rewatching the same sections before exams
  • ๐Ÿ“ Manually creating flashcards and quizzes
  • ๐Ÿšซ Missing or temporarily blocked YouTube captions

How Study.Sync Helps

  • โšก Converts videos into structured content instantly
  • ๐Ÿง  Reinforces learning using active recall
  • ๐Ÿ”„ Supports transcript upload as a fallback
  • ๐Ÿงฉ Handles real-world API and transcript issues gracefully

๐Ÿง  Core Philosophy

Study.Sync is designed around these principles:

  • Structure over conversation
  • Learning assistance, not shortcuts
  • Reliability over novelty
  • Local-first and self-host friendly

What Study.Sync Is

  • โœ… A structured study material generator
  • โœ… A notes + flashcards + quiz system
  • โœ… A tool built for real academic workflows

What Study.Sync Is Not

  • โŒ A chatbot or tutoring replacement
  • โŒ A video downloader
  • โŒ An answer-spitting exam solver

โœจ Key Features

๐Ÿ”— Flexible Input Options

  • YouTube URLs (with captions enabled)
  • Manual transcript paste or upload (.txt, .srt)

๐Ÿ“ Structured Notes

  • Topic-wise sections
  • Concept-focused summaries
  • Clean formatting for revision

๐Ÿƒ Flashcards

  • Questionโ€“answer format
  • Optimized for spaced repetition
  • Regeneratable on demand

๐Ÿงช Practice Quizzes

  • Multiple-choice questions (MCQs)
  • Adjustable question count
  • Designed to test understanding, not memorization

๐Ÿ›ก๏ธ Reliability by Design

  • Graceful handling of transcript failures
  • Chunked processing for long videos
  • Clear and actionable error messages

โš™๏ธ System Workflow

  1. User provides a YouTube URL or uploads a transcript
  2. Backend attempts caption extraction with fallback logic
  3. Transcript is cleaned, normalized, and chunked
  4. Groq LLM generates:
    • Structured notes
    • Flashcards
    • Quiz questions
  5. Frontend renders results in a clean, distraction-free UI

๐Ÿงฐ Tech Stack

Frontend

  • Next.js (App Router)
  • React
  • Tailwind CSS

Backend

  • Python
  • FastAPI
  • Uvicorn

AI and Processing

  • Groq API
  • LLaMA 3.1 8B Instant

๐Ÿ“ Project Structure

studysync/
โ”œโ”€โ”€ backend/
โ”‚   โ”œโ”€โ”€ app/
โ”‚   โ”‚   โ”œโ”€โ”€ main.py                  # FastAPI app + CORS
โ”‚   โ”‚   โ”œโ”€โ”€ routes.py                # Notes, flashcards, quiz APIs
โ”‚   โ”‚   โ””โ”€โ”€ services/
โ”‚   โ”‚       โ”œโ”€โ”€ groq_service.py      # LLM prompts and parsing
โ”‚   โ”‚       โ””โ”€โ”€ transcript_service.py# YouTube + fallback handling
โ”‚   โ””โ”€โ”€ requirements.txt
โ”‚
โ”œโ”€โ”€ frontend/
โ”‚   โ”œโ”€โ”€ app/
โ”‚   โ”‚   โ”œโ”€โ”€ page.tsx                 # Main UI
โ”‚   โ”‚   โ””โ”€โ”€ api/
โ”‚   โ”‚       โ””โ”€โ”€ */route.ts           # Backend proxy routes
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ””โ”€โ”€ README.md

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 20+
  • pnpm
  • Python 3.11+
  • Groq API Key

Backend Setup

cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

Create .env inside backend/:

GROQ_API_KEY=your_groq_api_key_here

Run the backend:

uvicorn app.main:app --reload --port 8000

API Docs:

Frontend Setup

cd frontend
pnpm install
pnpm dev

Open the app:

Environment Configuration

NEXT_PUBLIC_BACKEND_URL=http://127.0.0.1:8000

๐Ÿ”Œ API Reference

All endpoints accept either a YouTube URL or a transcript.

POST /api/notes

{
  "url": "https://www.youtube.com/watch?v=VIDEO_ID",
  "transcript": "optional raw transcript"
}

POST /api/flashcards?count=10

{
  "url": "https://www.youtube.com/watch?v=VIDEO_ID",
  "transcript": "optional raw transcript"
}

POST /api/quiz?count=5

{
  "url": "https://www.youtube.com/watch?v=VIDEO_ID",
  "transcript": "optional raw transcript"
}

๐Ÿงญ Usage Guidelines

  • Upload a transcript if captions are unavailable
  • Flashcards: typically 10โ€“20 per session
  • Quizzes: typically 5โ€“15 questions
  • Long transcripts are processed in chunks automatically

๐Ÿ›  Error Handling and Reliability

Study.Sync is designed to handle:

  • Temporary YouTube transcript blocks
  • Long or noisy transcripts
  • API failures with clear user feedback

All failures return actionable error messages, not silent crashes.


๐Ÿ”’ Security and Privacy

  • No authentication required
  • No user data storage
  • No transcripts are persisted
  • Designed for local and self-hosted usage

๐Ÿ”ฎ Future Enhancements

  • PDF and article input support
  • Export to Anki, Notion, or PDF
  • Learning history and personalization
  • Multi-language support
  • User accounts (optional)

๐Ÿค Contributing

Contributions are welcome.

  • Fork the repository
  • Create a feature branch
  • Commit your changes
  • Open a pull request

๐Ÿ“„ License

Licensed under the MIT License.

About

Study.Sync is an AI-powered learning assistant that turns YouTube lectures or pasted transcripts into structured notes, flashcards, and practice quizzes using a FastAPI backend and Next.js frontend powered by Groq LLMs.

Topics

Resources

License

Stars

Watchers

Forks