Inspiration
As university students, we realised how overwhelming it can be to keep up with fast-paced lectures, endless PDFs, and revision notes scattered everywhere. We wanted a tool that not only summarises content but also helps students actively learn, not just passively read. LearnForge was created to make studying faster, smarter, and more personalised, especially for students juggling multiple modules.
What it does
LearnForge is an AI-powered study assistant that helps students revise efficiently by offering:
✅ AI Note Summarisation
Paste notes or upload a PDF, and LearnForge instantly generates a clean, easy-to-understand summary.
✅ Smart Quiz Generation
The app creates personalised Open-ended quizzes based on your notes
✅ PDF-to-Notes Extraction
Upload lecture slides or handouts—LearnForge extracts the text and turns it into revision-ready material.
✅ Downloadable Exports
Students can download:
Summaries (.txt)
Quizzes (.txt)
Everything is clean, simple, and student-friendly.
How we built it
LearnForge was built using:
Backend
ASP.NET Core MVC
C#
OpenAI API (GPT models for summarisation + quiz generation)
PdfPig for PDF text extraction
Frontend
Razor Views
Bootstrap 5
Custom baby-pink UI theme for a calming, student-focused experience
Architecture
Controllers manage PDF uploads, API requests, and exports
Services contain all AI logic and text cleaning
Models define user inputs and AI output structure
The app follows a clear MVC structure, making it modular, scalable, and easy to extend.
Challenges we ran into
We faced several unexpected challenges:
❗ AI Integration Issues
Connecting our local environment to the OpenAI API initially caused endless 401 errors due to:
Environment mismatches
Keys tied to the wrong account
Missing development JSON config
❗ JSON Response Parsing
Large language models sometimes returned text wrapped in invalid formatting (e.g., ```json), which caused deserialization failures. We built a custom cleaning pipeline to strip markup and extract valid JSON.
❗ PDF Extraction
PDFs often contain messy formatting, line breaks, and odd spacing. We implemented normalization steps to improve analysis consistency.
❗ Routing Conflicts
Duplicate Index routes created ambiguous endpoint errors. We refactored methods and removed collisions to stabilise the app.
Despite these challenges, we built a smooth, fully functioning system.
Accomplishments that we're proud of
Built a complete AI-powered learning assistant from scratch
Integrated file uploads, AI, and quiz generation
Designed a polished, aesthetic baby-pink UI to make studying feel welcoming
Implemented flexible quiz controls (difficulty, question type, question count)
Achieved smooth PDF → AI → summary/quiz workflow
Overcame OpenAI key + configuration issues that blocked development
The final product is clean, fast, and genuinely useful for students.
What we learned
Throughout this build, we learned:
How to design and structure an ASP.NET MVC application
How to interact with external APIs securely
How to parse & validate JSON returned by LLMs
How to implement file uploads and PDF text extraction
How to solve API authentication, routing, and serialisation issues
How to build user-friendly, minimalist UI inside Razor views
Most importantly, we learned how to turn a rough concept into a polished educational tool.
What's next for LearnForge
We already have a roadmap for future improvements:
🎯 MCQ Auto-Marking
Students answer quizzes → system grades them → provides explanations.
🎯 Study Progress Tracker
XP system, streaks, level-ups, and performance analytics.
🎯 Flashcard Export
Automatically generate Anki-ready sets.
🎯 Module-Based Organisation
Organise summaries/quizzes by course or topic.
🎯 Study Timer + Focus Mode
Pomodoro + distraction-free UI.
🎯 Interactive Quiz Mode
Click-to-reveal answers + instant feedback.
LearnForge has the potential to grow into a full AI-driven learning platform built for students, by students.
Built With
- asp.net
- bootstrap
- c#
- css3
- googlefonts
- html5
- javascript
- openai
- pdfpig
- system.text.json
- visual-studio
Log in or sign up for Devpost to join the conversation.