# seyibuilds/auspify-ml-internship architecture

> Architecture diagram of the GitHub repository seyibuilds/auspify-ml-internship, 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/seyibuilds/auspify-ml-internship
- Repository: https://github.com/seyibuilds/auspify-ml-internship

## Overview

A set of four standalone Netflix-catalogue machine-learning tasks: recommendation, content-type prediction, segmentation, and audience-band analytics. The user runs a task script (or the documented all-tasks runner); each loads and cleans the catalogue through shared feature engineering, then produces task-specific results. The README documents model comparisons, recommendation evaluation, cluster profiles, automated insights, figures, and reports. Arrows reflect excerpted calls or explicit README documentation; unsampled implementation details are not inferred.

Main entry points: [`src/task1_recommendation.py`](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task1_recommendation.py) (Recommendation Task), [`src/task2_content_type.py`](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task2_content_type.py) (Type Prediction Task), [`src/task4_segmentation.py`](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task4_segmentation.py) (Segmentation Task), [`src/common.py`](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/common.py) (Load and Clean)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_shared["Shared Data Prep"]
  node_catalogue["Netflix Catalogue<br/>[Dataset.csv]"]
  node_loader["Load and Clean<br/>[common.py]"]
  node_features["Shared Features<br/>[common.py]"]
end

subgraph group_recommend["Recommendations"]
  node_rec_app["Recommendation Task"]
  node_content_text["Weighted Content Text"]
  node_similarity["Similarity and Ranking"]
  node_rec_eval["Recommendation Evaluation"]
end

subgraph group_classification["Type Prediction"]
  node_type_app["Type Prediction Task"]
  node_type_features["Leakage-safe Features"]
  node_type_models["Model Comparison"]
  node_type_ablation["Feature Ablation"]
end

subgraph group_segmentation["Content Segmentation"]
  node_segment_app["Segmentation Task"]
  node_segment_matrix["Cluster Features"]
  node_cluster_select["Cluster Selection"]
  node_cluster_profile["Cluster Profiles"]
end

subgraph group_analytics["Success Analytics"]
  node_analytics_app["Analytics Task"]
  node_analytics_features["Advanced Features"]
  node_analytics_models["Audience Models"]
  node_insights["Insights and Dashboard"]
end

node_user(("Analyst"))
node_outputs["Reports and Figures"]

node_user -->|"runs task"| node_rec_app
node_user -->|"runs task"| node_type_app
node_user -->|"runs task"| node_segment_app
node_user -->|"runs task"| node_analytics_app
node_catalogue -->|"loads"| node_loader
node_loader -->|"engineers"| node_features
node_rec_app -->|"loads via"| node_loader
node_type_app -->|"loads via"| node_loader
node_segment_app -->|"loads via"| node_loader
node_analytics_app -->|"loads via"| node_loader
node_rec_app -->|"builds"| node_content_text
node_content_text -->|"vectorizes for"| node_similarity
node_rec_app -->|"requests recommendations"| node_similarity
node_rec_app -->|"evaluates"| node_rec_eval
node_rec_app -->|"writes results"| node_outputs
node_type_app -->|"builds"| node_type_features
node_type_app -->|"trains and compares"| node_type_models
node_type_app -->|"runs ablation"| node_type_ablation
node_type_app -->|"writes results"| node_outputs
node_segment_app -->|"builds"| node_segment_matrix
node_segment_app -->|"selects cluster count"| node_cluster_select
node_segment_app -->|"profiles clusters"| node_cluster_profile
node_segment_app -->|"writes reports"| node_outputs
node_analytics_app -->|"engineers"| node_analytics_features
node_analytics_app -->|"trains and compares"| node_analytics_models
node_analytics_app -->|"generates"| node_insights
node_insights -->|"writes report and dashboard"| node_outputs

