Native Android • Experience & delivery plan • 16 October 2026

BULLY

DESIGN PROPOSAL • NOT A RELEASE

One clear place to ask for help. Trusted people, understandable status, and a calm companion — built into the existing BULLY app.

Prepared for Heath from the supplied artwork and the canonical Kotlin/Compose source. The visual is a proposed direction; capability statements below distinguish source evidence from future connections.

Open concept image

01 / The visual direction

Proposed BULLY Android screens: alert status, central hold-for-help home, and MUSE/NOVA companion.

Concept artwork, not a running-app capture. The central home, status view and companion reuse existing surfaces. Generated text and layout are guidance; native measurements and behavior below govern implementation.

Obsidian surfaceHelp / redAttention / amberInformation / blueReadable warm white

Keep the shield, pulse and MUSE orb. Use restrained edge lighting around actions, solid readable text, and subtle glass panels. Green check-in styling describes the action; it must never certify that the person is safe. Map these proposals to existing theme tokens before implementation.

02 / One app, five routes, one companion

01 • CHATS

Your trusted conversations

chats → MessengerScreen

Guardians and verified school staff, with clear recipient identity and message state. Keep the current locked notice until adult authority and access rules are proven.

TARGET CONNECTION • CURRENTLY LOCKED

02 • FEED

Useful, calm support

feed → CuratedFeedScreen today

Curated support resources and saved items. Public posts, comments and social counts stay gated behind the existing social lock pending a reviewed design.

CURATED ROUTE PRESENT IN SOURCE

03 • BULLY

Help without hunting

sos → SosScreen

Large hold control, trusted people, actual location availability, practice mode and per-recipient SMS results. Keep a check-in distinct from cancelling an active alert.

LOCAL ALARM / SMS CODE PRESENT

04 • REPORTS

Explain what happened

reports → IncidentReportScreen

Draft, review and submit, with separate “saved on this device” and “submitted” states. An alert alone does not prove a report reached staff.

EXISTING SCREEN • DELIVERY NEEDS PROOF

05 • MAPS

Location with context

maps → GeofencingScreen

Real fix and its age, permission/offline states, and approved pins. Never invent a school, safe place, distance or moving location. A map is not proof that a place is safe.

EXISTING SCREEN • LIVE MAPS UNVERIFIED

COMPANION • NO SIXTH TAB

MUSE / NOVA

MuseChatScreen → existing full-screen dialog

Talk it through, find support, or draft a message. Explain when support is on-device. Keep typing available when speech is denied or unavailable; let the person review a draft before sending.

LOCAL SUPPORT • CLOUD LOCK IS OFF

The five bottom items remain Chats → Feed → BULLY → Reports → Maps. Settings stays behind the gear. A future staff response view is a role-protected state within the existing app, subject to verified server authority.

03 / The help flow

1. HoldNormal help uses the existing 10-second hold. Release early to stop. Practice must be unmistakable and send nothing.
2. AttemptUse saved guardians and a real location fix if available. Show missing contact, permission and network conditions honestly.
3. Show statusEach recipient has its own sending, sent-from-phone, failed or not-attempted result. A pending retry is not delivery.
4. Human responseProposed connected service: a verified recipient explicitly acknowledges or chooses to respond. SMS send callbacks do not establish this.
5. Check inPrepare/send a check-in with its own result. Cancellation says the alarm was cancelled; it does not announce that the person is safe.

“Sent from this phone” → evidence of the send result.
“Someone is responding” → evidence of a real person’s response.

ConditionProposed user wordingEvidence required
No guardianAdd a trusted person before texting an alert.Saved guardian list is empty.
Permission unavailableText not attempted — SMS permission is unavailable.Actual permission/service check.
SendingSending from this phone…Gateway operation is pending.
Sent from phoneHanded to the network. Delivery not confirmed.Android sent callbacks for all message parts.
Failed / retryingCouldn’t send. Retrying…Failure plus an actual scheduled retry; expose a final failure when exhausted.
Location unavailableLocation unavailable.No real fix. A stale fix must include its age.
Human acknowledgedSeen by your trusted person.Future authenticated acknowledgement. Not inferred from SMS.
RespondingYour trusted person has said they are responding.Future explicit authenticated action, with identity/time.

04 / The machinery beneath it

Device path • present in source

Compose screens → BullyViewModel / AlarmCore → EmergencySOSManager → GuardianAlertDispatcher → AndroidSmsGateway + FusedGeoProvider.

Room holds local state. SafetyTimer and the existing watch service support timer/retry behavior. Preserve current owner checks, duplicate-send protection and practice isolation while improving the layout.

MUSE checks local guardrails and fixed help answers before its optional cloud path. Local rules are bounded; no claim of universal crisis detection.

Connected path • proposed / unverified

