Systems registry
public-buildgithub

SpamBot

Combines Gemini-assisted rule drafting with deterministic Android workflow execution for calls, SMS, notifications, DND, and temporary automations.

Natural Language Request
Gemini Rule Drafting
Conflict Detection
Local Workflow Store
Call / SMS / Notification Events

system visual

Protected or source media unavailable. Architecture preview used instead.

System Overview

Privacy-first Android automation and spam protection app that converts natural-language requests into telecom and device workflows.

Local Android product build.

Implementation Signals

KotlinJetpack ComposeAndroidGeminiMVVMCoroutines

System flow

A compact view of how inputs move through processing, orchestration, validation, and output.

01

Natural Language Request

Users describe rules such as spam blocking, auto-replies, or temporary device automation.

02

Gemini Rule Drafting

The assistant proposes structured workflow JSON and can verify contact names locally.

03

Conflict Detection

Exact duplicates, conflicting actions, and overlapping number prefixes are checked before activation.

04

Local Workflow Store

Rules are saved locally through SharedPreferences and JSON serialization.

05

Call / SMS / Notification Events

Android receivers and services observe incoming telecom and notification events.

06

Workflow Engine

Matched rules execute actions such as reject call, silence, SMS reply, DND, camera, or recorder.

Engineering decisions

Decision Record

Separate AI proposal from deterministic execution

Problem: Mobile automation can be risky if model output directly executes without validation.

Approach: Use Gemini to draft workflow JSON, then parse, preview, conflict-check, and confirm rules before execution.

Tradeoff: Adds validation steps before automation runs.

Outcome: Keeps the AI layer useful while preserving predictable Android behavior.

Decision Record

Keep sensitive contact data local

Problem: Spam and telecom automation touches private phone numbers, contacts, and messages.

Approach: Use local contact lookup tooling and avoid sending raw private contact records to the cloud.

Tradeoff: Requires a local tool-calling boundary and more permission handling.

Outcome: Improves privacy posture while still enabling natural-language automation.

Decision Record

Treat conflict detection as core product logic

Problem: Automation rules can contradict each other or overlap in ways users do not notice.

Approach: Add a deterministic conflict detector for duplicate rules, same-trigger/different-action cases, and overlapping prefixes.

Tradeoff: More product logic beyond basic spam filtering.

Outcome: Makes the automation engine safer and more operator-friendly.

Results / Learnings

Architecture

README-backed Android automation engine with CallScreeningService, SmsReceiver, WorkflowEngine, WorkflowManager, and ConflictDetector.

Safety

Rules are previewed, conflict-checked, and stored locally before execution.

Automation

Supports call rejection/silencing, SMS auto-reply, DND/ringer changes, camera, recording, and temporary workflows.

Progressive depth

This page keeps the outcome and architecture visible first. Implementation stack, decisions, constraints, and media are available below so technical depth is opt-in rather than forced.

Adjacent systems