Upload notes, get flash cards, avoid distractions and ace your exams.
In today's world, students are constantly distracted by platforms like YouTube, Instagram, and TikTok. The addictive nature of short-form videos makes it tough to stay focused during periods of deep work, e.g., exam periods. As students who have dealt with these struggles ourselves, we decided to create a solution. Our goal is to not only block these distractions but also transform them into chances for learning.
Flash Focus is a Chrome extension that:
- Blocks user-specified websites during crucial exam periods
- Uses AI to identify and block websites irrelevant to the student's syllabus
- Converts attempted visits to restricted sites into study sessions
- Presents flashcards based on the student's exam notes when distractions are attempted
- Allows users to create custom flashcards for additional study material
- Displays a countdown to exam date after incorrect answers, reinforcing urgency
Our tech stack includes:
- Frontend: React, TypeScript, Vite, and Tailwind CSS
- Backend: Python, FastAPI
- Database: MongoDB
- AI Integration: Gemini API
We developed the Chrome extension architecture to seamlessly integrate with users' browsing experience. The AI component, powered by Gemini, analyzes students' exam notes to understand their syllabus and make intelligent decisions about website relevance.
- Remote Collaboration: As first-time hackathon partners working entirely remotely, we had to meticulously plan our idea and divide tasks effectively.
- Learning Curve: None of us had prior experience building Chrome extensions, which posed a significant challenge given the time constraints.
- AI Integration: Implementing the Gemini API to accurately analyze exam notes and make real-time decisions about website relevance was complex.
- Time Management: Balancing feature development, bug fixing, and project refinement within the 48-hour timeframe was challenging.
- Successful Remote Collaboration: Despite never having worked together before, we created a fully functional product that addresses a real problem.
- Rapid Learning and Implementation: We quickly learned Chrome extension development and successfully built our first extension.
- AI-Powered Functionality: We effectively integrated AI to make our extension smart and adaptable to individual students' needs.
- User-Centric Design: We created an intuitive UI/UX that seamlessly integrates into students' study routines.
- Chrome Extension Development: We gained hands-on experience in building browser extensions.
- AI Integration: We learned how to leverage AI APIs to enhance application functionality.
- Remote Teamwork: We developed skills in effective remote collaboration and task management.
- Rapid Prototyping: We learned to quickly iterate on ideas and develop a minimum viable product under time constraints.
- Machine Learning Integration: Implement ML to personalize the flashcard generation based on individual learning patterns.
- Cross-Browser Support: Extend functionality to other popular browsers like Firefox and Safari.
- Mobile App Development: Create a companion mobile app to provide a holistic study-focus solution.
- Gamification: Introduce rewards and progress tracking to further motivate users.
- Integration with Learning Management Systems: Allow seamless import of course materials from popular LMS platforms.
- Clone this repository
- Run
yarn
ornpm i
(check your node version >= 16) - Run
yarn dev
ornpm run dev
- Load Extension in Chrome
- Open Chrome browser
- Access
chrome://extensions
- Enable Developer mode
- Click on Load unpacked extension
- Select the
dist
folder in this project (after dev or build)
- Go to
chrome://flags/#enable-experimental-web-platform-features
- Enable "Experimental Web Platform features"
- If you want to build for production, run
yarn build
ornpm run build
- React 18
- Vite
- TypeScript
- Tailwind CSS
- ESLint
- Chrome Extension Manifest Version 3