An intelligent flashcard application that transforms PDFs into comprehensive study decks using AI, with spaced repetition and progress tracking.
Akash Chaudhary ๐ B.Tech Final Year (Information Technology) ๐ป Full Stack Developer | React | FastAPI | AI Enthusiast
I am a final-year B.Tech IT student passionate about building scalable full-stack applications and integrating AI into real-world solutions. This project showcases my ability to design and develop an end-to-end system using modern technologies like FastAPI, React, and AI APIs.
๐ https://flashcard-engine-steel.vercel.app
๐ https://flashcard-engine-qflr.onrender.com
๐ https://flashcard-engine-qflr.onrender.com/docs
- PDF to Flashcards: Upload any PDF and automatically generate comprehensive flashcards
- RAG-Powered Generation: Semantic chunking ensures thorough coverage (237 cards from 8972 words)
- Spaced Repetition: SM-2 algorithm schedules reviews based on your performance
- Time-Based Analytics: Track how long you spend on each card to identify mastery levels
- Active Recall: Type your answer before revealing to test true understanding
- Mastery Dashboard: Track cards across 4 stages (New โ Learning โ Review โ Mastered)
- Streak Counter: Build daily study habits with streak tracking ๐ฅ
- Weak Areas: Automatically identifies decks that need more attention
- Activity Charts: Visualize your study patterns over the last 7 days
- Time Analytics: See which cards are quick (mastered) vs slow (need practice)
- Simplified Feedback: 3 clear options (Hard/Medium/Easy) with smart suggestions
- Dark Mode: Toggle between light and dark themes
- Real-time Search: Find decks and cards instantly
- Mobile Responsive: Study anywhere on any device
- Smooth Animations: Delightful transitions and card flips
- Python 3.8+
- Node.js 16+
- Groq API Key (Get one free)
cd backend
# Create virtual environment
python -m venv .venv
.venv\Scripts\activate # On Windows
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env and add your GROQ_API_KEY
# Create test user (optional)
python create_test_user.py
# Start server
python -m uvicorn main:app --reload --host 0.0.0.0 --port 8000Backend will be available at http://localhost:8000
cd frontend
# Install dependencies
npm install
# Start development server
npm run devFrontend will be available at http://localhost:5173
-
Create a new Web Service on Render
-
Connect your GitHub repository
-
Configure:
- Root Directory:
backend - Build Command:
pip install -r requirements.txt - Start Command:
uvicorn main:app --host 0.0.0.0 --port $PORT
- Root Directory:
-
Add environment variables:
- GROQ_API_KEY
- JWT_SECRET
- FRONTEND_URL
-
Import project on Vercel
-
Configure:
- Root Directory:
frontend - Framework: Vite
- Root Directory:
-
Add environment variable:
- VITE_API_URL
Email: a@gmail.com
Password: 123456
- Click "New Deck" button
- Enter deck name and description
- Upload PDF OR enter topic
- Generate flashcards
- Read โ Think โ Flip โ Rate
- Difficulty: Hard / Medium / Easy
- Monitor mastery levels
- Check weak areas
- Analyze performance
Backend
- FastAPI
- SQLAlchemy
- SQLite
- Groq API
- PyPDF2
Frontend
- React + TypeScript
- Vite
- Tailwind CSS
- Framer Motion
- React Router
flashcard-engine/
โโโ backend/
โ โโโ database/
โ โโโ models/
โ โโโ routes/
โ โโโ services/
โ โโโ main.py
โ โโโ requirements.txt
โ
โโโ frontend/
โ โโโ src/
โ โ โโโ components/
โ โ โโโ pages/
โ โ โโโ lib/
โ โ โโโ App.tsx
โ โโโ package.json
โ โโโ vite.config.ts
โ
โโโ README.md
- POST
/auth/register - POST
/auth/login - GET
/auth/me
- GET
/decks - POST
/decks - GET
/decks/{id} - DELETE
/decks/{id} - POST
/decks/{id}/upload-pdf - POST
/decks/{id}/generate
- GET
/cards/deck/{id} - POST
/cards/{id}/rate
- Upload PDF
- Extract text
- AI generates flashcards
- Study using spaced repetition
- Track performance
Convert static PDFs into interactive learning using AI and spaced repetition.
- ๐ Efficient AI-based flashcard generation
- ๐ Improved retention
- ๐ง Smart learning tracking
- Mobile app
- Collaboration
- Gamification
- AI hints
MIT License
Contributions are welcome!
๐ง akashchaudhary5100@gmail.com ๐ฑ 9140814285
โญ Built with โค๏ธ by Akash Chaudhary