Smart security system with facial recognition and blockchain authentication
Automatic door locking with real-time face detection and Solana wallet unlock
Traditional door locks are vulnerable. Lock picks can bypass them in seconds, and 3D printed keys can replicate your physical key with just a photo. Even if you remember to lock your door, someone with the right tools can get through.
That's why we built lockblock: a smart security system that combines facial recognition with blockchain authentication to actively protect your home, automatically responding to threats while giving you control when you need it.
lockblock integrates real-time face detection, OpenCV's YuNet and SFace models, Solana wallet authentication, and Arduino-based physical locking. When an unknown face is detected, the system automatically locks the door and sends email alerts with screenshots. Owners can unlock remotely using their Solana wallet - no passwords, just your crypto keys.
- Real-time face detection and recognition using OpenCV DNN models
- Automatic door locking when unknown faces are detected
- Blockchain-based authentication via Solana wallet (Phantom integration)
- Physical lock enforcement using Arduino and servos
- Anti-pick protection - servos move parts that lock the mechanism in place
- Instant email alerts with screenshots when strangers are detected
- Whitelist management for known faces
- Web and mobile interfaces for remote control
- Local processing - no cloud APIs required for face recognition
Face Recognition Pipeline
Camera Feed → OpenCV YuNet (Face Detection) → OpenCV SFace (Face Recognition) → Known/Unknown Classification → Lock State Decision
Authentication Pipeline
Solana Wallet → Challenge Generation → Ed25519 Signature → Verification → Unlock Command
Physical Lock Pipeline
Lock State → Arduino → Servo Control → Physical Lock Mechanism → Anti-Pick Engagement
Notification Pipeline
Unknown Face Detection → Screenshot Capture → EmailJS → Email Alert
| Category | Technologies |
|---|---|
| Frontend | HTML, CSS, JavaScript, Phantom Wallet |
| Backend | Python, Flask, OpenCV |
| Computer Vision | OpenCV YuNet, OpenCV SFace |
| Blockchain | Solana, PyNaCl (Ed25519) |
| Database | SQLite |
| Hardware | Arduino, Servos, PyFirmata2 |
| Communication | Serial (PySerial), EmailJS |
- System continuously monitors camera feed for faces.
- OpenCV YuNet detects faces in real-time video frames.
- OpenCV SFace generates face embeddings and compares against whitelist.
- If unknown face detected, Arduino engages physical lock via servos.
- Lock mechanism prevents picking or external manipulation.
- Email alert sent with screenshot of detected stranger.
- Owner can unlock remotely using Solana wallet authentication.
- Wallet signature verified via Ed25519 cryptography.
- Unlock command sent to Arduino to release the lock.
- Mobile app for better on-the-go access
- Multi-camera support for full home coverage
- Improved whitelist management with better photo organization
- Integration with commercial smart lock hardware
- Home automation system integration
- Enhanced notification and alerting features
| Member |
|---|
| Ryan Gao |
| Jeremy Liu |
| Ethan Yang |
- Devpost submission: https://devpost.com/software/lockblock-9ct281