SafeLens — detecting and redacting personal information in images
Detects personal information and faces in an uploaded image and redacts only what the user confirms. First of ten teams at the hackathon.
- React
- TypeScript
- Vite
- Spring Boot
- FastAPI
- Gemini Vision API
- OpenCV
- AWS S3
Specification
- Period
- 2025
- Result
- 1st of 10 teams
- Redaction modes
- Blur, mosaic, pixelate, AI image replacement
- Role
- Frontend — upload, analysis results, redaction options, auth and user API integration
Context
Before sharing an image it is hard to check everything that ended up in it. Name tags, documents, screens and passers-by in the background are usually missed.
Approach
Uploaded images go to an image AI server where the Gemini Vision API detects personal information and faces, and OpenCV and Pillow perform the redaction.
The detections are shown to the user first, who chooses what to redact. Fully automatic processing leaves the user unsure what was removed.
I built the upload, the analysis result view, the redaction option selection, the backend API integration, and sign-in with the user API.
System
Detection is automatic; redaction covers only what the user confirmed.
An uploaded image passes through the backend to the image server, where Gemini Vision detects personal information and faces. Only the items the user confirms are redacted with OpenCV and Pillow.
Measured
1 / 10
First place of ten teams.
Boundaries
- The backend and the image AI server belonged to teammates; I owned the frontend.
- Detection runs on an external API; no model was trained or tuned.