Transform Your Webcam Experience with Artificial Intelligence 20+ real-time filters β’ AI recommendations β’ Face detection β’ Emotion recognition β’ 100% private & browser-based
LearnLens is a cutting-edge webcam filter application powered by AI and machine learning. Apply stunning real-time filters, get personalized recommendations, and explore advanced face detection - all in your browser with zero installation required.
- π¨ 20+ Stunning Filters - Vintage, Cyberpunk, Neon, Moonlight, and more
- π€ AI Recommendations - Powered by Google Gemini API for personalized suggestions
- ποΈ AI Vision Analysis - Get smart filter suggestions based on your appearance
- π§ Face Detection - 68-point facial landmarks using TensorFlow.js
- π Emotion Recognition - Detect 7 different emotions in real-time
- π¦ Draggable Stickers - 20+ fun emoji stickers to add personality
- πΈ Photo Capture - Download your filtered photos instantly
- π 100% Private - All processing happens locally in your browser
- β‘ Real-Time Processing - Smooth 60fps performance
- π± Cross-Platform - Works on desktop and mobile browsers
No installation, no sign-up, no tracking. Just open and use!
LearnLens doubles as an interactive learning platform! Follow our comprehensive 8-level tutorial to build the entire application from scratch.
| Level | Topic | Technologies | Time |
|---|---|---|---|
| 1οΈβ£ | React Basics | React, JSX, Hooks | 1-2 hours |
| 2οΈβ£ | Webcam & Canvas | WebRTC, Canvas API | 2-3 hours |
| 3οΈβ£ | Filters & Effects | CSS Filters | 1-2 hours |
| 4οΈβ£ | Photo Capture | Canvas API, Blob | 1-2 hours |
| 5οΈβ£ | Stickers & Drag | Drag & Drop API | 2-3 hours |
| 6οΈβ£ | AI Integration | Gemini API | 2-3 hours |
| 7οΈβ£ | AI Vision | Multimodal AI | 2-3 hours |
| 8οΈβ£ | Face Detection | TensorFlow.js | 3-4 hours |
Total Learning Time: ~15-20 hours
# Clone the repository
git clone https://github.com/devgunnu/LearnLens.git
cd LearnLens
# Install dependencies
npm install
# Start the app
npm start
# Open http://localhost:3000# Get a free API key from https://aistudio.google.com/app/apikey
# Add it in the app's settings panelGet personalized filter suggestions based on the time of day, mood, and context.
"Feeling productive?" β Suggests Focus, Clarity filters
"Evening vibes?" β Suggests Warm, Vintage filters
Upload your photo and get personalized suggestions:
- Skin tone analysis
- Lighting recommendations
- Best filter matches for your appearance
Real-time face analysis powered by TensorFlow.js:
- 68 facial landmark points
- Face contours (jawline, eyebrows, nose, lips, eyes)
- Face matching and similarity detection
Detect 7 emotions in real-time:
- Happy, Sad, Angry, Surprised, Fearful, Disgusted, Neutral
- Vintage - Classic film look
- Cyberpunk - Futuristic neon vibes
- Neon - Electric glow effect
- Moonlight - Ethereal blue tones
- Warm - Cozy, inviting tones
- Cool - Fresh, professional look
- Vibrant - Saturated, punchy colors
- Muted - Subtle, sophisticated tones
- Dramatic - High contrast
- Ethereal - Dreamy, soft focus
- Noir - Black and white with grain
- Retro - 80s/90s aesthetics
...and 10+ more!
- β No server uploads - All processing happens locally
- β No data collection - Your photos never leave your device
- β No tracking - No analytics, no cookies
- β Open source - Audit the code yourself
- β API key control - You manage your own AI keys
- React 19.2 - Modern UI framework
- WebRTC - Real-time media streaming
- Canvas API - 2D graphics rendering
- Tailwind CSS - Utility-first styling
- Framer Motion - Smooth animations
- Google Gemini API - Text and vision AI
- TensorFlow.js - Browser-based ML
- Face-API.js - Face detection library
- Create React App - Build tooling
- GitHub Pages - Deployment
- Git Branches - Level-based workflow
- Environment Variables - Secure config
LearnLens/
βββ public/
β βββ models/ # Pre-trained ML models for face detection
β β βββ tiny_face_detector_model/
β β βββ face_landmark_68_model/
β β βββ face_expression_model/
β β βββ face_recognition_model/
β βββ index.html
β βββ manifest.json
β
βββ src/
β βββ App.js # Main component (1800+ lines of learning material)
β βββ App.css # Complete styling (1500+ lines)
β βββ index.js # React entry point
β βββ index.css # Global styles
β
βββ docs/ # Learning documentation
β βββ README-LEVEL-1.md # Level 1: React Basics
β βββ README-LEVEL-2.md # Level 2: Webcam & Canvas
β βββ README-LEVEL-3.md # Level 3: Filters & Effects
β βββ README-LEVEL-4.md # Level 4: Photo Capture
β βββ README-LEVEL-5.md # Level 5: Stickers & Drag
β βββ README-LEVEL-6.md # Level 6: AI Integration
β βββ README-LEVEL-7.md # Level 7: AI Vision
β βββ README-LEVEL-8.md # Level 8: Face Detection
β
βββ .env.example # Environment variable template
βββ .gitignore
βββ package.json
βββ README.md # This file
βββ CONTRIBUTING.md # Contributor guidelines
βββ CODE_EXAMPLES.md # Additional code examples
Git Branches:
βββ main # Complete production code
βββ level-1-basics # Starting point for Level 1
βββ level-2-webcam # Starting point for Level 2
βββ ... (all 8 levels)
βββ level-1-solution # Reference solution for Level 1
βββ ... (all 8 solutions)
| Browser | Version | Support |
|---|---|---|
| Chrome | 90+ | β Full Support |
| Firefox | 88+ | β Full Support |
| Safari | 14+ | β Full Support |
| Edge | 90+ | β Full Support |
| Opera | 76+ | β Full Support |
Requirements:
- Webcam access
- WebRTC support
- Modern JavaScript (ES6+)
Want to build LearnLens yourself? Follow our progressive tutorial:
Level 1: React Basics
- Component structure and JSX
- useState for state management
- Event handlers and user input
Level 2: Webcam & Canvas
- useRef hook for DOM access
- WebRTC getUserMedia API
- Canvas 2D rendering
- requestAnimationFrame loop
Level 3: Filters & Effects
- CSS filter property
- Canvas transformations
- Dynamic filter switching
Level 4: Photo Capture
- Canvas toDataURL()
- Blob API and downloads
- Modal components
Level 5: Stickers & Drag
- Drag and Drop API
- Coordinate transformations
- Event handling
Level 6: AI Integration
- Environment variables
- API key security
- Async/await patterns
- Gemini AI API
Level 7: AI Vision
- Base64 encoding
- Multimodal AI (text + image)
- Vision API prompting
Level 8: Face Detection
- TensorFlow.js basics
- Loading ML models
- Facial landmarks
- Expression recognition
# Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/LearnLens.git
cd LearnLens
# Install dependencies
npm install
# Start with Level 1
git checkout level-1-basics
# Read the tutorial
cat docs/README-LEVEL-1.md
# Start building!
npm start
# When complete, merge and move to next level
git checkout main
git merge level-1-basics
git checkout level-2-webcamEach level includes:
- β Step-by-step guide
- β Code examples with comments
- β Key concepts explained
- β Knowledge checks
- β Solution branch for reference
learnlens/
βββ public/
β βββ models/ # Pre-trained ML models
β β βββ tiny_face_detector_model/
β β βββ face_landmark_68_model/
β β βββ face_expression_model/
β β βββ face_recognition_model/
β βββ index.html
β βββ manifest.json
β
βββ src/
β βββ components/
β β βββ landing/ # Landing page components
β β βββ app/ # App components
β βββ App.js # Main component
β βββ App.css # Styling
β βββ index.js # Entry point
β
βββ docs/ # Learning tutorials (8 levels)
βββ tailwind.config.js # Tailwind configuration
βββ package.json
βββ README.md
We welcome contributions! Whether you want to:
- π Report bugs
- β¨ Suggest features
- π Improve documentation
- π¨ Add new filters
- π€ Enhance AI features
- π Translate to other languages
π Contribution Guidelines β
MIT License - Free to use, modify, and distribute.
What this means:
- β Use for personal projects
- β Use in your portfolio
- β Use commercially
- β Modify and extend
- π Keep the license notice
- Discord Server - Join our learning community
- GitHub Discussions - Ask questions
Built with amazing open-source tools:
- React Team - UI framework
- TensorFlow.js - ML in the browser
- Vladimir Mandic - face-api.js
- Google - Gemini API
- Aceternity UI - Beautiful components
- All Contributors - Making this better
Yes! Completely free and open-source. AI features require a free Gemini API key.
Absolutely. All processing happens locally in your browser. Nothing is uploaded to servers.
No! Just open the website and start using it. For development, you'll need Node.js.
Core filters work offline. AI features require internet for API calls.
You can still upload photos and apply filters!
Yes! The code is open-source. Add your own CSS filters or contribute them back.
We use TensorFlow.js and face-api.js to run ML models directly in your browser.
Yes, under the MIT license. Just keep the license notice.
If you love LearnLens:
- β Star this repo
- π΄ Fork it
- π’ Share with friends
- π Report issues
- π€ Contribute
- GitHub Issues: Report bugs or request features
- Discussions: Ask questions or share feedback
- Twitter: @devgunnu7
Ready to transform your webcam experience?
π Launch App | π Learn to Build | π€ Contribute
Made with β€οΈ for creators, learners, and developers