# ait0xin/bridge-insights architecture

> Architecture diagram of the GitHub repository ait0xin/bridge-insights, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-26). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ait0xin/bridge-insights
- Repository: https://github.com/ait0xin/bridge-insights

## Overview

bridge-insights is a published aggregate-data artefact, not the Bridge app or its processing code. The documented workflow samples watch publications and enthusiast forums, computes exact brand-mention counts and model-estimated sentiment, then publishes aggregate figures in insights.json for the iOS app to resolve against its own catalogue and display. The scheduled job and app internals are not present in this repository, so their relationships are shown only where the README describes them.

Main entry points: [`insights.json`](https://github.com/ait0xin/bridge-insights/blob/main/insights.json) (Insight artefact)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_watch_media["Watch publications"]
node_forums["Enthusiast forums"]
node_scheduled_job["Scheduled job"]
node_mention_counts["Exact mention counts"]
node_sentiment_models["Sentiment models"]
node_insights["Insight artefact<br/>[insights.json]"]
node_ios_app["Bridge iOS app"]
node_catalogue[("App catalogue")]

node_watch_media -->|"provides text"| node_scheduled_job
node_forums -->|"provides text"| node_scheduled_job
node_scheduled_job -->|"matches mentions"| node_mention_counts
node_scheduled_job -->|"estimates sentiment"| node_sentiment_models
node_scheduled_job -->|"publishes aggregates"| node_insights
node_ios_app -->|"reads figures"| node_insights
node_ios_app -->|"resolves IDs"| node_catalogue

click node_insights "https://github.com/ait0xin/bridge-insights/blob/main/insights.json"

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_watch_media,node_forums,node_scheduled_job,node_mention_counts,node_sentiment_models,node_ios_app toneIndigo
class node_insights toneTeal
class node_catalogue toneAmber
```

## Components

### Other components

- **Watch publications**
- **Enthusiast forums**
- **Scheduled job**
- **Exact mention counts**
- **Sentiment models**
- [Insight artefact](https://github.com/ait0xin/bridge-insights/blob/main/insights.json): `insights.json`
- **Bridge iOS app**
- **App catalogue**

## Connections

- Watch publications → Scheduled job: provides text
- Enthusiast forums → Scheduled job: provides text
- Scheduled job → Exact mention counts: matches mentions
- Scheduled job → Sentiment models: estimates sentiment
- Scheduled job → Insight artefact: publishes aggregates
- Bridge iOS app → Insight artefact: reads figures
- Bridge iOS app → App catalogue: resolves IDs