Firebase Auth identity → server-owned guardian/school membership → restrictive access rules → authorized alert/message sender → recipient action → receipt displayed in BULLY.

Reuse existing services and collection names after inspection. Keep staged configuration staged until access, privacy and test isolation pass. Do not infer a school role from a local selector.

Cloud AI remains locked until its separate privacy and provider review. No personal, health or crisis text goes to an unapproved provider.

05 / What is present, and what still needs evidence

AreaObserved in this reviewLimit / next proof
WorkspaceWorkspace guard passed for E:/Bully-Android-Standalone and com.bullyyouth.app.Does not measure cloud health.
NavigationFive route declarations and callers inspected; MUSE opens as a full-screen dialog.No device navigation/layout test performed in this design task.
Guardian SMSActual Android sent-result callbacks, per-recipient states and dispatcher/retry code inspected.Two physical phones must prove send/arrival behavior, failures and cancellation.
MessengerMessengerLock.ENABLED = false.Verified adult accounts and server access checks before activation.
FeedSocialFeedLock.ENABLED = false; route selects curated content.Open social posting needs separate redesign/review.
MUSE / NOVALocal checks/answers and cloud gate inspected; NovaCloudLock.ENABLED = false.Device speech and sensitive-text lifecycle need their own tests.
Google servicesSetup record documents registration and staged config.No live console, sign-in, Maps or recipient acknowledgement verification here.
Saved test resultsExisting local XML contains 135 tests, zero failures/errors across 23 suites.These were not rerun here and are not certification of the current modified tree or live delivery.
Android Studio screenshotBuild panel says BUILD SUCCESSFUL; agent panel is waiting for a feature choice.A screenshot cannot establish current device or backend readiness.
Design artifact checks1536 × 1024 concept image inspected; local image/handoff links resolve; git diff --check passed.Browser preview was blocked by the browser tool’s local-file URL policy. Responsive and print styling are supplied but not browser-verified.

06 / Build order and acceptance

FIRST • SAFETY CLARITY

Home + alert status

Implement the proposed visual hierarchy in the existing SosScreen and status components. Preserve the alarm engine and every safety guard. Distinguish practice, sending, failure, cancellation and check-in.

Accept when: early release cancels; practice sends nothing; one hold creates one dispatch; per-recipient wording follows actual results.

SECOND • REAL HELP PROOF

Device evidence

Review saved guardians and privacy. Exercise approved test contacts on two physical phones, including denied permissions, no signal, retry, stale/no location and screen-off conditions.

Accept when: the observed recipient experience matches every claim. SMS send status and receipt remain distinct.

THIRD • COMMUNICATION

Trusted connections

Prove sign-in, adult authority, school isolation and revocation before Messenger/response activation. Then review Maps pins, companion voice and the curated Feed.

Accept when: signed-out, wrong-school, revoked and unauthorized clients cannot access protected data.

Heath’s visual acceptance

These local checkboxes are review aids, not recorded approval or test evidence. They reset when the page reloads.

07 / Scope, handoff and rollback

Deliverables: this blueprint, the concept PNG, the saved generation prompt, and the Android Studio handoff. No app source was edited for this design task; no routes were added. No Firebase setting, rules, records, billing, hosting, commit, push or release action was performed.

Eight pre-existing modified Kotlin files were observed and copied outside the repository before adding these files. Other sessions may continue to edit; this does not claim they have been stopped. To roll back this design work, remove only this task’s new design/asset files; preserve app source and prior artwork.

Next Android Studio selection: Emergency SOS & Guardian SMS/GPS Pipeline. Use the accompanying handoff text to constrain its first slice to the existing screens and honest states. This is a recommendation for Heath to send, not a message sent to that agent.

Seven-point contract: solves unclear direction; supplies a visual and screen plan; maps existing device machinery; distinguishes source from proposed connections; reports bounded evidence; supplies Heath’s review checklist; enables one coherent native app without duplicating it.

Source evidence inspected

MainActivity.kt · ui/components/BottomBullyNavBar.kt · ui/screens/SosScreen.kt · ui/screens/MessengerScreen.kt · data/emergency/AlarmCore.kt · data/emergency/EmergencySOSManager.kt · data/guardian/GuardianAlertDispatcher.kt · data/guardian/SmsAndLocation.kt · data/ai/MuseAiService.kt · data/ai/MuseGuardrails.kt · data/ai/NovaCloudLock.kt · data/firestore/MessengerLock.kt · data/curated/CuratedCatalog.kt.

Standing orders and Northstar; docs/WORKING_SESSION.md; docs/GOOGLE_SETUP.md; docs/ANDROID_LAYOUT_SAFETY.md; docs/BULLY_ARCHITECTURE_DESIGN.md; supplied poster, pasted history and Android Studio screenshot.