# bhaskarbhar/bob-ai-hackathon-team architecture

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

- Interactive diagram: https://gitdiagram.com/bhaskarbhar/bob-ai-hackathon-team
- Repository: https://github.com/bhaskarbhar/bob-ai-hackathon-team

## Overview

SocioThreat is a batch OSINT forensics platform: investigators review social-post data, the analyzer classifies threats and detects coordinated account clusters, lineage analysis traces cascades, legal mapping proposes candidate statutes, and a web dashboard exposes findings and case briefs. The graph separates analysis stages even where they share a source file. README capabilities such as interactive network exploration are included; detailed frontend-to-endpoint wiring is not fully shown in the sampled excerpts.

Main entry points: [`src/backend/analyzer.py`](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analyzer.py) (Threat Classification), [`src/frontend/main.jsx`](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/frontend/main.jsx) (React Dashboard), [`src/backend/server.py`](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/server.py) (REST API), [`src/backend/analysis.json`](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analysis.json) (Analysis Results)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Investigator Interface"]
  node_dashboard["React Dashboard<br/>[main.jsx]"]
end

subgraph group_analysis["Forensic Analysis"]
  node_classifier["Threat Classification<br/>[analyzer.py]"]
  node_coordination["Coordination Graph<br/>[analyzer.py]"]
  node_clusters["Cluster Risk<br/>[analyzer.py]"]
  node_lineage["Cascade Lineage<br/>[story.py]"]
end

subgraph group_legal["Legal Assessment"]
  node_statutes["Statute Mapping<br/>[bns.py]"]
  node_legalrollup["Legal Rollup<br/>[story.py]"]
end

subgraph group_delivery["Case Delivery"]
  node_api["REST API<br/>[server.py]"]
  node_brief["Case Briefs<br/>[server.py]"]
end

node_investigator(("Investigator"))
node_posts["Social Posts<br/>[posts.jsonl]"]
node_analysisoutput["Analysis Results<br/>[analysis.json]"]
node_externalllm["DeepSeek API"]

node_investigator -->|"reviews findings"| node_dashboard
node_posts -->|"classifies posts"| node_classifier
node_classifier -->|"supplies labels"| node_coordination
node_coordination -->|"builds clusters"| node_clusters
node_clusters -->|"analyzes cascades"| node_lineage
node_classifier -->|"maps threats"| node_statutes
node_statutes -->|"provides provisions"| node_legalrollup
node_lineage -->|"provides cluster evidence"| node_legalrollup
node_legalrollup -->|"adds legal results"| node_analysisoutput
node_lineage -->|"adds lineage results"| node_analysisoutput
node_clusters -->|"writes findings"| node_analysisoutput
node_analysisoutput -->|"loads results"| node_api
node_api -->|"serves API data"| node_dashboard
node_api -->|"generates brief"| node_brief
node_dashboard -->|"requests findings"| node_api
node_dashboard -->|"displays results"| node_investigator
node_classifier -.->|"classifies via API"| node_externalllm

click node_posts "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/posts.jsonl"
click node_dashboard "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/frontend/main.jsx"
click node_api "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/server.py"
click node_classifier "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analyzer.py"
click node_coordination "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analyzer.py"
click node_clusters "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analyzer.py"
click node_lineage "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/story.py"
click node_statutes "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/bns.py"
click node_legalrollup "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/story.py"
click node_analysisoutput "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analysis.json"
click node_brief "https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/server.py"

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_dashboard toneBlue
class node_classifier,node_coordination,node_clusters,node_lineage toneAmber
class node_statutes,node_legalrollup,node_externalllm toneMint
class node_api,node_brief toneRose
class node_investigator toneIndigo
class node_posts,node_analysisoutput toneTeal
```

## Components

### Investigator Interface

- [React Dashboard](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/frontend/main.jsx): `src/frontend/main.jsx`

### Forensic Analysis

- [Threat Classification](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analyzer.py): `src/backend/analyzer.py`
- [Coordination Graph](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analyzer.py): `src/backend/analyzer.py`
- [Cluster Risk](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analyzer.py): `src/backend/analyzer.py`
- [Cascade Lineage](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/story.py): `src/backend/story.py`

### Legal Assessment

- [Statute Mapping](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/bns.py): `src/backend/bns.py`
- [Legal Rollup](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/story.py): `src/backend/story.py`

### Case Delivery

- [REST API](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/server.py): `src/backend/server.py`
- [Case Briefs](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/server.py): `src/backend/server.py`

### Other components

- **Investigator**
- [Social Posts](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/posts.jsonl): `src/backend/posts.jsonl`
- [Analysis Results](https://github.com/bhaskarbhar/bob-ai-hackathon-team/blob/main/src/backend/analysis.json): `src/backend/analysis.json`
- **DeepSeek API**

## Connections

- Investigator → React Dashboard: reviews findings
- Social Posts → Threat Classification: classifies posts
- Threat Classification → Coordination Graph: supplies labels
- Coordination Graph → Cluster Risk: builds clusters
- Cluster Risk → Cascade Lineage: analyzes cascades
- Threat Classification → Statute Mapping: maps threats
- Statute Mapping → Legal Rollup: provides provisions
- Cascade Lineage → Legal Rollup: provides cluster evidence
- Legal Rollup → Analysis Results: adds legal results
- Cascade Lineage → Analysis Results: adds lineage results
- Cluster Risk → Analysis Results: writes findings
- Analysis Results → REST API: loads results
- REST API → React Dashboard: serves API data
- REST API → Case Briefs: generates brief
- React Dashboard → REST API: requests findings
- React Dashboard → Investigator: displays results
- Threat Classification → DeepSeek API: classifies via API