click node_catalogue "https://github.com/seyibuilds/auspify-ml-internship/blob/main/data/Dataset.csv"
click node_loader "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/common.py"
click node_features "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/common.py"
click node_rec_app "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task1_recommendation.py"
click node_content_text "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task1_recommendation.py"
click node_similarity "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task1_recommendation.py"
click node_rec_eval "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task1_recommendation.py"
click node_type_app "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task2_content_type.py"
click node_type_features "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task2_content_type.py"
click node_type_models "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task2_content_type.py"
click node_type_ablation "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task2_content_type.py"
click node_segment_app "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task4_segmentation.py"
click node_segment_matrix "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task4_segmentation.py"
click node_cluster_select "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task4_segmentation.py"
click node_cluster_profile "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task4_segmentation.py"
click node_analytics_app "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task6_analytics_engine.py"
click node_analytics_features "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task6_analytics_engine.py"
click node_analytics_models "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task6_analytics_engine.py"
click node_insights "https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task6_analytics_engine.py"
click node_outputs "https://github.com/seyibuilds/auspify-ml-internship/tree/main/outputs"

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_catalogue,node_loader,node_features toneBlue
class node_rec_app,node_content_text,node_similarity,node_rec_eval toneAmber
class node_type_app,node_type_features,node_type_models,node_type_ablation toneMint
class node_segment_app,node_segment_matrix,node_cluster_select,node_cluster_profile toneRose
class node_analytics_app,node_analytics_features,node_analytics_models,node_insights,node_user toneIndigo
class node_outputs toneTeal
```

## Components

### Shared Data Prep

- [Netflix Catalogue](https://github.com/seyibuilds/auspify-ml-internship/blob/main/data/Dataset.csv): `data/Dataset.csv`
- [Load and Clean](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/common.py): `src/common.py`
- [Shared Features](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/common.py): `src/common.py`

### Recommendations

- [Recommendation Task](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task1_recommendation.py): `src/task1_recommendation.py`
- [Weighted Content Text](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task1_recommendation.py): `src/task1_recommendation.py`
- [Similarity and Ranking](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task1_recommendation.py): `src/task1_recommendation.py`
- [Recommendation Evaluation](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task1_recommendation.py): `src/task1_recommendation.py`

### Type Prediction

- [Type Prediction Task](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task2_content_type.py): `src/task2_content_type.py`
- [Leakage-safe Features](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task2_content_type.py): `src/task2_content_type.py`
- [Model Comparison](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task2_content_type.py): `src/task2_content_type.py`
- [Feature Ablation](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task2_content_type.py): `src/task2_content_type.py`

### Content Segmentation

- [Segmentation Task](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task4_segmentation.py): `src/task4_segmentation.py`
- [Cluster Features](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task4_segmentation.py): `src/task4_segmentation.py`
- [Cluster Selection](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task4_segmentation.py): `src/task4_segmentation.py`
- [Cluster Profiles](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task4_segmentation.py): `src/task4_segmentation.py`

### Success Analytics

- [Analytics Task](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task6_analytics_engine.py): `src/task6_analytics_engine.py`
- [Advanced Features](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task6_analytics_engine.py): `src/task6_analytics_engine.py`
- [Audience Models](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task6_analytics_engine.py): `src/task6_analytics_engine.py`
- [Insights and Dashboard](https://github.com/seyibuilds/auspify-ml-internship/blob/main/src/task6_analytics_engine.py): `src/task6_analytics_engine.py`

### Other components

- **Analyst**
- [Reports and Figures](https://github.com/seyibuilds/auspify-ml-internship/tree/main/outputs): `outputs`

## Connections

- Analyst → Recommendation Task: runs task (evidence: `README.md`)
- Analyst → Type Prediction Task: runs task (evidence: `README.md`)
- Analyst → Segmentation Task: runs task (evidence: `README.md`)
- Analyst → Analytics Task: runs task (evidence: `README.md`)
- Netflix Catalogue → Load and Clean: loads (evidence: `README.md`)
- Load and Clean → Shared Features: engineers (evidence: `src/common.py`)
- Recommendation Task → Load and Clean: loads via (evidence: `src/task1_recommendation.py`)
- Type Prediction Task → Load and Clean: loads via (evidence: `src/task2_content_type.py`)
- Segmentation Task → Load and Clean: loads via (evidence: `src/task4_segmentation.py`)
- Analytics Task → Load and Clean: loads via (evidence: `src/task6_analytics_engine.py`)
- Recommendation Task → Weighted Content Text: builds (evidence: `src/task1_recommendation.py`)
- Weighted Content Text → Similarity and Ranking: vectorizes for (evidence: `src/task1_recommendation.py`)
- Recommendation Task → Similarity and Ranking: requests recommendations (evidence: `src/task1_recommendation.py`)
- Recommendation Task → Recommendation Evaluation: evaluates (evidence: `README.md`)
- Recommendation Task → Reports and Figures: writes results (evidence: `README.md`)
- Type Prediction Task → Leakage-safe Features: builds (evidence: `src/task2_content_type.py`)
- Type Prediction Task → Model Comparison: trains and compares (evidence: `src/task2_content_type.py`)
- Type Prediction Task → Feature Ablation: runs ablation (evidence: `src/task2_content_type.py`)
- Type Prediction Task → Reports and Figures: writes results (evidence: `README.md`)
- Segmentation Task → Cluster Features: builds (evidence: `src/task4_segmentation.py`)
- Segmentation Task → Cluster Selection: selects cluster count (evidence: `src/task4_segmentation.py`)
- Segmentation Task → Cluster Profiles: profiles clusters (evidence: `src/task4_segmentation.py`)
- Segmentation Task → Reports and Figures: writes reports (evidence: `src/task4_segmentation.py`)
- Analytics Task → Advanced Features: engineers (evidence: `src/task6_analytics_engine.py`)
- Analytics Task → Audience Models: trains and compares (evidence: `src/task6_analytics_engine.py`)
- Analytics Task → Insights and Dashboard: generates (evidence: `src/task6_analytics_engine.py`)
- Insights and Dashboard → Reports and Figures: writes report and dashboard (evidence: `README.md`)
