~/ai/product
docs ready

SMS-TTS-Notify — Product Overview

product overview · raw txt · 2026-03-19

What it does

SMS-TTS-Notify is an Android application that automatically reads incoming SMS messages as private voice notifications through a connected headset using Text-to-Speech (TTS). The app is designed specifically for industrial environments — factory floors, warehouses, data centers, construction sites — where workers cannot look at their phones while working.

The app converts SMS text into spoken audio and delivers it exclusively through the worker's connected headset. It acts as a hands-free, eyes-free audio relay between industrial notification systems (MES, SCADA, PLC, WMS, CMMS, dispatch software) and mobile workers. Every SMS is classified by priority (ALARM / WARNING / INFO), filtered through a configurable pipeline, and delivered exclusively through the worker's headset — never through the phone speaker.

Core behavior

Offline capability

SMS-TTS-Notify works 100% offline. No internet connection is required. No mobile data is required. No Wi-Fi is required.

Audio output

Headset-only enforcement

Audio output goes EXCLUSIVELY through the connected headset. The app NEVER plays audio through the phone's built-in speaker or earpiece under any circumstances.

Why headset-only

In industrial environments, phone speaker audio creates safety and privacy problems: production alerts become audible to bystanders, noise makes speakers unintelligible, and speaker use may violate confidentiality requirements. The headset-only policy is non-negotiable.

Open-ear headsets (recommended)

Open-ear (bone-conduction) headsets are the recommended form factor for industrial use. They deliver voice notifications while the worker maintains full awareness of surroundings — machinery sounds, colleague voices, alarm signals. Open-ear headsets are compatible with mandatory hearing protection (earplugs) and safety helmets.

Background operation

The app runs as an Android Foreground Service. This means:

Boot persistence

If the app was turned ON before the phone was restarted, it automatically starts when the phone boots. No manual restart is needed after a reboot.

Do Not Disturb (DND) mode

The app RESPECTS Do Not Disturb mode. When the phone is in DND, Silent, or Vibrate mode, the app does NOT read messages aloud.

Hard switch (ON/OFF)

The app has a single ON/OFF switch on the main screen (Dashboard).

Priority routing (ALARM / WARNING / INFO)

Incoming SMS messages are classified into three priority levels:

PriorityColorBehavior
ALARMREDHighest priority. Jumps to the front of the TTS queue. Read immediately before any pending INFO or WARNING messages.
WARNINGORANGEMedium priority. Read in order within the WARNING tier.
INFOGREENLowest priority. Default classification for all messages that do not match ALARM or WARNING keywords.

Filter pipeline

Incoming messages pass through a 7-step filter pipeline before reaching TTS. Steps are applied in order. First match wins.

StepFilterOn MatchOn No Match
1Whitelist (if enabled)PASS — continueBLOCKED — message logged, not spoken
2BlacklistBLOCKED — message logged, not spokenContinue
3Empty check (hardcoded)SKIPPED — loggedContinue
4Anti-spamBLOCKED — duplicate suppressedContinue
5Alarm WordsALARM priority — queue jumpContinue
6Warning WordsWARNING priorityContinue
7Default fallbackINFO priority

Whitelist

Blacklist

Anti-spam

Priority classification

Message Language

The app supports TTS output in the worker's preferred language for message bodies.

SmartSummary

SmartSummary is a spoken catch-up delivered when the worker returns after a period of missed messages.

When SmartSummary plays

SmartSummary is triggered by any of the following events:

  1. The worker taps ON to start the service.
  2. The worker unmutes (resumes from mute).
  3. A headset is plugged in or connected.
  4. A phone call ends — TTS resumes approximately 1.5 seconds after the call ends.

What SmartSummary says

Phone call timeout

If a phone call lasts more than 5 minutes without audio focus being returned, the SmartSummary for that call is cancelled.

User controls

The worker has multiple ways to control audio output instantly:

ControlActionEffect
Mute button (Dashboard)One tapPauses TTS. Service stays running. Messages logged but not spoken. Unmuting triggers SmartSummary.
Home screen widgetOne tap (no app needed)Same as Mute button. Works from home screen without opening the app.
ShakeIt CommandShake the phoneStops the CURRENT TTS message immediately AND clears the queue. Accelerometer-based. Sensitivity configurable (1-5 scale).
Headset media buttonPress headset buttonStops the CURRENT message only. Next message will still be read.
Phone call detectionAutomaticTTS pauses automatically when a call starts (including VoIP calls: WhatsApp, Teams, etc.). SmartSummary plays after call ends.

Mute vs. OFF

OEM battery setup (Samsung, Xiaomi, Huawei, OPPO, and others)

On first launch, users on certain OEM devices see a mandatory 3-step battery exemption wizard before entering the app. This is required because these manufacturers apply aggressive battery optimization that can kill the SMS listener within minutes of launch.

The wizard guides the user through:

After completing the wizard, a row in the Status Card reflects completion and disappears. If deferred, the Status Card shows "Battery setup incomplete" with a RESUME SETUP button.

If the OEM battery manager kills the SMS listener despite the wizard, the NLS Health Watchdog detects it within approximately 12 minutes and posts an audible system notification to alert the user.

Permissions

SMS-TTS-Notify uses a minimal, carefully scoped permission set.

Permissions the app uses

PermissionPurpose
RECEIVE_BOOT_COMPLETEDAuto-start on boot if the app was previously ON
FOREGROUND_SERVICERun as Android Foreground Service for background operation
INTERNETRequired for Firebase Crashlytics crash reporting only
VIBRATEForeground service notification requirement
POST_NOTIFICATIONSShow foreground service persistent notification (Android 13+)
RECEIVE_SMSReceive SMS messages via broadcast (primary channel)
READ_SMSRead incoming SMS content
BIND_NOTIFICATION_LISTENER_SERVICESecondary channel: listen to SMS notifications
BLUETOOTH_CONNECTDetect Bluetooth headset state for zero-leakage enforcement (Android 12+)

Permissions the app explicitly does NOT use

Privacy and data

Audit logging

Every event is logged with timestamps on-device. The audit log has 17 columns including:

Audit logging is designed for industrial accountability and compliance. All logs are stored locally on the device.

Stability and reliability

Technical requirements

Why SMS only

SMS is the proven, universal notification channel in industrial environments. Any system — MES, SCADA, PLC, WMS, CMMS — can send SMS without requiring internet, API integration, or middleware. SMS works on basic GSM signal alone.

The app reads exclusively SMS — not WhatsApp messages, not email, not app push notifications. By focusing exclusively on SMS, every message the worker hears is relevant — creating a trusted audio channel with zero notification fatigue.

Group summary notifications posted by SMS apps (e.g., "View messages") are silently discarded before any processing. Only actual SMS message content reaches the TTS engine.

Setup and deployment

What this app does NOT do

Distribution

Available on Google Play Store. Free.

Contact and links

All third-party names mentioned in this document are the property of their respective owners. See general.txt for the trademark preamble.