Inspiration
As a student juggling multiple courses, we often found ourselves overwhelmed by dense textbooks and lengthy lecture notes. I'd spend hours searching for key concepts, trying to connect ideas across pages, and wishing I had someone to just explain it simply. That's when the idea hit me: What if I could upload a PDF and talk to an AI that understands it?
StuTutor-AI was born from a real pain point - the gap between static learning materials and dynamic understandings. We wanted to build a tool that doesn't answer questions, but teaches - like a patient tutor who's read your entire syllabus.
What it does
StuTutor-AI is an intelligent, AI-powered tutoring platform that transforms any PDF (textbooks, lecture notes, assignments) into an interactive study companion.
Key Features:
- Upload PDFs and have them instantly analyzed
- Ask questions in natural languages - get context-aware answers
- Interactive chat with full conversation history
- Organize study sessions by document
- Real-time explanations, summaries, and insights powered by OpenAI
It's like having a 24/7 tutor who's already studied your materials.
How we built it
We built StuTutor-AI as a full-stack React application with a focus on speed, simplicity, and developer experience.
Tech Stack:
- Frontend: React, TypeScript, Vite, Tailwind CSS, shadcn/ui, React Router
- Backend: Node.js, Express, Supabase (Auth + Postgres), Multer
- AI: OpenAI API (
gpt-3.5-turbo),pdf-parse - Dev Tools: ESLint, Nodemon, Sonner (toasts), Lucide Icons
Challenges we ran into
- OpenAI token limits - We consumed all of our tokens while developing the project.
- NeuralSeek integration - Tried alternative AI provider but we were unable to send out the responses from NeuralSeek into the user's chat.
- Silent PDF extraction failures - Sometimes the PDF may contain tough characters to extract.
- Chat losing context on reload - We have all the chat logs stored in the database, but on refresh in the app it would not load them again.
- Auth0 integration - We ran into errors, so we had to scrap this in the end.
Accomplishments that we're proud of
- First AI answer from *my own uploaded PDF* — pure magic
- Built a complete auth + database system with Supabase in under 2 hours
- Smooth, real-time chat with streaming responses and Tailwind animations
- Clean, responsive UI using shadcn/ui — looks professional out of the box
- Fully persistent conversations — survive page reloads and server restarts
What we learned
- Token limits hit fast in real AI apps - we learned the hard way that it would sometimes not load the entire PDF + chat history can vanish if not managed correctly.
- Not every AI API plays nice under pressure - we tried integrating NeuralSeek for enhanced reasoning, but we weren't able to send it's responses back into the chat.
- PDFs are wild - some are images, some are locked, some have weird formatting.
- Hackathon time = ruthless prioritization - we had to manage software development under intense time constraints.
What's next for StuTutor-AI
- Persistent PDF storage (Supabase Storage / S3)
- Text highlighting - AI cites exact locations in the PDF
- Auto-generated quizzes from document content
- Voice input/output for hands-free studying
- Export notes & summaries as Markdown/PDF
Built With
- css
- eslint
- express.js
- lucide
- multer
- node.js
- nodemon
- openai
- pdf-parse
- react
- shadcn
- sonner
- supabase
- tailwind
- typescript
- vite
Log in or sign up for Devpost to join the conversation.