A real-time Lost & Found tracking platform that uses AI-powered face matching, geo-fencing, and live location updates to help families track missing members efficiently. The platform features family-specific visibility, Socket.io live streaming, and MapLibre for open-source maps.
- Upload an image to search for potential matches across the user base.
- Uses a lightweight ML model to compute face embeddings and match similarity.
-
Each user belongs to a family group.
-
Users can see only:
- Their own family members
- The family head
-
Ensures privacy and secure access control.
- Live location updates every 20 seconds via Socket.io.
- Automatic re-subscription on reconnect.
- Shows the last known location if the user disconnects.
- Uses MapLibre GL (fully open-source alternative to Google Maps).
- Real-time markers for all active family members.
- Smooth transitions based on live data stream.
- Define a safe region.
- Trigger warnings when a member moves outside the boundary.
- Built using Express.js, MongoDB, and JWT authentication.
- Role-based access (Family Head, Member).
- Robust validation and error handling.
- React.js
- JavaScript (ES6)
- MapLibre GL
- Socket.io Client
- Node.js
- Express.js
- MongoDB (Mongoose)
- Socket.io Server
- JWT Authentication
- Face embedding generation
- Image similarity scoring
- Lightweight model for fast inference
/client
/src
/components
/pages
/hooks
/utils
/server
/controllers
/models
/routes
/middlewares
/services
/ml-service (optional)
/face-matching
Create a .env file in /server:
PORT=5000
MONGO_URI=your_mongo_connection_string
JWT_SECRET=your-secret-key
If using an external ML service:
ML_SERVICE_URL=http://localhost:8000/match
git clone https://github.com/your-username/lost-and-found.git
cd lost-and-foundFrontend:
cd client
npm installBackend:
cd server
npm installBackend:
npm run devFrontend:
npm start- User logs in β receives JWT token.
- User shares live location β Socket.io sends updates every 20 seconds.
- Backend stores last known location and broadcasts to relevant family members.
- Map updates markers in real time.
- Geo-fence rules checked for every update β send alert if breached.
- For missing person reports β Face matching generates top similarity matches.
| Method | Endpoint | Description |
|---|---|---|
| POST | /auth/register | Create account |
| POST | /auth/login | Login & get token |
| Method | Endpoint | Description |
|---|---|---|
| GET | /family/members | List family members |
| POST | /family/add | Add a new user |
| POST | /location/update | Update user location | | GET | /location/last | Get last known location |
| POST | /ai/match | Upload image & find similar faces |
[React Frontend]
β Socket.io
β REST APIs
[Express Backend]
β
[MongoDB]
[Optional ML Face-Matching Service]
MIT License.