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.
- Overview
- Why Study.Sync?
- Core Philosophy
- Key Features
- System Workflow
- Tech Stack
- Project Structure
- Getting Started
- API Reference
- Usage Guidelines
- Error Handling and Reliability
- Security and Privacy
- Future Enhancements
- Contributing
- License
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.
Learning from videos is powerful, but inefficient without structure.
- โธ๏ธ Constant pausing to write notes
- ๐ Rewatching the same sections before exams
- ๐ Manually creating flashcards and quizzes
- ๐ซ Missing or temporarily blocked YouTube captions
- โก 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
Study.Sync is designed around these principles:
- Structure over conversation
- Learning assistance, not shortcuts
- Reliability over novelty
- Local-first and self-host friendly
- โ A structured study material generator
- โ A notes + flashcards + quiz system
- โ A tool built for real academic workflows
- โ A chatbot or tutoring replacement
- โ A video downloader
- โ An answer-spitting exam solver
- YouTube URLs (with captions enabled)
- Manual transcript paste or upload (.txt, .srt)
- Topic-wise sections
- Concept-focused summaries
- Clean formatting for revision
- Questionโanswer format
- Optimized for spaced repetition
- Regeneratable on demand
- Multiple-choice questions (MCQs)
- Adjustable question count
- Designed to test understanding, not memorization
- Graceful handling of transcript failures
- Chunked processing for long videos
- Clear and actionable error messages
- User provides a YouTube URL or uploads a transcript
- Backend attempts caption extraction with fallback logic
- Transcript is cleaned, normalized, and chunked
- Groq LLM generates:
- Structured notes
- Flashcards
- Quiz questions
- Frontend renders results in a clean, distraction-free UI
- Next.js (App Router)
- React
- Tailwind CSS
- Python
- FastAPI
- Uvicorn
- Groq API
- LLaMA 3.1 8B Instant
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
- Node.js 20+
- pnpm
- Python 3.11+
- Groq API Key
cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txtCreate .env inside backend/:
GROQ_API_KEY=your_groq_api_key_hereRun the backend:
uvicorn app.main:app --reload --port 8000API Docs:
cd frontend
pnpm install
pnpm devOpen the app:
NEXT_PUBLIC_BACKEND_URL=http://127.0.0.1:8000All endpoints accept either a YouTube URL or a transcript.
{
"url": "https://www.youtube.com/watch?v=VIDEO_ID",
"transcript": "optional raw transcript"
}{
"url": "https://www.youtube.com/watch?v=VIDEO_ID",
"transcript": "optional raw transcript"
}{
"url": "https://www.youtube.com/watch?v=VIDEO_ID",
"transcript": "optional raw transcript"
}- 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
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.
- No authentication required
- No user data storage
- No transcripts are persisted
- Designed for local and self-hosted usage
- PDF and article input support
- Export to Anki, Notion, or PDF
- Learning history and personalization
- Multi-language support
- User accounts (optional)
Contributions are welcome.
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a pull request
Licensed under the MIT License.