Inspiration
Being a student myself, I can understand the struggle of spending countless hours rereading dense lecture notes trying to find answers to specific questions or distill key concepts before exams. I wanted to build a tool that meets students where they are, letting them interact with their lecture materials naturally, the same way they would ask a question to a professor or a tutor.
What it does
LectureAI lets students upload any lecture PDF and interact with it through an intelligent chat interface. Students can ask specific questions about the material and receive accurate, contextual answers, or generate a structured summary broken down into key concepts and bullet points, all while viewing the original document side by side.
How I built it
I built LectureAI as a full stack web application using React and Vite for the frontend, styled with Tailwind CSS, and FastAPI for the backend. The core AI functionality is powered by Amazon Nova 2 Lite via the AWS Bedrock Converse API.
Challenges I ran into
- Understanding the difference between the AWS Bedrock
invoke_modelandconverseAPIs — PDF document input is only supported by the Converse API, which I discovered after initially building aroundinvoke_model - Configuring CORS correctly between the React frontend and the FastAPI backend across local development and production environments
- Managing Docker networking between the frontend and backend containers and ensuring environment variables were passed correctly at runtime rather than baked into images
- Ensuring the PDF was only displayed and the chat interface only enabled after a successful backend upload, not just after a file was selected locally
Accomplishments that I'm proud of
- Building a fully functional full stack AI application from scratch, including frontend, backend, containerization, and cloud deployment
- Implementing a clean split-panel UI that lets students read their lecture and chat with it simultaneously without switching context
- Securing the API with key-based authentication to prevent unauthorized access and protect AWS usage costs
- Successfully deploying the entire application to AWS using production-grade infrastructure including Docker, ECR, and App Runner
What I learned
- How to use the AWS Bedrock Converse API to send multimodal inputs combining documents and natural language to Amazon Nova
- How React state management, hooks, and component architecture work together to build responsive, interactive UIs
- How Docker containers work and how Docker Compose orchestrates multiple services together
- The importance of thinking about security early, from restricting IAM permissions to protecting API endpoints and keeping credentials out of source control
What's next for LectureAI
- Multi-file support — allow students to upload an entire week of lectures and ask questions across all of them at once
- User authentication — let students save their chat history and summaries across sessions
- Flashcard generation — automatically generate study flashcards from key concepts in the lecture
- Voice input — integrate Amazon Nova Sonic to let students ask questions by speaking instead of typing
- Highlighting — automatically highlight the relevant section of the PDF that corresponds to each answer
Log in or sign up for Devpost to join the conversation.