FlashcardFactory

Table of Contents

Inspiration

As students ourselves, we've spent countless hours creating flashcards by hand to prepare for exams. The process is time-consuming and takes away from actual studying. We realized that with recent advances in AI, particularly with models like Gemini, we could automate this process and give students back valuable time while creating even better study materials. Our inspiration came from wanting to transform a tedious but necessary task into something effortless and efficient.

What it does

FlashcardFactory takes your educational materials (PDFs, PowerPoints, Word documents, or text files), analyzes them using AI, and automatically generates high-quality flashcards tailored to your needs. You can customize the number of cards, difficulty level, and educational context, then instantly study with our interactive flashcard interface or export them for use with other platforms like Quizlet.

Overview

FlashcardFactory is an AI-powered application that automatically transforms educational materials into high-quality study flashcards, saving students valuable study time while enhancing their learning experience.

The Problem

Creating flashcards is a fundamental study technique for many students, but manually producing them is time-consuming and tedious, taking away valuable study time. Students need an efficient way to convert their lecture materials into effective study tools.

Our Solution

FlashcardFactory solves this problem by leveraging the power of Gemini models to analyze and extract key information from educational materials, generating comprehensive flashcards instantly. Our platform provides users with an intuitive interface to upload their study materials, customize their flashcard creation, and immediately begin studying with our interactive flashcard display.

Key Features

  • Instant Flashcard Generation: Upload your educational materials and get study-ready flashcards within seconds
  • Multi-Format Support: Accepts various file formats including PDFs, PowerPoints, Word documents, and plain text files
  • Interactive Flashcard Display: Smooth card-flip animations and intuitive navigation for an engaging study experience
  • Customization Options: Control the number of flashcards, difficulty level, and educational context
  • Downloadable Exports: Save your flashcards in formats compatible with major platforms like Quizlet
  • Responsive Design: Study on any device with our mobile-friendly interface
  • Real-time Processing: Visual loading indicators keep you informed about generation progress

How we built it

We built FlashcardFactory using a modern web development stack with AI integration:

  1. Backend Architecture: We developed a FastAPI backend in Python to handle document processing, AI interactions, and serving the web application.

  2. AI Integration: We implemented Google's Gemini AI API with carefully crafted prompts to extract relevant information from educational materials and generate well-structured flashcards.

  3. Document Processing: We created parsers for various file formats (PDF, DOCX, PPTX, TXT) to extract text content for AI processing.

  4. Frontend Design: We built a clean, responsive interface using HTML, CSS, and JavaScript with intuitive controls for uploading documents and viewing flashcards.

  5. Containerization: We used Docker to ensure consistent deployment and simplify the setup process for both development and production environments.

Technologies Used

Backend

  • Python 3.10+
  • FastAPI
  • Google Gemini AI API
  • Jinja2 Templates

Frontend

  • HTML5/CSS3
  • JavaScript
  • Responsive Design

Document Processing

  • PDF, PPTX, DOCX, and TXT parsing libraries

Development & Deployment

  • Docker and Docker Compose
  • Git version control
  • Uvicorn ASGI server

How It Works

  1. Upload Documents: Provide lecture notes, textbooks, or study materials
  2. Set Preferences: Customize the flashcards to your specific needs
  3. Generate: The AI processes your materials and creates tailored flashcards
  4. Study: View and use the generated flashcards in an easy-to-use interface
  5. Export: Download your flashcards for use in other platforms like Quizlet

Challenges we ran into

Building FlashcardFactory presented several significant challenges:

  1. Document Parsing: Extracting structured, meaningful content from various document formats (especially PowerPoint and PDF) proved difficult due to layout variations and formatting inconsistencies.

  2. AI Prompt Engineering: Creating prompts that consistently generated high-quality flashcards required extensive experimentation and refinement to achieve the right balance of content extraction and formatting.

  3. UI/UX Design: Designing an intuitive flashcard interface with smooth animations while ensuring it worked well across different devices and screen sizes was challenging.

  4. Performance Optimization: Ensuring the application remained responsive during document processing and AI interactions required careful optimization of our backend processes.

  5. Time Constraints: Building a complete, polished application within the 24-hour hackathon timeframe required efficient teamwork and prioritization of features.

Accomplishments that we're proud of

  1. Seamless AI Integration: We successfully integrated Gemini AI to produce high-quality flashcards that genuinely capture the important concepts from educational materials.

  2. User Experience: We created an intuitive, responsive interface that makes the process of generating and studying with flashcards effortless.

  3. Multi-Format Support: Our application can handle a variety of document formats commonly used in educational settings.

  4. Export Functionality: We implemented a clean export feature that allows integration with popular flashcard platforms like Quizlet.

  5. Complete Solution: Despite the time constraints, we delivered a fully functional application that solves a real problem for students.

What we learned

Through developing FlashcardFactory, we gained valuable experience in:

  1. AI Application Development: We learned how to effectively use large language models for specific use cases, including the nuances of prompt engineering.

  2. Document Processing: We developed skills in extracting and processing content from various document formats.

  3. Full-Stack Development: We improved our abilities to build cohesive applications that connect frontend experiences with backend processing.

  4. Team Collaboration: Working under time pressure taught us efficient communication and task distribution strategies.

  5. User-Centered Design: We gained insights into designing tools that prioritize user needs and workflow efficiency.

Demo

FlashcardFactory Demo

Watch our demo video on YouTube to see FlashcardFactory in action!

What's next for FlashcardFactory

We have exciting plans to enhance FlashcardFactory in the future:

  • Audio Input Processing: Adding speech-to-text for lecture recordings and audio notes
  • Collaborative Features: Enabling sharing and collaborative editing of flashcard sets
  • Enhanced AI Customization: More granular control over AI-generated content and style
  • Accounts: To be able to save created flashcard sets and return to them later

The Team

We are four ambitious seniors—Spencer Presley, Cole Barbes, Victor Tung, and Dustin O'Brien—from Salisbury University and University of Delaware, dedicated to enhancing learning through innovative technology. Our diverse backgrounds in computer science and software engineering enabled us to build FlashcardFactory in under 24 hours during this hackathon.

Built With

Share this project:

Updates