Blur the screen with a peace sign, and clear it instantly.
BlinkBlur is a camera-based web app built with Astro that detects a hand peace sign and applies a temporary blur overlay to the page. It is for creators, presenters, privacy-conscious users, and demo experiences that need a playful but functional privacy gesture. The product matters because it gives users a fast, touchless way to hide on-screen content while keeping the experience lightweight and browser-native.
Presenter Arif, 31 - Arif shares his screen during client demos and wants a fast way to hide sensitive notes or tabs without interrupting the presentation. He needs a gesture-based privacy layer that works in the browser.
Privacy-Conscious Creator Nisa, 27 - Nisa records tutorials and livestreams from her browser and sometimes needs to hide personal data on screen. She prefers something lightweight and easy to toggle on demand.
Demo Engineer Budi, 38 - Budi builds interactive web demos and wants a memorable privacy effect for conferences and prototype showcases. He needs strong browser performance and easy integration.
Arif is preparing a client demo and has sensitive browser tabs open in the background. He opens BlinkBlur, reads the camera notice, and grants access in one click. Within seconds, he raises a peace sign and the page blurs, hiding the content without breaking the flow of his presentation.
When Arif lowers his hand, the blur clears automatically. He pauses tracking while switching tabs, then resumes it before the next demo segment. The result is a simple, memorable privacy tool that helps him present confidently and gives the product a clear reason to exist.
Team & resourcing - Small team - 2 engineers, 1 designer, part-time PM
Paste this into Cursor, Bolt, Lovable, or v0 to start building.
Build a browser-based web app called BlinkBlur using Astro. The product uses webcam-based hand tracking to detect a peace sign (✌️) and automatically blur the page content when the gesture is visible, then restore the page when the hand is no longer detected. Core requirements: Implement camera permission management with a clear pre-permission explanation, start/pause/resume controls, device switching when multiple cameras exist, and good error states for denied/blocked/unavailable camera access. Use getUserMedia for webcam access and run hand gesture detection on-device in the browser using MediaPipe Hands or TensorFlow.js handpose. Detect a stable peace sign with confidence thresholding, debounce, and a short stability window to avoid false positives. When gesture is detected, apply a full-page blur overlay or CSS filter that obscures the page by about 30% by default, with smooth transitions and a configurable blur strength setting. Remove blur automatically when the gesture disappears for a short timeout. Add a small live preview, a status badge showing idle/tracking/blurred/paused/error, and a simple calibration/test mode. Include a manual blur toggle as fallback. Instrument analytics events for camera permission prompt/result, camera started, gesture detected, blur activated/cleared, pause/resume, and errors. Use PostHog for analytics and Sentry for error monitoring. Data model/state: Local-only UI state for camera status, selected device, blur intensity, tracking mode, detection confidence, and timestamps. Do not store raw video frames on the server. Keep inference on the client whenever possible. Suggested stack: Astro frontend with React islands, TypeScript, Tailwind CSS, MediaPipe Hands or TensorFlow.js, WebRTC APIs, PostHog, Sentry. Optimize for modern desktop browsers first. Pages and flows: Landing page with privacy explanation and Start Camera CTA, live tracking screen with preview and status, settings panel for blur intensity and camera selection, error/recovery states, and a minimal analytics dashboard-ready event layer. Build it as a production-quality MVP with clean UI, accessible controls, browser compatibility handling, and performance-conscious rendering.
Design by The Resonance | Powered by GPC – The AI Transformation Company