FEATURES
DataMopp-Up
1. Overview
DataMopp-Up is an Android communication-management application that consolidates a user's short-message traffic and their electronic mail into a single, searchable, locally-held workspace. Where a conventional phone keeps text messages in one app and each email account in yet another, DataMopp-Up treats every inbound and outbound message — whether it arrived as an SMS, as a multimedia MMS, or as an email from any of several providers — as a record in one unified stream. The user no longer has to remember which channel a particular exchange happened on; they simply open DataMopp-Up and find it.
The application is built for people who receive a high volume of mixed-channel communication and who need to triage, annotate, group, and retrieve those communications quickly. It layers artificial-intelligence summarization on top of that unified stream so that a busy user can grasp the substance of a day's messages without reading each one in full, and it adds an alerting layer so that time-critical messages surface loudly rather than being lost in the flow.
The name itself captures the intent: the application "mops up" the scattered data of a person's communications — the texts on the phone, the mail across several accounts — and gathers it into one place where it can be managed as a whole. This consolidation is not merely cosmetic. Once every message shares a common home and a common shape, capabilities become possible that no single-channel app can offer: a summary that spans texts and email together, a search that does not care which app a message arrived in, and an alert layer that treats an urgent text and an urgent email identically.
This document summarizes the complete feature set of DataMopp-Up as prepared for the Google Play publication process. It is written for a reviewer or stakeholder who needs to understand what the application does, how its major subsystems work, and how it handles the user's data. The sections that follow move from the core unified-inbox concept outward through the AI, alerting, organization, privacy, monetization, and architecture layers, closing with the specific steps taken to prepare the application for publication.
2. The Unified Message Stream
At the heart of DataMopp-Up is a single message repository into which every communication channel writes. SMS messages, MMS messages, and emails from all connected accounts are normalized into one common record shape and stored together. This unified model is what allows every downstream feature — search, tagging, AI summarization, alerting — to operate across channels rather than being trapped inside one silo.
Each record carries the fields the user cares about: the sender, the date and time it was received, the message body, the channel it came in on, any attachment it carried, and a set of user-applied organizational markers such as tags, comments, and hide/archive state. Because SMS and email share this common shape, a search for a person's name returns their texts and their emails side by side, ordered chronologically.
Cross-channel record handling
- SMS is captured natively because the app runs as the device's default SMS handler, so texts are written to the stream the moment they are delivered.
- MMS (picture and multimedia messages) is received, parsed, and where appropriate merged with its companion text so a single multimedia message reads as one coherent record rather than a fragmented pair.
- Email from every connected account is polled and folded into the same stream, tagged by platform so the user can still tell a Gmail message from an Outlook one at a glance.
The result is a true chronological timeline of a user's communications across every channel they use, which is the organizing idea the entire product is built around.
3. Default SMS Handler and Guided Onboarding
To capture and manage text messages, DataMopp-Up must be set as the device's default SMS application. Android grants a default SMS app the privileged access needed to receive, read, and store text messages — access that is deliberately withheld from ordinary apps. DataMopp-Up requests this role through a purpose-built onboarding flow rather than a bare system prompt.
When the application first launches, it presents a branded rationale screen that explains, in plain language and in the app's own visual style, why default-SMS status is required and what the app will do with that access. Only after the user has seen this explanation is the Android role-request dialog shown. This approach respects the user's understanding and satisfies the platform's expectation that sensitive permissions be requested with clear context.
A deliberate hard gate
Because DataMopp-Up cannot perform its core function without SMS access, the onboarding uses a hard gate: the user cannot proceed into the main application until the app has actually been granted the default-SMS role. There is no "skip for now" bypass. The onboarding logic verifies the granted state after the system dialog closes and only advances to the main screen once the app is confirmed as the default handler. This prevents users from entering a half-functional state where the app appears installed but silently receives nothing.
4. Email Backend Integration
DataMopp-Up integrates four categories of email backend so that the great majority of users can connect the accounts they already have. Each backend is handled with the authentication method appropriate to that provider, and each writes its retrieved mail into the same unified stream described above.
- Gmail — connected through Google's OAuth sign-in, so the user authorizes access with their Google credentials without the app ever handling their password directly.
- Outlook / Microsoft — connected through Microsoft's OAuth flow using AppAuth, again keeping the credential exchange with the identity provider rather than the app.
- IMAP — a generic path with automatic provider detection, allowing the user to connect standards-based mail accounts from a wide range of hosts.
- Yahoo / AOL — supported through the IMAP path with provider-appropriate handling, covering two of the most common consumer webmail services.
Mail retrieval is performed through JavaMail on the standards-based paths and through each provider's authorized access on the OAuth paths. Retrieved messages are cached locally so the user can read and work with their mail even when momentarily offline, and so that the AI and search features can operate over the stored copy without repeated network round-trips. OAuth tokens are held in encrypted storage rather than in plain text.
To keep mail arriving promptly even while the app is not in the foreground, DataMopp-Up runs its email polling inside a foreground service, backed by a periodic keepalive worker. This combination is a direct response to the reality of the modern Android ecosystem, where many device manufacturers apply aggressive background restrictions that would otherwise silence a passive email checker. The foreground service keeps polling alive while the process is running, and the keepalive worker resurrects it on a periodic cadence on devices that would otherwise kill it, so that time-sensitive mail — including announce-flagged mail — reaches the user without requiring them to open the app first. A boot receiver restores this coverage after the device restarts, provided at least one email account is signed in.
A user may connect one account or several, and may sign out of any of them; the app's setup screen manages the login state of each platform independently, and signing out of all accounts cleanly tears down the associated background work.
5. Gemini AI: Single-Message Summaries
DataMopp-Up integrates Google's Gemini generative-AI model to help users understand their communications faster. The most immediate form of this is the single-message summary, available from within the message-viewing screen. With one action, the user can ask the app to produce a concise, plain-language summary of an individual message — useful for long emails, dense notifications, or forwarded chains where the essential point is buried.
The summary is generated by sending the message content to the Gemini model and rendering the returned summary back into the message view as an annotation attached to that record. The integration is implemented through direct REST calls to the Gemini API, a deliberate engineering choice that avoids toolchain conflicts associated with the packaged SDK and keeps the dependency footprint small. The model's response behavior is tuned so that its full output budget is spent on the user-visible summary rather than being consumed internally.
Because summarization sends message content to Google's Gemini service, this transmission is a form of third-party data processing, and it is disclosed as such in the application's privacy policy and Play Data-safety declaration. The feature is invoked deliberately by the user on a per-message basis; it does not silently transmit the user's entire mailbox.
6. Gemini AI: The SISIDI Digest System
Beyond single messages, DataMopp-Up offers a batch summarization surface called SISIDI, which produces AI-generated digests of the user's recent communications. Where single-message summaries answer "what does this one message say," SISIDI answers "what happened across all my messages today, and this week."
Daily digests
SISIDI presents dedicated controls that generate a digest of the current day's messages. The SMS control produces a summary of the day's text traffic, and the Email control produces a summary of the day's mail. These daily digests are stored in the first two of the SISIDI record slots and are refreshed as the day progresses. The digest slots are cleared automatically at a day boundary, so a summary from yesterday is not mistaken for today's.
The weekly important-items digest (records 3–10)
SISIDI also maintains an automated weekly triage across records three through ten. A dedicated digest manager runs when the screen is opened, identifies the important items among the day's messages, and accumulates a daily section into the running weekly record. It fingerprints the day's messages so that reopening the screen does not trigger redundant AI calls for content already summarized, which conserves both the user's data and the AI quota. Across a Monday-through-Sunday cycle, the daily sections build into weekly records that rotate through the eight available slots before resetting, giving the user a rolling multi-week view of what mattered.
The fingerprinting approach is worth emphasizing because it reflects a broader design discipline in the app: AI calls cost the user's data allowance and consume a finite model quota, so DataMopp-Up is deliberately economical about when it invokes the model. It summarizes on demand for single messages, refreshes daily digests as the day changes rather than continuously, and avoids re-summarizing content it has already processed. The user gets the benefit of AI triage without the app burning through resources behind their back.
The SISIDI message surface is presented as a clean, read-only view of the generated digests, so the user reads their triage output without the risk of accidentally editing it. The result is a single screen a user can glance at to understand both the shape of their day and the important threads of their week, assembled automatically from communications that would otherwise have to be read one by one across several separate apps.
7. The Announce Token System
A distinctive feature of DataMopp-Up is its announce capability, which lets a sender flag a message as urgent so that the recipient's device actively draws attention to it rather than letting it arrive as a silent, easily-missed notification. To be clear about what "announce" means here: the app does not read the message aloud or speak anything. Instead, it grabs the user's attention through sound and vibration — it beeps and rings the device with an alarm-style tone and vibrates it — exactly the way a phone alarm demands to be noticed, and it keeps doing so until the user attends to the flagged message. The behavior is driven by a small text token embedded in the message body, which the app detects on receipt.
Immediate announces
When an incoming message contains the announce token within its opening characters, and the user has announce detection enabled, DataMopp-Up marks that record as pending and starts a foreground service that plays an alarm-style tone on a continuous loop — beeping and ringing — while simultaneously vibrating the device. This audible-and-haptic alert continues until the user explicitly acknowledges the message from the records screen. Because the alert runs as a foreground service, the beeping, ringing, and vibration survive the user navigating away and continue until acknowledged — the point being that a genuinely urgent message should not be silenced or dismissed by accident.
Scheduled (timed) announces
The announce system also supports timed announces through a scheduled token that encodes a future date and time. When such a message arrives, the app schedules an exact alarm for the specified moment; when that moment comes, the message is promoted to the same alerting state as an immediate announce — beeping, ringing, and vibrating to draw the user's attention. This lets a sender arrange for a message to make itself known at exactly the right time — for example, a reminder timed to a meeting — rather than at the moment it happened to be sent.
When more than one announce is outstanding, the app handles them as an ordered queue: the oldest pending announce is surfaced first, and as the user acknowledges each one the next takes its place, so a burst of urgent messages is worked through in the order it arrived rather than collapsing into a single indistinct alarm. The alerting service checks whether any announces remain pending after each acknowledgement and stops the sound and vibration only when the queue is clear.
Announce detection is governed by a user preference, so a user who does not want messages to be able to beep, ring, or vibrate their phone can switch the behavior off entirely, at which point tokens are treated as ordinary text and no audible or haptic alert is triggered. Both the immediate and the scheduled forms respect this single switch, giving the user one clear point of control over the whole capability.
8. Alerts and Reminders
Separate from the sender-driven announce system, DataMopp-Up gives the user their own receiver-side alert capability. Against any stored message, the user can set a personal reminder for a chosen date and time. When that time arrives, the app fires an alarm and raises a full-screen alert popup that turns the screen on and surfaces the message, so an important item the user wanted to revisit is brought back to their attention at the moment they chose.
This alerting is built on Android's exact-alarm scheduling and a full-screen-intent notification, with the popup designed to display over the lock screen where necessary. Together with the announce system, it means DataMopp-Up can escalate the visibility of a communication in two independent ways: because the sender marked it urgent, or because the recipient decided it deserved a follow-up.
Pause and resume without losing your place
The alert function also serves the ordinary rhythm of reading, not only scheduled reminders. When a user is partway through a text or an email and has to set it aside — a call comes in, or something else demands their attention — they can pause on that message and return to it later, entirely at their own discretion. The application keeps track of the paused message so that it is never buried or lost among newer arrivals in the stream, letting the user resume exactly where they left off whenever they are ready. In effect, reading becomes something the user paces on their own terms rather than a task they must finish in one sitting or risk losing track of.
9. Cross-Channel Search and Tagging
Because every message lives in one unified stream, DataMopp-Up offers search and organization that span all channels at once. The search screen lets the user filter their entire communication history by sender, by date, by message content, by tag group, and by channel type, alone or in combination. A search for a contact returns that person's texts and emails together; a search scoped to a date narrows the whole stream to that window regardless of channel.
Tagging, grouping, and comments
- Tags / groups let the user file related messages together under a label of their choosing, cutting across channels — a project's texts and emails can share one group.
- Comments let the user attach a private note to any message, capturing context that the message itself does not carry.
- Hide / archive lets the user tuck a message out of the everyday view without deleting it, treating hidden state as a soft archive rather than destruction.
These organizational markers are stored alongside each record and are themselves searchable, so the user's own annotations become another axis for retrieval later. A message the user tagged into a project group weeks ago can be recalled by that group name; a message they left a comment on can be found by the content of the note they wrote. In this way the app grows more valuable the more a user works within it, because their organizational effort compounds into an increasingly precise retrieval system.
The search facility also underpins the protected module's privileged view. In ordinary use, search returns only the messages the user has not archived; within the authenticated protected area, search can be widened to include hidden records, so that a soft-archived message is never truly lost — it is simply held back from the everyday stream until the user deliberately looks for it.
10. Data Management and Records
DataMopp-Up presents the user's communications through a records-oriented interface designed for review and management rather than only for back-and-forth chatting. Messages are listed in true chronological order, newest first, giving an accurate timeline of what came in and when. From the records view the user can read a message, summarize it, tag it, comment on it, set an alert on it, acknowledge an announce, or hide it.
A protected area, gated behind the user's own authentication, provides privileged management functions including access to hidden records and bulk-management tools. This keeps ordinary day-to-day use simple while still giving the user powerful controls when they deliberately reach for them. The application also supports composing and sending new SMS and MMS messages, so it functions as a complete messaging client and not only as a passive aggregator.
The bulk-management tools in the protected area let the user prune their stored history by clear criteria — by sender, by phone number, or by date — so that a large accumulation of records can be tidied in deliberate, targeted operations rather than one message at a time. Because hiding is a soft archive and deletion is a distinct, protected action, the user has a graduated set of choices: keep a message in view, tuck it away, or remove it permanently, each requiring a correspondingly more deliberate step. This graduated model protects the user from losing communications by accident while still giving them full authority over their own data.
11. Privacy and Security Model
DataMopp-Up is built on a local-first philosophy. The user's messages — their texts, their multimedia, and their retrieved mail — are stored on the device in the app's own local database. There is no DataMopp-Up cloud that mirrors the user's communications; the app does not upload the user's message history to a server operated by the developer.
The application is transparent about the two circumstances in which data does leave the device, both of which are user-initiated and provider-facing rather than developer-facing:
- Email retrieval contacts the user's own email provider, using the authorization the user granted, to fetch that user's own mail.
- AI summarization transmits the specific message content the user chose to summarize to Google's Gemini service, which returns the summary. This third-party processing is disclosed in the privacy policy and the Play Data-safety form.
Sensitive credentials receive appropriate protection: OAuth tokens for the email accounts are held in encrypted storage rather than plain text. The privacy policy prepared for publication discloses the app's SMS handling, its email credential and content handling, and its transmission of content to the Gemini API — the three disclosures most material to a default-SMS, AI-enabled communication app under Google Play's rules.
12. Monetization
DataMopp-Up is monetized through Google AdMob interstitial advertising. The design goal for the ad experience is to generate revenue without making the app feel intrusive, and the application achieves this through a per-placement frequency cap rather than a naive show-on-every-action model.
Each location in the app that is eligible to show an interstitial — the SISIDI screen, the side menu, the email-setup screen, the main emails screen, and the search screen — maintains its own independent cooldown timer. After an ad is shown at a given placement, that placement will not show another for a set interval, and each placement's timer runs independently of the others. This prevents the common annoyance of a user being shown the same interstitial repeatedly as they move around, while still allowing the app to present ads across the natural break points of ordinary use. The cooldown state is persisted so the pacing holds across sessions.
Consistent with this, the application declares the presence of ads as part of its Play Console submission, and its release build is configured for the advertising and analytics services it uses.
13. Technical Architecture
DataMopp-Up is a modern native Android application written in Kotlin. Its architecture follows the MVVM (Model–View–ViewModel) pattern, keeping the user-interface layer separate from the data and business logic and making the app's behavior observable and testable. The major architectural components are:
- Hilt for dependency injection, wiring together the app's services, data sources, and view models, and providing the entry points through which background receivers reach the database.
- Room as the local persistence layer, holding the unified message stream and exposing it as reactive queries so the user interface updates automatically when new messages arrive.
- WorkManager for reliable background work, including a keepalive worker that helps the email-polling service survive aggressive background restrictions on a range of device manufacturers.
- Foreground services for the two tasks that must keep running while the app is away: the announce alarm playback and the email-polling loop that keeps mail arriving in real time.
- JavaMail for standards-based email access, AppAuth for OAuth authorization flows, and Tink for cryptographic operations.
Reactive data flow ties the system together: because the local database exposes its contents as observable streams, a message written by the SMS receiver appears in the user's list without any manual refresh. The release build is configured with code shrinking and resource shrinking, with obfuscation rules tuned to the exact dependency stack so that the optimized build behaves identically to the debug build. The application targets a current Android API level while supporting a broad range of older devices, maximizing the audience that can install it.
14. Google Play Publication Readiness
DataMopp-Up has been prepared with the specific requirements of Google Play publication in mind, because several of its core characteristics — default-SMS status, sensitive-permission use, and AI processing of message content — are exactly the areas Play review scrutinizes most closely.
- Permissions declaration. As a default-SMS application, the app is prepared to justify its SMS and related permissions through the Play Console's permissions-declaration process, explaining that this access is core to the app's stated function.
- Privacy policy. A rewritten privacy policy discloses SMS handling, email credential and content handling, and the transmission of message content to the Gemini API — the disclosures whose absence most commonly causes rejection for this class of app.
- Data-safety form. The app's data-safety declaration is aligned to its actual behavior, including the third-party sharing represented by Gemini summarization, kept accurate and minimal by relying on Android Vitals for crash and ANR telemetry rather than adding a third-party analytics SDK.
- Ads declaration. The presence of AdMob advertising is declared, consistent with the frequency-capped interstitial design described above.
- Release build. The production build is configured with minification and resource shrinking and provider-appropriate identifiers, and is intended to be validated thoroughly in release form because optimization-related issues surface only in that build.
Taken together, these preparations position DataMopp-Up to move through Play review with its most sensitive behaviors already documented and disclosed, rather than discovered.
Summary
DataMopp-Up unifies a user's SMS, MMS, and email into one local, searchable stream; it adds Gemini-powered single-message and daily/weekly digest summarization through the SISIDI system; it escalates urgent messages through a sender-driven announce system and a receiver-driven alert system; it organizes everything through cross-channel search, tagging, comments, and soft-archiving; and it does all of this on a local-first, privacy-transparent foundation built with a modern Kotlin/MVVM/Hilt/Room/WorkManager architecture. It is monetized unobtrusively through frequency-capped advertising and is prepared for Google Play publication with its sensitive behaviors fully disclosed.