Transform Your Learning Experience with AI
๐ Live Demo โข ๐ Documentation โข ๐ฏ Quick Start โข ๐ค Contributing
FlashFlicker revolutionizes studying by combining artificial intelligence, gamification, and modern web technology into one powerful platform. Whether you're a student, educator, or lifelong learner, FlashFlicker adapts to your learning style and keeps you motivated.
"Learning made intelligent, engaging, and effective"
- ๐ Students preparing for exams and coursework
- ๐ฉโ๐ซ Educators creating interactive study materials
- ๐ Professionals mastering new skills and concepts
- ๐ง Lifelong Learners exploring new subjects with AI guidance
|
|
|
|
| Feature | Traditional Apps | FlashFlicker |
|---|---|---|
| Content Creation | Manual, time-consuming | AI-generated in seconds |
| Personalization | One-size-fits-all | Adapts to your learning style |
| Motivation | Basic progress bars | Comprehensive gamification |
| Study Guidance | Static content | Interactive AI coaching |
| Cross-Platform | Limited functionality | Full-featured everywhere |
Before you begin, ensure you have the following installed:
| Requirement | Version | Download Link |
|---|---|---|
| Node.js | 20.0.0+ | nodejs.org |
| Package Manager | npm/yarn/pnpm | Comes with Node.js |
| Gemini API Key | Latest | Google AI Studio |
# Clone and setup in one command
git clone https://github.com/Hamdan772/FlashFlicker.git && cd FlashFlicker && npm install && npm run dev# 1๏ธโฃ Clone the repository
git clone https://github.com/Hamdan772/FlashFlicker.git
cd FlashFlicker
# 2๏ธโฃ Install dependencies
npm install
# or for faster installs
pnpm install
# 3๏ธโฃ Start development server
npm run devFlashFlicker offers flexible API key management:
- Open http://localhost:3000
- Click the ๐ key icon in the navigation bar
- Enter your Gemini API key
For testing and demonstrations:
- Type
"owner"โ Full access with all features unlocked - Type
"judge"or"test"โ Evaluation mode with sample data
# Create .env.local file
echo "GEMINI_API_KEY=your-api-key-here" > .env.localFollow this quick walkthrough to get the most out of FlashFlicker:
graph LR
A[๐ Create Note] --> B[๐ค Generate Flashcards]
B --> C[๐ Take Quiz]
C --> D[๐ฌ Chat with AI Coach]
D --> E[๐ View Progress]
E --> F[๐ Unlock Badges!]
-
๐ Create Your First Note
- Navigate to
/dashboard/notes - Click "New Note" and add some study content
- Try uploading a PDF or document for instant import
- Navigate to
-
๐ค Generate Flashcards
- Go to
/dashboard/flashcards - Paste any text or upload a file
- Watch AI create intelligent flashcards in seconds
- Go to
-
๐ Take a Quiz
- Visit
/dashboard/quizzes - Generate a quiz from your study materials
- Test your knowledge with AI-created questions
- Visit
-
๐ฌ Chat with AI Coach
- Head to
/dashboard/coach - Ask questions about your study materials
- Get personalized study tips and explanations
- Head to
-
๐ Track Your Progress
- Check
/dashboard/rewardsfor your achievements - View
/dashboard/datafor detailed analytics - Celebrate your growing streak and XP!
- Check
FlashFlicker is optimized for deployment on Vercel:
-
Push to Git
git add . git commit -m "Ready for deployment" git push origin main
-
Connect to Vercel
- Visit vercel.com
- Import your GitHub repository
- Vercel will automatically detect the Next.js configuration
-
Configure Environment Variables (Optional)
- In your Vercel dashboard, go to Settings > Environment Variables
- Add
GEMINI_API_KEYif you want server-side API key management - Otherwise, users can enter their API keys directly in the app
-
Deploy!
- Click "Deploy" and watch your app go live
- Vercel will provide you with a production URL
| Platform | Configuration | Notes |
|---|---|---|
| Netlify | netlify.toml included |
Static export compatible |
| Railway | Dockerfile ready |
Full-stack deployment |
| DigitalOcean | App Platform compatible | Container-based deployment |
| Self-hosted | Docker support | Complete control over infrastructure |
| Variable | Required | Description |
|---|---|---|
GEMINI_API_KEY |
No* | Server-side API key (optional - users can enter their own) |
NODE_ENV |
Auto | Automatically set by hosting platforms |
*Users can enter API keys directly in the application interface.
| Platform | Support Level | Minimum Version | Features |
|---|---|---|---|
| ๐ฅ๏ธ Desktop Chrome | โ Full Support | 90+ | All features including file upload |
| ๐ฅ๏ธ Desktop Firefox | โ Full Support | 88+ | Complete functionality |
| ๐ฅ๏ธ Desktop Safari | โ Full Support | 14+ | All features available |
| ๐ฅ๏ธ Desktop Edge | โ Full Support | 90+ | Full compatibility |
| ๐ฑ Mobile Safari | โ Full Support | iOS 14+ | Touch-optimized interface |
| ๐ฑ Chrome Mobile | โ Full Support | Android 90+ | Complete mobile experience |
| ๐ป PWA Support | โ Available | All browsers | Install as desktop app |
- RAM: 4GB minimum (8GB recommended)
- Storage: 100MB free space
- Network: Broadband connection for AI features
- Resolution: 1024x768 minimum (responsive design)
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes with proper TypeScript types
- Run tests:
npm run typecheck && npm run lint - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- Follow existing code style and conventions
- Add TypeScript types for all new code
- Test your changes thoroughly
- Update documentation as needed
- Ensure all linting passes
This project is licensed under the MIT License - see the LICENSE file for details.
- Google AI for the powerful Gemini API
- Vercel for the amazing Next.js framework
- Radix UI for accessible component primitives
- The open-source community for all the amazing tools and libraries
๏ฟฝ Common Issues & Solutions
Problem: "API key not working" or quota exceeded errors
# Solutions:
1. Verify key at: https://aistudio.google.com/app/apikey
2. Check usage limits in Google AI Studio
3. Use shortcuts: "owner", "judge", or "test" for demo modeProblem: Notes not saving or data loss
# Solutions:
1. Check browser storage permissions
2. Clear browser cache and reload
3. Ensure sufficient storage space (>50MB free)
4. Try incognito/private mode to testProblem: Slow loading or AI responses
# Solutions:
1. Check internet connection speed
2. Clear browser cache
3. Disable browser extensions temporarily
4. Try a different browserProblem: Features not working on mobile
# Solutions:
1. Update to latest browser version
2. Enable JavaScript in browser settings
3. Clear mobile browser cache
4. Try desktop version if needed๐ก Frequently Asked Questions
Q: Do I need an internet connection? A: Basic features work offline, but AI functionality requires internet for Google Gemini API.
Q: Is my data private and secure? A: Yes! All data is stored locally in your browser. We never send your personal content to our servers.
Q: Can I use this for commercial purposes?
A: Yes, FlashFlicker is MIT licensed. Perfect for educational institutions and businesses.
Q: How much does it cost? A: FlashFlicker is free! You only pay for your Gemini API usage (very affordable - often under $1/month).
Q: Can I contribute to the project? A: Absolutely! We welcome contributions. Check our Contributing Guidelines.
Q: What file formats are supported? A: Currently PDF, DOCX, and TXT files. More formats coming soon!
- File upload limited to 10MB per file
- AI responses may take 3-5 seconds during peak usage
- Bulk operations not yet optimized for 1000+ items
- Real-time Collaboration - Study with friends in real-time
- Advanced Analytics - Detailed learning insights and recommendations
- Mobile Apps - Native iOS and Android applications
- Offline AI - Local AI model for basic functionality
- Study Groups - Community features and shared study spaces
- LMS Integration - Connect with popular learning management systems
| Support Type | Contact Method | Response Time |
|---|---|---|
| ๐ Bug Reports | GitHub Issues | 24-48 hours |
| ๐ก Feature Requests | GitHub Discussions | 1-3 days |
| ๐ Documentation | Check /docs folder |
Instant |
| ๐ค Contributing | See Contributing Guide | Varies |
If FlashFlicker helps you learn better, please consider:
Built with โค๏ธ by learners, for learners
Made by @Hamdan772 | Follow for updates on new features!
"Education is the most powerful weapon which you can use to change the world." - Nelson Mandela
| Command | Description |
|---|---|
npm run dev |
Start development server with Turbopack |
npm run build |
Build for production |
npm run start |
Start production server |
npm run lint |
Run ESLint code quality checks |
npm run typecheck |
Run TypeScript type checking |
npm run genkit:dev |
Start Genkit AI development server |
npm run genkit:watch |
Start Genkit with file watching |
FlashFlicker includes a sophisticated API key management system:
- Secure Storage: Keys are encrypted and stored locally in your browser
- Auto-Save: No need to re-enter your key on each visit
- Quick Access Shortcuts: Use predefined shortcuts for testing and demos
- Validation: Built-in validation ensures your key is properly formatted
FlashFlicker is built with modern web technologies and best practices:
- App Router: Uses Next.js 15's latest app directory structure
- Server Components: Optimized performance with server-side rendering
- Type Safety: Full TypeScript coverage for robust development
- AI Integration: Genkit framework for seamless AI feature development
- Next.js 15.5.4 - Full-stack React framework with Turbopack
- React 18 - Latest React with concurrent features
- TypeScript - Type-safe development experience
- Google Gemini AI - Advanced AI for content generation
- Genkit - AI workflow management
- Zod - Runtime type validation and parsing
- Tailwind CSS - Utility-first CSS framework
- Radix UI - Accessible, unstyled UI primitives
- Lucide Icons - Beautiful, customizable icons
- TipTap - Rich text editor for notes
- Recharts - Data visualization library
- ESLint - Code quality and consistency
- Prettier - Code formatting (implied)
- Turbopack - Ultra-fast bundler for development
FlashFlicker/
โโโ ๐ src/
โ โโโ ๐ app/ # Next.js App Router
โ โ โโโ ๐ dashboard/ # Main dashboard pages
โ โ โ โโโ ๐ flashcards/ # Flashcard management
โ โ โ โโโ ๐ coach/ # AI study coaching
โ โ โ โโโ ๐ quizzes/ # Quiz generation & taking
โ โ โ โโโ ๐ notes/ # Note-taking system
โ โ โ โโโ ๐ data/ # Progress analytics
โ โ โ โโโ ๐ rewards/ # Gamification dashboard
โ โ โโโ layout.tsx # Root layout with providers
โ โ โโโ page.tsx # Landing page
โ โโโ ๐ components/ # Reusable UI components
โ โ โโโ ๐ ui/ # Shadcn/ui component library
โ โ โโโ api-key-manager.tsx # API key management
โ โ โโโ rich-text-editor.tsx # Note editor component
โ โ โโโ theme-provider.tsx # Theme management
โ โโโ ๐ hooks/ # Custom React hooks
โ โ โโโ use-api-key.tsx # API key state management
โ โ โโโ use-gamification.tsx # Badge & XP system
โ โ โโโ use-toast.ts # Toast notifications
โ โโโ ๐ lib/ # Utility functions
โ โ โโโ storage.ts # Local storage management
โ โ โโโ utils.ts # General utilities
โ โ โโโ nav-links.ts # Navigation configuration
โ โโโ ๐ ai/ # AI integration layer
โ โโโ ๐ flows/ # AI workflow definitions
โ โ โโโ generate-flashcards.ts
โ โ โโโ generate-quiz.ts
โ โ โโโ chat-with-coach.ts
โ โ โโโ summarize-note.ts
โ โโโ genkit.ts # Genkit configuration
โโโ ๐ docs/ # Documentation
โโโ ๐ components.json # Shadcn/ui configuration
โโโ ๐ tailwind.config.ts # Tailwind CSS configuration
โโโ ๐ next.config.ts # Next.js configuration
โโโ ๐ package.json # Project dependencies
FlashFlicker includes a comprehensive gamification system to keep you motivated:
- 70+ Unique Badges: From "First Steps" to "Study Master"
- Category-Based: Badges for flashcards, quizzes, notes, and more
- Progressive Unlocking: Achieve milestones to unlock new challenges
- XP System: Earn experience points for every study activity
- Level Progression: Watch your level increase as you learn
- Streak Counters: Track daily, weekly, and monthly study habits
- Visual Analytics: Beautiful charts showing your learning journey
- Konami Code: Hidden easter eggs and bonus rewards
- Time-Based Rewards: Extra XP for consistent study sessions
- Social Elements: Share achievements (coming soon)
FlashFlicker leverages Google's powerful Gemini AI to provide intelligent study assistance:
- Contextual Understanding: AI analyzes your notes and provides relevant guidance
- Learning Style Adaptation: Personalizes explanations based on your preferences
- Multi-Subject Expertise: Covers everything from STEM to humanities
- Step-by-Step Explanations: Breaks down complex concepts into digestible parts
- Interactive Problem Solving: Guides you through difficult problems with hints
- Smart Flashcard Creation: Identifies key concepts and creates targeted questions
- Difficulty Balancing: Generates questions appropriate for your learning level
- Format Recognition: Adapts to different content types (textbooks, articles, notes)
- Context Preservation: Maintains topic coherence across generated materials
- Quality Assurance: Built-in validation ensures educational value
// Example AI Integration
const aiCoach = {
analyze: (content) => extractKeyconcepts(content),
personalize: (userHistory) => adaptToLearningStyle(userHistory),
generate: (prompt) => createEducationalContent(prompt),
evaluate: (responses) => provideIntelligentFeedback(responses)
}Your data privacy is our top priority:
- ๐ Local Storage: All personal data stays on your device
- ๐ก๏ธ Encrypted API Keys: Secure key storage with browser encryption
- ๐ซ No Data Collection: We don't collect or store your study content
- ๐ฑ Offline Capable: Core features work without internet connection
- ๐ User Control: Complete control over your data and API usage
FlashFlicker is built for speed and efficiency:
| Metric | Performance | Industry Standard |
|---|---|---|
| First Load | < 2s | < 3s |
| Page Transitions | < 100ms | < 500ms |
| AI Response Time | 2-5s | 5-10s |
| Bundle Size | 136KB gzipped | 200KB+ |
| Lighthouse Score | 95+ | 90+ |