Knockk – Daily Safety Check-in App With Emergency Alerts
IMPORTANT – Firebase Blaze plan required: this app relies on Firebase Cloud Functions for its alert engine, invite redemption and guest access. Deploying Cloud Functions requires your Firebase project to be on the paid Blaze (pay-as-you-go) plan. You must upgrade your own Firebase project to Blaze before the backend can be deployed – the free Spark plan is not sufficient.
Knockk is a complete daily safety check-in application built with Flutter and Firebase. Users set a daily check-in time, tap one button to confirm they are safe, and if they miss a check-in, their emergency contacts and Safety Circle are alerted automatically. It is ideal for families, elderly care, lone workers and anyone living alone.
Demo Instructions
Knockk is a Firebase-powered template. For security reasons, all Firebase configuration files ship as clearly marked placeholders – you must connect your own (free) Firebase project before running the app. No demo account credentials are included because the backend is yours to create. The full walkthrough is in documentation.html (Configuration section): create a Firebase project, enable Email/Password sign-in, create a Firestore database, run flutterfire configure, drop in the generated config files and deploy the included Cloud Functions. Setup takes roughly 15 minutes and requires the Firebase Blaze plan for Cloud Functions. Until configured, the app launches to its welcome and authentication screens.
Everything the App Does
- Animated splash screen with brand logo
- Welcome screen with login and signup entry points
- Email and password authentication (Firebase Auth)
- Google Sign-In and Sign In with Apple support
- Terms and privacy consent screen with accept tracking
- Multi-step profile onboarding: name, age, phone with country selector, country and city
- Profile completion guards – the router walks new users through setup step by step
- Emergency contact setup: multiple contacts, relationship types, preferred alert method (SMS, email or both)
- Daily check-in time picker with timezone-aware scheduling
- Home dashboard with live status card: “All good” after check-in, “Time to check in” when pending
- One-tap “I’m Okay!” check-in button with haptic feedback
- Free plan limited to 1 check-in per day; Premium and Family plans unlimited
- Check-in records keyed by userId plus local date – yesterday never counts as today (timezone-safe logic)
- Automatic local daily reminder notifications at the user’s chosen time
- Missed check-in alert engine running on Cloud Functions: 15-minute scheduler scan, grace period, then emergency contact alerts
- Alert history screen: reminders, grace-period warnings and missed check-in alerts with delivery status
- Check-in history timeline with the past week of activity
- Safety Circle: invite members by email or invite code, send and receive connection requests, accept or decline
- Safety Circle members can see each other’s check-in status for today
- Guest access: generate a shareable link and 6-digit code so emergency contacts can view check-in status without an account
- Subscription screen with Free, Premium and Family plans
- Admin dashboard: total users, today’s check-ins, missed check-ins today, total alerts sent
- Settings: profile editing, reminder preferences, language, subscription, logout
- Localization: English, Hindi and Arabic with full right-to-left support
- Dark theme design system: midnight blue and warm amber, one-file re-skin (AppColors)
- Google Fonts integration
- AdMob banner ads pre-wired with Google test ad unit IDs
- Push notifications via Firebase Cloud Messaging with background handler
- Deep linking for invite links
- Firestore security rules file included
Technology
- Framework: Flutter (Dart 3.11+), single codebase for iOS and Android
- State management: Riverpod
- Navigation: GoRouter with authentication and onboarding guards
- Backend: Firebase – Auth, Cloud Firestore, Cloud Messaging, Cloud Functions
- Cloud Functions: TypeScript (scheduler, daily schedule creator, check-in trigger, alert engine, guest access validation)
- Models: Freezed immutable data classes with JSON serialization
- Local notifications: flutter_local_notifications with timezone support
- Fonts: Google Fonts
- Ads: google_mobile_ads (test IDs included)
- Localization: Flutter gen-l10n (EN, HI, AR)
- Minimum iOS deployment target: 13.0
- Firestore security rules and firebase.json included
What the Buyer Gets
- Complete Flutter source code (21 screens, models, services, providers, widgets)
- TypeScript Cloud Functions source for the alert engine and backend logic
- Firestore security rules and firebase.json
- App icon assets for iOS and Android
- documentation.html – illustrated setup guide: Firebase configuration, bundle ID change, renaming, icon replacement, one-file theme re-skin, admin setup, Cloud Functions deployment, App Store submission checklist
- Screenshots folder referenced by the documentation
Development Disclosure
Portions of this template’s source code were developed with AI-assisted tools. All code has been reviewed, tested and verified by the author. Required disclosure per Envato policy.
A Note on This Template
This item is a source code template for developers. Basic Flutter and Firebase knowledge is required to configure, customize and publish it. The app requires your own Firebase project (free tier works for development; the Blaze plan is required to deploy the included Cloud Functions).