Real-time location, smart routines, driving safety, weekly digests, and SOS escalation — running entirely on hardware you control. No cloud subscriptions. No third-party data sharing. Ever.
Eight sprints shipped: privacy controls, smart notifications, chat polish, driving safety, smart routines, insights & visibility, safety v2 (curfew + emergency contacts), and platform completeness with per-alert snooze + smart bundling. All running on your own server.
Background location reporting from the Android app with real-time marker updates on the web dashboard via WebSocket.
Define safety places per circle. Get notified instantly when family members arrive or leave designated areas.
One-tap emergency activation from the Android app. Pulsing red alert on the dashboard with last-known location fallback.
Organize members into circles with invite codes. The first user bootstraps as admin and manages membership.
Android event stream with exponential-backoff reconnection. High-priority heads-up for SOS, standard for geofence events.
Native Android (Kotlin + Compose), native iOS (Expo / React Native, sideloaded), and a mobile PWA at /app for any phone with a browser.
One-tap freeze of your last-known location for 15 min / 1 hr / 4 hr / "until 8 PM". The circle sees a ⏸ badge until you resume — never your live position.
See exactly who in your circle has viewed your history, visits, or trips — and when. You can only see views of you, never others.
Download a JSON of everything the server stores about you, or delete your account with password re-confirm. Sole-admin deletes require promoting a successor first.
Per-place, per-member alerts with independent arrive/leave toggles and quiet-hours windows. Only get pinged for the events that matter to you.
Voice notes, photo attachments (EXIF-stripped), typing indicators, opt-in read receipts, and emoji reactions on every message. WebSocket-backed for instant delivery.
Opt-in accelerometer monitoring on Android and iOS detects high-g impacts during driving. 30-second dismiss countdown with vibration + alarm, then auto-fires SOS if not cancelled.
0–100 score derived from trip data: hard brakes (Δv ≤ −3.5 m/s), speeding minutes, night-driving %. Per-member 7/30/90-day rollups with full component breakdown.
A nightly miner learns each member's arrive/leave/dwell patterns from 30 days of visits. Deviation alerts fire when a kid doesn't arrive at school on time or stays at the coffee shop past their usual.
One-row status strip above the map: battery %, last-fix age, current activity, paused flag, next upcoming routine, driving score, latest check-in — for every member at a glance.
Server-merged chronological feed of visits, trips, check-ins, routine deviations, and alerts per member. One unified view across all three clients.
Per-place visitor counts, dwell totals, and week-over-week deltas. Plus a Sunday-night digest summarizing the family's week — trips driven, routines adhered, busiest place, quietest member.
Set per-user curfew windows (with midnight wrap). The server checks every 5 minutes and pings the circle if the member is anywhere but their configured home during the window.
Opt-in per watcher. Edge-triggered with hysteresis — fires once when a member's battery crosses below the threshold, re-arms at threshold + 5%. A dead phone never looks like a paused user again.
Invite up to 5 people outside your circle (by email) to be pinged on SOS. They get a push only — no lat/lng, no map access. Consent for escalation, not for surveillance.
Pick a baked-in template — School day, Work commute, Weekend service, Nightly home-by — pair it with one of your places, and you have a full week of routines wired in seconds.
Captured from a Pixel 8 Pro running the latest debug APK and the Leaflet dashboard at localhost:8090. Not stock photos.
Sign in
Live map dashboard
Safety places (geofences)
App download page with QR
Family chat
Admin settings & invites
How it works
Deploy with Docker, sign up on the web, install the app of your choice. That's it.
One command. Fastify + SQLite in a Docker container. Open port 8080.
The first user becomes the admin and creates the family circle automatically.
Grant location permissions. Background GPS on native; foreground GPS on PWA.
Every push to master ships a new versioned release with the Android APK and the iOS IPA attached. The PWA is served straight from your own server — no install needed.
Kotlin + Jetpack Compose with a foreground service for true background GPS. Real push notifications via FCM (optional). Best parity.
Download the unsigned IPA from the latest release. Sign and install on Windows with Sideloadly or macOS with AltStore using a free Apple ID. No Xcode, no Mac required for Windows users.
Open /app on your own server in Safari/Chrome, then Add to Home Screen. Full features, no signing, no store.
Builds are unsigned for iOS and debug-signed for Android. Production-signed builds are a planned follow-up.
Family Guardian is designed around a simple principle: location data is sensitive, and you should be the only one who holds it. There is no cloud backend, no analytics, no telemetry, and no third-party services involved in the core platform.
Standard, well-understood technologies. Easy to extend and contribute to.
Deploy in minutes. No subscriptions. No data sharing. Just open-source software running on your hardware.