Skip to content

e-yang6/lockblock

Repository files navigation

lockblock

Smart security system with facial recognition and blockchain authentication
Automatic door locking with real-time face detection and Solana wallet unlock


Overview

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.


Features

  • 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

Architecture

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


Tech Stack

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

How It Works

  1. System continuously monitors camera feed for faces.
  2. OpenCV YuNet detects faces in real-time video frames.
  3. OpenCV SFace generates face embeddings and compares against whitelist.
  4. If unknown face detected, Arduino engages physical lock via servos.
  5. Lock mechanism prevents picking or external manipulation.
  6. Email alert sent with screenshot of detected stranger.
  7. Owner can unlock remotely using Solana wallet authentication.
  8. Wallet signature verified via Ed25519 cryptography.
  9. Unlock command sent to Arduino to release the lock.

Future Roadmap

  • 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

Team

Member
Ryan Gao
Jeremy Liu
Ethan Yang

Links

About

Winner @ HackHive 2026 - A smart security system using facial recognition and Solana authentication for automatic, passwordless home protection.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages