Smart AI security for every home
A product by Datix AI
SecretEye watches a home's cameras with AI — detecting weapons, violence and unknown faces — and alerts the homeowner within seconds. A one-tap SOS reaches the SecretEye control centre, whose staff respond from a dedicated admin website.
| Part | Folder | Used by | Tech |
|---|---|---|---|
| Mobile app | mobile/ |
Homeowners (Android, Google Play) | Expo SDK 54 · Expo Router · TypeScript · NativeWind |
| Admin website | admin/ |
Control-centre staff | Vite · React · TypeScript · Tailwind |
| AI hub | backend/ |
Runs the AI models | Python · Flask · YOLOv8 · face_recognition |
| Cloud | firebase/ |
Auth, database rules, data model | Firebase Auth · Cloud Firestore |
| Marketing | marketing/ |
Promo reel generator | Playwright · Python · ffmpeg |
mobile app ──┐ ┌── admin website
├──── Firebase (Auth + Firestore) ─┤
AI hub ──────┘ writes detections └── AI Lab → AI hub API
- Home — arm / disarm, today's threat stats, latest alerts, camera strip, SOS shortcut
- Alerts — real-time feed with snapshot evidence, filters, save & share, in-app banner for new threats
- Cameras — add IP cameras, connection test, live view, on/off
- Trusted people — faces the AI never flags as strangers
- Detection settings — choose which threats to be alerted about
- Emergency SOS — hold to alert the control centre; see when help is on the way; call police (15)
- Account — profile, password, privacy policy, help, delete account
Overview dashboard · Emergencies (live, with sound) · Homeowners · Detections · Cameras · Admins · AI Lab (test the models on video or webcam)
Both apps read the Firebase web config from env files (never committed).
mobile/.env.local
EXPO_PUBLIC_FIREBASE_API_KEY=…
EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=…
EXPO_PUBLIC_FIREBASE_PROJECT_ID=…
EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET=…
EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=…
EXPO_PUBLIC_FIREBASE_APP_ID=…
admin/.env.local — the same values with the VITE_ prefix, plus VITE_BACKEND_URL=http://localhost:5000.
Deploy the security rules and indexes (see firebase/DATA_MODEL.md):
cd firebase && firebase deploy --only firestorecd mobile
npm install
npx expo start # scan the QR code with Expo Go
npm run web # or run in a browserRelease builds use EAS: npx eas build -p android --profile preview (APK) or --profile production (Play Store AAB).
cd admin
npm install
npm run dev # http://localhost:5173Only accounts with role: "admin" can sign in. Create the first admin by setting role to admin on their users/{uid} document in the Firebase console; after that, admins promote others from the Admins page.
cd backend
python -m venv venv && venv\Scripts\activate
pip install <dlib wheel for your Python> # Windows only
pip install -r requirements.txt
copy .env.example .env
python scripts/download_models.py # weapon.pt, weapon1.pt, fight.pt → model/
python app.py # http://0.0.0.0:5000Also needs backend/serviceAccountKey.json (Firebase console → Project settings → Service accounts). Photos of known people go in backend/faces/<name>.jpg.
- The AI hub analyses video and, when a threat is confirmed, writes a
detectionsdocument with a snapshot — unless the homeowner has disarmed the system or switched that threat type off. - The homeowner's app shows it instantly (in-app banner, Alerts badge).
- Pressing SOS raises an emergency on the admin Emergencies page with a sound; the homeowner sees when it is acknowledged.
- Homeowner — mobile app only. Signing up always creates a homeowner.
- Admin — admin website only.
SecretEye is proprietary software owned and developed by Datix AI. © Datix AI. All rights reserved. See LICENSE. Contact: datixai.com · datixai.com@gmail.com
