Inspiration

As college students, we've all felt the pressure of looming exams and the endless search for effective study methods. We'd spend hours manually creating flashcards and trying to pinpoint the key concepts from dense lecture notes. The inspiration for Learnify struck during a conversation with the founder of Quizlet. Hearing his story about creating a tool to solve his own study frustrations resonated with us deeply. He wasn't trying to build a massive company; he was trying to pass a test. That mindset inspired us to build a tool that could not only help us succeed in our own classes but also benefit our peers who face the same struggles. We wanted to create something that could automate the tedious parts of studying, allowing us to focus on what truly matters: learning. As some of our team members are pursing their first Hackathon we decided to pursue something super releveant to us.

What it does

Learnify is an intelligent, AI-powered study application designed to accelerate learning by transforming static PDF documents into a suite of dynamic, interactive study materials. At its core, Learnify leverages the Groq API with the Llama 3.1 model to analyze uploaded content, automatically extracting key concepts to generate tailored flashcards and multiple-choice quizzes. This allows students to move beyond passive reading and engage directly with their course material through interactive study sessions. The platform includes a flashcard mode for mastering key terms and a quiz mode that provides immediate feedback, complete with AI-generated explanations for incorrect answers to deepen understanding. Beyond simple content conversion, Learnify features an AI Test Planner that creates structured, day-by-day study schedules based on the user's notes and a specified exam date. These plans include daily topics, detailed breakdowns, estimated study times, and curated YouTube search queries to supplement learning. All user activity is tracked on a personal dashboard, which offers analytics on study time, flashcard mastery, and quiz performance, empowering students to monitor their progress and identify areas needing further attention.

How we built it

Learnify is a full-stack application built with a modern tech stack designed for performance and intelligence. For the backend we chose a Flask framework for our backend, creating a robust REST API to handle user requests. We used SQLAlchemy to manage a SQLite database, which stores user-generated study sessions, materials, and progress data. The core of our application lies in its AI capabilities, powered by the Groq API with the Llama 3.1 model. This allows us to perform complex tasks like analyzing PDF content, generating high-quality flashcards and quizzes, and even creating personalized study plans from user notes. For processing uploaded documents, we integrated the PyMuPDF library to reliably extract text from PDFs. For the frontend, the user interface is a dynamic and responsive single-page application built with React and TypeScript. We used Vite as our build tool for a fast and efficient development experience. For styling, we implemented Tailwind CSS to create a modern and clean design that is both intuitive and aesthetically pleasing. The frontend communicates with the Flask backend to upload files, fetch study materials, and save user progress, creating a seamless and interactive experience.

Challenges we ran into

Building Learnify was not without its hurdles. One of the biggest challenges we had was with reliable AI output. We had to ensure the AI consistently returned valid JSON. Occasionally, the Groq API would generate malformed data, causing our backend to crash. We overcame this by implementing stricter parsing and error handling. For instance, in our "Explain My Error" feature, we designed the backend to construct the final JSON object itself, only requesting raw text from the AI to make the process "crash-proof". Additionally, PDFs are extremely inconsistent. We initially struggled with files that contained complex layouts, images, or un-selectable text. Our pdf_utils.py script went through several iterations to reliably extract clean, usable text, and we added checks to validate that the extracted content was substantial enough for the AI to process. Similarly, as the application grew, managing state on the frontend became more complex. Passing data like a new session ID from the home page (after an upload) to the dashboard required careful handling of React Router's state and navigation hooks to ensure a smooth user experience without data loss on page reloads. This was a critical challenge to solve for the application to function as a cohesive whole.

What We Learned

This project was a significant learning journey. On the technical side, we gained invaluable experience in full-stack development, from designing a database schema to building a component-based UI. Integrating a third-party AI service taught us how to craft effective prompts and handle unpredictable API responses to ensure the generated content was always high-quality and correctly formatted. We also learned the importance of robust error handling, especially when dealing with variables like PDF text extraction and network stability. Beyond the code, we learned how to take a personal pain point and transform it into a functional product. This project reinforced the value of user-centered design. Every feature, from the simple file upload to the detailed progress dashboard, was built with the end-user as a fellow student.

Accomplishments that we're proud of

We are particularly proud of successfully architecting and deploying a full-stack application that seamlessly integrates a powerful AI model to solve a common student problem. Building a robust Flask backend to manage a SQLite database and communicate with the Groq API, paired with a responsive React and TypeScript frontend, represents a significant technical achievement. This integration provides a fluid, end-to-end user experience, from uploading a file to engaging with AI-generated content. We also engineered a "crash-proof" system for handling AI responses where by having the backend request only raw text for certain features and constructing the JSON itself, we made the application more resilient and reliable. The AI Test Planner stands out as a major accomplishment, as it elevates Learnify from a simple study aid to a comprehensive learning management tool like Quizlet, but the ability to generate a structured, actionable study plan complete with external learning resources demonstrates a deeper application of AI that provides immense value to students something our competitors cannot do. Above all, we are proud of our user-centric design approach. Every feature was developed to address the real-world challenges we and our peers face, resulting in a tool that is not only powerful but also intuitive and genuinely helpful for academic success.

What's next for Learnify

Looking ahead, our vision for Learnify is to evolve it from a personal study tool into a collaborative, community-driven learning ecosystem with cutting-edge features. A key priority is implementing multi-file support, allowing users to upload and synthesize information from multiple PDFs into a single, comprehensive study session. This will enable the AI to draw connections across an entire course curriculum, not just a single document. To further enrich the learning experience, we plan to integrate a Reddit-based search feature, which will allow the AI to find and incorporate relevant discussions and explanations from educational subreddits, providing real-world context and diverse perspectives on complex topics. To foster a community of learners, we will build a robust database for user-generated content. Users will have the ability to make their study sets private or public, creating a searchable library where they can discover and use materials created by their peers. This will transform Learnify into a collaborative platform where knowledge is shared and expanded upon by the community. On the frontier of AI innovation, our most ambitious goal is to develop a proprietary AI Tutor capable of generating animated AI videos. This feature would provide dynamic, visual explanations of difficult concepts, offering a multi-modal learning experience that caters to different learning styles and makes abstract topics more accessible and engaging

Built With

Share this project:

Updates