# kanishka373/resutrack-ai architecture

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

- Interactive diagram: https://gitdiagram.com/kanishka373/resutrack-ai
- Repository: https://github.com/kanishka373/resutrack-ai

## Overview

ResuTrack is a Streamlit career tool centered on a resume-to-role analysis loop: visitors upload a resume, receive ATS scoring and AI guidance, save scans, then track progress and act on skill or job recommendations. The app also offers an independent resume builder, career roadmaps, live job search, and informational pages. Source excerpts support the main routing, scan persistence, dashboard/history reads, and job API calls; some page internals are unsampled, so their wiring is shown only where documented.

Main entry points: [`app.py`](https://github.com/kanishka373/resutrack-ai/blob/main/app.py) (Streamlit Router), [`analyzer.py`](https://github.com/kanishka373/resutrack-ai/blob/main/analyzer.py) (Resume Analyzer), [`job.py`](https://github.com/kanishka373/resutrack-ai/blob/main/job.py) (Job Radar), [`db.py`](https://github.com/kanishka373/resutrack-ai/blob/main/db.py) (Scan Records)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["App and Navigation"]
  node_app["Streamlit Router<br/>[app.py]"]
  node_home["Home Page<br/>[home.py]"]
  node_about["About Page<br/>[about.py]"]
end

subgraph group_analysis["Resume Analysis"]
  node_analyzer["Resume Analyzer<br/>[analyzer.py]"]
  node_pdf_report["Analysis PDF Report<br/>[analyzer.py]"]
end

subgraph group_career["Career Tools"]
  node_resume_pdf["Resume PDF Builder<br/>[builder.py]"]
  node_roadmap["Career Roadmaps<br/>[tips.py]"]
  node_job_search["Job Radar<br/>[job.py]"]
end

subgraph group_tracking["Progress Tracking"]
  node_dashboard["Analytics Dashboard<br/>[dashboard.py]"]
  node_history["Resume History<br/>[history.py]"]
  node_scan_store[("Scan Records<br/>[db.py]")]
end

subgraph group_external["External Services"]
  node_groq{{"Groq LLM API"}}
  node_supabase[("Supabase PostgreSQL")]
  node_adzuna{{"Adzuna Jobs API"}}
  node_arbeitnow{{"Arbeitnow Job Board"}}
end

node_visitor(("Visitor"))

node_visitor -->|"opens"| node_app
node_app -->|"routes"| node_home
node_app -->|"routes"| node_analyzer
node_app -->|"routes"| node_resume_pdf
node_app -->|"routes"| node_dashboard
node_app -->|"routes"| node_roadmap
node_app -->|"routes"| node_job_search
node_app -->|"routes"| node_history
node_app -->|"routes"| node_about
node_visitor -->|"uploads resume"| node_analyzer
node_analyzer -->|"requests analysis"| node_groq
node_analyzer -->|"saves scan"| node_scan_store
node_analyzer -->|"generates report"| node_pdf_report
node_visitor -->|"enters details"| node_resume_pdf
node_visitor -->|"searches roles"| node_job_search
node_job_search -->|"fetches listings"| node_adzuna
node_job_search -.->|"fetches skill trends"| node_arbeitnow
node_dashboard -->|"reads scans"| node_scan_store
node_history -->|"reads and deletes"| node_scan_store
node_scan_store -->|"queries records"| node_supabase

click node_app "https://github.com/kanishka373/resutrack-ai/blob/main/app.py"
click node_home "https://github.com/kanishka373/resutrack-ai/blob/main/home.py"
click node_about "https://github.com/kanishka373/resutrack-ai/blob/main/about.py"
click node_analyzer "https://github.com/kanishka373/resutrack-ai/blob/main/analyzer.py"
click node_pdf_report "https://github.com/kanishka373/resutrack-ai/blob/main/analyzer.py"
click node_resume_pdf "https://github.com/kanishka373/resutrack-ai/blob/main/builder.py"
click node_roadmap "https://github.com/kanishka373/resutrack-ai/blob/main/tips.py"
click node_job_search "https://github.com/kanishka373/resutrack-ai/blob/main/job.py"
click node_dashboard "https://github.com/kanishka373/resutrack-ai/blob/main/dashboard.py"
click node_history "https://github.com/kanishka373/resutrack-ai/blob/main/history.py"
click node_scan_store "https://github.com/kanishka373/resutrack-ai/blob/main/db.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_app,node_home,node_about toneBlue
class node_analyzer,node_pdf_report toneAmber
class node_resume_pdf,node_roadmap,node_job_search toneMint
class node_dashboard,node_history,node_scan_store toneRose
class node_groq,node_supabase,node_adzuna,node_arbeitnow,node_visitor toneIndigo
```

## Components

### App and Navigation

- [Streamlit Router](https://github.com/kanishka373/resutrack-ai/blob/main/app.py): `app.py`
- [Home Page](https://github.com/kanishka373/resutrack-ai/blob/main/home.py): `home.py`
- [About Page](https://github.com/kanishka373/resutrack-ai/blob/main/about.py): `about.py`

### Resume Analysis

- [Resume Analyzer](https://github.com/kanishka373/resutrack-ai/blob/main/analyzer.py): `analyzer.py`
- [Analysis PDF Report](https://github.com/kanishka373/resutrack-ai/blob/main/analyzer.py): `analyzer.py`

### Career Tools

- [Resume PDF Builder](https://github.com/kanishka373/resutrack-ai/blob/main/builder.py): `builder.py`
- [Career Roadmaps](https://github.com/kanishka373/resutrack-ai/blob/main/tips.py): `tips.py`
- [Job Radar](https://github.com/kanishka373/resutrack-ai/blob/main/job.py): `job.py`

### Progress Tracking

- [Analytics Dashboard](https://github.com/kanishka373/resutrack-ai/blob/main/dashboard.py): `dashboard.py`
- [Resume History](https://github.com/kanishka373/resutrack-ai/blob/main/history.py): `history.py`
- [Scan Records](https://github.com/kanishka373/resutrack-ai/blob/main/db.py): `db.py`

### External Services

- **Groq LLM API**
- **Supabase PostgreSQL**
- **Adzuna Jobs API**
- **Arbeitnow Job Board**

### Other components

- **Visitor**

## Connections

- Visitor → Streamlit Router: opens
- Streamlit Router → Home Page: routes
- Streamlit Router → Resume Analyzer: routes
- Streamlit Router → Resume PDF Builder: routes
- Streamlit Router → Analytics Dashboard: routes
- Streamlit Router → Career Roadmaps: routes
- Streamlit Router → Job Radar: routes
- Streamlit Router → Resume History: routes
- Streamlit Router → About Page: routes
- Visitor → Resume Analyzer: uploads resume
- Resume Analyzer → Groq LLM API: requests analysis
- Resume Analyzer → Scan Records: saves scan
- Resume Analyzer → Analysis PDF Report: generates report
- Visitor → Resume PDF Builder: enters details
- Visitor → Job Radar: searches roles
- Job Radar → Adzuna Jobs API: fetches listings
- Job Radar → Arbeitnow Job Board: fetches skill trends
- Analytics Dashboard → Scan Records: reads scans
- Resume History → Scan Records: reads and deletes
- Scan Records → Supabase PostgreSQL: queries records
