Documentation

Implement high-precision geofencing with the Remind Me Near You master suite. This documentation provides clear technical guidance to configure, customize, and deploy your location-based reminder application.

Start Integration ↓ View Demo →
App Demo GIF
Screen 1 Screen 2

Welcome to Remind Me Near You!

Introduction

Welcome to the Remind Me Near You Master Suite. This application is a high-performance location utility built with Flutter 3.38.9. It enables users to set triggers based on circular geofences with background monitoring and TTS notifications.

This documentation provides a systematic, professional roadmap for customizing, configuring, and launching your professional application service.

Flutter Installation

To begin, you must have the Flutter SDK installed on your workstation. Follow these steps for a standard installation:

  • 1. Download SDK: Visit the official Flutter docs and download the SDK matching your OS.
  • 2. Extraction: Move the zip file to a permanent path (e.g., C:\flutter or ~/flutter).
  • 3. Environment Variables: Add the bin folder inside your flutter directory to your PATH string.
  • 4. Full Verification: Run the diagnostic check:
flutter doctor

App Features

Our app focuses on high-end functionality and user experience:

  • 📍 Smart Geofencing: Circular triggers with advanced background detection.
  • 🎙️ TTS Integration: Speaks reminder text when arriving at a location.
  • 🌍 Global Localization: Pre-configured support for English, Hindi, Gujarati, Arabic, French, and Spanish.
  • 🎭 Avatar Suite: 10 hand-crafted profile icons.
  • 🌙 Dynamic Mode: Full Light/Dark mode sync.

Installation

Follow these installation steps to initialize your source code:

  • 1. Extract: Unzip your package.
  • 2. Open: Launch VS Code/Android Studio in the root folder.
  • 3. Sync: Fetch dependencies:
flutter pub get
📢Important Notice:

Enable Maps and Geocoding APIs on your Google Cloud Console to ensure map screens render the correct coordinates.

Create Project

To build your release binaries, follow these steps:

  • 1. Clean Build: Run flutter clean first.
  • 2. Android Release: For production APK:
flutter build apk --release

Release Build (Android)

To generate a signed release build for Android, follow these steps to configure your key properties and signing configurations.

  • 1. Generate a Keystore: Run the following keytool command to create a keystore.
keytool -genkey -v -keystore upload-keystore.jks -keyalg RSA -keysize 2048 -validity 10000 -alias upload
  • 2. Create key.properties: Create a file named key.properties in your android/ directory with the following content:
storePassword=<password from previous step>
keyPassword=<password from previous step>
keyAlias=upload
storeFile=upload-keystore.jks
  • 3. Update build.gradle: Update android/app/build.gradle to include your signing configuration:
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    signingConfigs {
        release {
            keyAlias = keystoreProperties['keyAlias']
            keyPassword = keystoreProperties['keyPassword']
            storeFile = keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword = keystoreProperties['storePassword']
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }
}

iOS Setup

To configure and build the application for iOS, follow these steps:

  • 1. Install Pods: Navigate to the iOS directory and run pod install.
cd ios
pod install
  • 2. Xcode Configuration: Open the project in Xcode using the generated workspace file.
open Runner.xcworkspace
  • 3. Update Signing: In Xcode, select the Runner target, go to Signing & Capabilities, and configure your Team ID and Bundle Identifier.
  • 4. Info.plist Permissions: Ensure that location permission strings (NSLocationAlwaysAndWhenInUseUsageDescription and NSLocationWhenInUseUsageDescription) exist in your Info.plist file.

Troubleshooting

Common issues encountered and how to fix them:

  • Google Maps API Key Error (Grey Map / Blank Map):
    Ensure your Google Maps API key has been added to android/app/src/main/AndroidManifest.xml and ios/Runner/AppDelegate.swift. Furthermore, ensure the Maps SDK for Android and Maps SDK for iOS are explicitly enabled in your Google Cloud Console, and billing is active.
  • Location Permissions Denied:
    If geofencing or location tracking isn't working, verify that you have accepted all location permissions. In Android, the background location access often requires explicitly selecting "Allow all the time" from the Settings.
⚠️Google Maps Platform Billing Notice:

Be advised that utilizing the Google Maps Platform API may incur external costs depending on traffic and usage limits. Review Google's official pricing limits before scaling your application.

Change Project Name

To customize the bundle identifier globally:

dart run change_app_package_name:main com.yourbrand.app

Change App Color

Customize the primary theme in lib/main.dart:

seedColor: const Color(0xFF6366F1), // Replace with your Hex

Change App Icon

Replace dist/remind_me_near_v1.0.0/Documentation/images/8.png and run:

flutter pub run flutter_launcher_icons:main

Change App Language

Manage translations in lib/l10n/ and generate via:

flutter gen-l10n

Core Features

Remind Me Near You is engineered with a performance-first architecture to handle background location triggers with high reliability:

  • 🛡️ Background Geofencing: Our engine utilizes the geolocator package to perform periodic location sampling (default every 30 seconds). This interval ensures high accuracy while minimizing battery drain.
  • 🎯 Radius Detection: Every location set by the user is treated as a Circular Geofence. The app calculates the distance between the current GPS coordinates and the target center point using the Haversine formula.
  • 🎙️ TTS Queueing: Upon entering a geofence radius, the flutter_tts engine is initialized. It retrieves the specific reminder text and speaks it out loud in the user's selected language, even if the phone is in the user's pocket.
  • 💾 Data Persistence: All reminders are stored locally for maximum privacy. We use SharedPreferences for global settings and a persistent local registry for the reminder list to ensure data is not lost on app restart.
  • 🔋 Battery Efficiency: The background service is optimized to stop tracking when no active reminders are present, ensuring zero background consumption when not needed.

Change Log

v1.0.0 April 5, 2026
  • 🚀 Initial Release: Stable launch of Remind Me Near You.
  • 📍 Geofencing: High-precision background location triggers.
  • 🎙️ TTS Engine: Automated Text-to-Speech alerts on arrival.
  • 🌍 Language Suite: Support for 6 major global languages.
  • 🎭 Avatars: 10+ personalized profile character options.
  • 🌓 Theming: Seamless Light and Dark mode transition.

Project Structure

lib/
├── core/ (Constants)
├── l10n/ (Languages)
├── providers/ (State)
├── screens/ (UI Views)
└── services/ (Location Engines)