# yunuseeeeeeee/yunze-reels-countrer architecture

> Architecture diagram of the GitHub repository yunuseeeeeeee/yunze-reels-countrer, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-15). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yunuseeeeeeee/yunze-reels-countrer
- Repository: https://github.com/yunuseeeeeeee/yunze-reels-countrer

## Overview

Yunze Reels is an Android Reels-usage tracker. The user enables its accessibility service, which observes Instagram Reels activity, records usage and sessions, and feeds the home, insights, history, settings, overlay, alerts, and widgets. The graph separates tracking, persistence, user-facing views, and notifications/widgets. MainActivity.kt is only partially excerpted; relationships not evidenced by the excerpts or source index are omitted.

Main entry points: [`MainActivity.kt`](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/MainActivity.kt) (App screens), [`ReelsService.kt`](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/ReelsService.kt) (Reels monitor), [`Store.kt`](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/Store.kt) (Preferences and history), [`Notifier.kt`](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/Notifier.kt) (Alert delivery)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_tracking["Usage tracking"]
  node_service["Reels monitor<br/>[ReelsService.kt]"]
  node_overlay["Usage overlay<br/>[ReelsService.kt]"]
end

subgraph group_data["Usage data"]
  node_store[("Preferences and history<br/>[Store.kt]")]
end

subgraph group_app["App experience"]
  node_activity["App screens<br/>[MainActivity.kt]"]
  node_ui["Compose components<br/>[Ui.kt]"]
end

subgraph group_surfaces["Alerts and widgets"]
  node_notifier["Alert delivery<br/>[Notifier.kt]"]
  node_widgets["Usage widgets<br/>[ReelsWidget.kt]"]
end

node_user(("Phone user"))
node_instagram["Instagram Reels"]

node_user -->|"opens and configures"| node_activity
node_activity -->|"enables monitoring"| node_service
node_instagram -->|"emits accessibility events"| node_service
node_service -->|"records usage"| node_store
node_service -->|"updates display"| node_overlay
node_service -->|"requests weekly alert"| node_notifier
node_activity -->|"reads and configures"| node_store
node_activity -->|"renders screens"| node_ui
node_ui -->|"reads and writes settings"| node_store
node_notifier -->|"reads preferences and totals"| node_store
node_widgets -->|"reads usage totals"| node_store
node_widgets -->|"opens app"| node_activity
node_notifier -->|"opens app"| node_activity
node_user -.->|"views usage"| node_widgets
node_user -.->|"receives alerts"| node_notifier

click node_activity "https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/MainActivity.kt"
click node_service "https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/ReelsService.kt"
click node_overlay "https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/ReelsService.kt"
click node_store "https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/Store.kt"
click node_ui "https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/Ui.kt"
click node_notifier "https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/Notifier.kt"
click node_widgets "https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/ReelsWidget.kt"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_service,node_overlay,node_user toneBlue
class node_store toneAmber
class node_activity,node_ui toneMint
class node_notifier,node_widgets toneRose
class node_instagram toneIndigo
```

## Components

### Usage tracking

- [Reels monitor](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/ReelsService.kt): `ReelsService.kt`
- [Usage overlay](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/ReelsService.kt): `ReelsService.kt`

### Usage data

- [Preferences and history](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/Store.kt): `Store.kt`

### App experience

- [App screens](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/MainActivity.kt): `MainActivity.kt`
- [Compose components](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/Ui.kt): `Ui.kt`

### Alerts and widgets

- [Alert delivery](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/Notifier.kt): `Notifier.kt`
- [Usage widgets](https://github.com/yunuseeeeeeee/yunze-reels-countrer/blob/main/ReelsWidget.kt): `ReelsWidget.kt`

### Other components

- **Phone user**
- **Instagram Reels**

## Connections

- Phone user → App screens: opens and configures (evidence: `MainActivity.kt`)
- App screens → Reels monitor: enables monitoring (evidence: `MainActivity.kt`)
- Instagram Reels → Reels monitor: emits accessibility events (evidence: `ReelsService.kt`)
- Reels monitor → Preferences and history: records usage (evidence: `ReelsService.kt`)
- Reels monitor → Usage overlay: updates display (evidence: `ReelsService.kt`)
- Reels monitor → Alert delivery: requests weekly alert (evidence: `ReelsService.kt`)
- App screens → Preferences and history: reads and configures (evidence: `MainActivity.kt`)
- App screens → Compose components: renders screens (evidence: `MainActivity.kt`)
- Compose components → Preferences and history: reads and writes settings (evidence: `Ui.kt`)
- Alert delivery → Preferences and history: reads preferences and totals (evidence: `Notifier.kt`)
- Usage widgets → Preferences and history: reads usage totals (evidence: `ReelsWidget.kt`)
- Usage widgets → App screens: opens app (evidence: `ReelsWidget.kt`)
- Alert delivery → App screens: opens app (evidence: `Notifier.kt`)
- Phone user → Usage widgets: views usage
- Phone user → Alert delivery: receives alerts
