{"id":34519498,"url":"https://github.com/adityabichhave/facial-reaction-password","last_synced_at":"2026-04-29T23:32:59.345Z","repository":{"id":327546303,"uuid":"1109721174","full_name":"adityabichhave/facial-reaction-password","owner":"adityabichhave","description":"AI-powered facial reaction authentication system using MediaPipe + DTW + Anti-Spoofing.","archived":false,"fork":false,"pushed_at":"2025-12-04T07:52:49.000Z","size":2832,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-07T14:48:50.694Z","etag":null,"topics":["ai-authentication","anti-spoofing","biometric-authentication","cybersecurity","dtw","facial-recognition","mediapipe","react"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adityabichhave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-04T07:35:02.000Z","updated_at":"2025-12-04T07:50:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/adityabichhave/facial-reaction-password","commit_stats":null,"previous_names":["adityabichhave/facial-reaction-password"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/adityabichhave/facial-reaction-password","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityabichhave%2Ffacial-reaction-password","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityabichhave%2Ffacial-reaction-password/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityabichhave%2Ffacial-reaction-password/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityabichhave%2Ffacial-reaction-password/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adityabichhave","download_url":"https://codeload.github.com/adityabichhave/facial-reaction-password/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adityabichhave%2Ffacial-reaction-password/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32448399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"ssl_error","status_checked_at":"2026-04-29T22:10:49.234Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-authentication","anti-spoofing","biometric-authentication","cybersecurity","dtw","facial-recognition","mediapipe","react"],"created_at":"2025-12-24T04:35:59.382Z","updated_at":"2026-04-29T23:32:59.328Z","avatar_url":"https://github.com/adityabichhave.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshot.png\" width=\"700\"/\u003e\n\u003c/p\u003e\n\n🧠 Facial Reaction Password (FRP)\n\nA next-generation biometric authentication system that identifies users using facial micro-reactions, blinking behavior, and natural movement patterns.\n\nUnlike traditional passwords or face-recognition systems, FRP records your reaction sequence (blink → smile → slight head movement, etc.) and uses AI to verify it.\nIt works using any standard webcam — no specialized hardware needed.\n\n🚀 Features\n🔹 Real-Time Facial Landmark Tracking\n\nPowered by MediaPipe Face Landmarker, detecting 468+ facial points with high precision and low latency.\n\n🔹 Reaction-Based Password (Instead of Text Passwords)\n\nUsers perform a natural facial sequence which becomes the unique password template.\n\n🔹 AI Matching Using Dynamic Time Warping (DTW)\n\nDTW compares two sets of motion-based landmark sequences to determine user identity.\n\n🔹 Anti-Spoofing System\n\nDetects and blocks fake login attempts using:\n\nMotion variance\n\nBlink detection\n\nMicro-movement consistency\n\nLandmark noise analysis\n\n🔹 Secure Local Storage\n\nUser facial templates are stored as numerical vectors, not images.\nSupports:\n\nLocalStorage (frontend-only mode)\n\nExpress backend storage (optional)\n\n🔹 Beautiful VisionOS-Inspired UI\n\nPremium holographic design featuring:\n\nFloating glass panels\n\nSleek motion indicators\n\nReal-time metrics\n\nMinimalistic control panel\n\n🛠️ Tech Stack\nFrontend\n\nReact (Vite)\n\nTailwindCSS\n\nMediaPipe Tasks Vision\n\nCanvas API\n\nBackend\n\nNode.js + Express\n\nLocal JSON template storage\n(Upgradable to MongoDB / Firebase easily)\n\nOther Tools\n\nDynamic Time Warping (DTW)\n\nLocalStorage caching\n\nWeb Share API\n\n📸 Demo Preview\n\nReplace screenshot.png with your actual screenshot\n\n![FRP Screenshot](./screenshot.png)\n\n📦 Folder Structure\nfacial-reaction-password/\n│\n├── backend/\n│   ├── server.js\n│   ├── package.json\n│\n├── frontend/\n│   ├── public/\n│   ├── src/\n│   │   ├── components/\n│   │   │   ├── FacialReactionPassword.jsx\n│   │   │   ├── FacialReactionPasswordVision.jsx\n│   │   ├── App.jsx\n│   │   ├── main.jsx\n│   ├── package.json\n│\n├── README.md\n└── .gitignore\n\n⚙️ Installation \u0026 Setup\n1️⃣ Clone Repository\ngit clone https://github.com/adityabichhave/facial-reaction-password.git\ncd facial-reaction-password\n\n🎨 Frontend Setup (React + Vite)\ncd frontend\nnpm install\nnpm run dev\n\n\nFrontend starts at:\n👉 http://localhost:5173\n\n🧩 Backend Setup (Node.js + Express)\ncd backend\nnpm install\nnpm run dev\n\n\nBackend runs at:\n👉 http://localhost:5001\n\n🔐 How Authentication Works\n\nFRP records 468+ facial landmarks across multiple frames\n\nNormalizes vectors around the face center\n\nCreates a unique reaction pattern\n\nRuns DTW to compare sequences\n\nApplies anti-spoofing checks\n\nComputes similarity score\n\nAccepts or rejects login based on threshold\n\n🧪 API Endpoints (Backend Optional)\nPOST /api/enroll\n\nStores a user’s facial reaction template.\n\nGET /api/template/:username\n\nRetrieves stored template for login matching.\n\n🔒 Security Notes\n\n✔ No raw video or images are stored\n✔ Templates contain only floating-point vectors\n✔ Works completely offline\n✔ Users control their own data\n✔ Backend storage is optional\n\n🌍 Real-World Applications\n\nPasswordless authentication\n\nSecure workstation login\n\nHigh-security lab access\n\nPersonal computer unlocking\n\nResearch in biometrics \u0026 AI\n\nGesture-based UI systems\n\nHuman-computer interaction studies\n\n🤝 Contributing\n\nPull requests are welcome!\nOpen issues for:\n\nUI/UX improvements\n\nPerformance tuning\n\nModel optimization\n\nSecurity enhancements\n\n📜 License\n\nThis project is licensed under the MIT License — free to use and modify.\n\n👨‍💻 Developed By\nAditya Kumar Bichhave\n\nB.Tech CSE | Cyber Security Enthusiast | Full-Stack Developer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityabichhave%2Ffacial-reaction-password","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadityabichhave%2Ffacial-reaction-password","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadityabichhave%2Ffacial-reaction-password/lists"}