I'm a Computer Engineering diploma student (Semester 3, GTU). I know basic Java, DBMS and HTML, and I'm a beginner in Python. I'm building a solo college project: "AI-Based Personalized Learning Platform".
Core idea: students upload ANY PDF (notes, textbook chapter, etc.) and the app turns it into easy visual learning material. It is not limited to one subject.
Tech stack: Python, Flask, SQLite, PyMuPDF, an LLM API (Gemini free tier; keep the API key in a .env file), HTML/CSS/JS, Mermaid.js, Chart.js, AOS animations. Windows + VS Code.
Features:
1. Register/Login (password hashing, Flask sessions)
2. Upload PDF (validate type and size, save it per user)
3. Extract text page by page, plus embedded images, using PyMuPDF
4. Send the text in chunks to the LLM and get back structured JSON:
- summary
- key points (short bullets)
- a Mermaid diagram (flowchart or mind map) of the concepts
- chart data (if the PDF has numbers or comparisons)
- 10 MCQs with topic tags and difficulty
5. Study page showing:
- key points that animate in one by one (AOS or CSS)
- the diagram rendered with Mermaid.js
- a chart rendered with Chart.js
- extracted PDF images in a gallery
6. Quiz page using the generated MCQs, saving every answer to attempts
7. Personalization: accuracy per topic, under 60% = weak, recommend re-reading the weak topic's section, and offer to generate easier questions for it
8. Dashboard: all uploaded documents, progress chart, weak topics, quiz history
Database tables: users, documents (id, user_id, filename, upload_date), content (id, document_id, summary, points_json, diagram_code, chart_json), questions (id, document_id, topic, question, option_a-d, answer, difficulty), attempts (id, user_id, question_id, correct, date).
Rules:
- Build in stages and wait for me to say "next":
Stage 1: folder structure + DB setup
Stage 2: register/login
Stage 3: PDF upload + text/image extraction
Stage 4: LLM integration (prompt design, JSON parsing, error handling)
Stage 5: study page (animated points, Mermaid, Chart.js, images)
Stage 6: quiz + personalization
Stage 7: dashboard + UI polish
- Give complete, working code per file, with the file name above it.
- Keep the code simple with comments so I can explain it in my viva.
- Handle large PDFs by chunking, and handle bad LLM output safely.
- Tell me how to run and test after each stage.
Start with Stage 1.
No preview
Comments (0)
No comments yet. Be the first!
Sign in to leave a comment
Project Tasks
17 planning tasks
Page design: Paused — add credits to continue
#1
Generate system requirement document
1m 10s0.2 cr used
Done
#2
Generate personas & user flows
0m 42s0.2 cr used
Done
#7
Create flow for Student Learner
0m 41sCredits in parent
Done
#8
Landing
0m 40sCredits in subtasks
Paused
#16
Landing / Hero Band
0.85 cr needed
Paused
#17
Landing / Pipeline Card
0.85 cr needed
Paused
#18
Landing / How It Works
0.85 cr needed
Paused
#19
Landing / Returning Student
0.85 cr needed
Paused
#9
Login
Credits in subtasks
Backlog
#10
Sign Up
Credits in subtasks
Backlog
#11
Dashboard
Credits in subtasks
Backlog
#12
Upload
Credits in subtasks
Backlog
#13
Study page
Credits in subtasks
Backlog
#14
Quiz page
Credits in subtasks
Backlog
#15
Personalization
Credits in subtasks
Backlog
#5
Architecture
0.2 cr needed
Paused
#6
Workspace task plan
0.2 cr needed
Paused
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No completed page designs yet.
Completed design pages will appear here when they are ready to preview.
No comments yet. Be the first!