docs: rename to Job Tracker and add architecture + lifecycle diagrams
- Renamed the H1 from 'Job Agent' to 'Job Tracker' to match the published
repo name.
- Added two Mermaid diagrams up front under 'How it works':
- Architecture diagram: Next.js (RSC + API) ↔ Postgres+pgvector ↔
Claude CLI ↔ local embedder, with HNSW cosine retrieval and the
storage/ folder for uploads + generated PDFs.
- Lifecycle diagram: end-to-end flow from profile setup → application
creation → auto-indexing → generation (CV / cover letter / interview
prep / emails) → review with ATS scoring → approve → pipeline tracking
with unified feed, contacts, and per-company research → outcome →
feedback loop that reindexes positive outcomes for future RAG
retrieval.
Both Gitea and GitHub render Mermaid natively in markdown.
This commit is contained in:
parent
a0c37d4201
commit
5890f2bbf7
1 changed files with 81 additions and 1 deletions
82
README.md
82
README.md
|
|
@ -1,4 +1,4 @@
|
||||||
# Job Agent
|
# Job Tracker
|
||||||
|
|
||||||
**EN** — Personal job-application command center: full-pipeline tracking, AI-generated CVs/cover letters/emails, per-company research log, recruiter networking, and an integrated event feed for every application. Postgres + pgvector RAG, Next.js 16.
|
**EN** — Personal job-application command center: full-pipeline tracking, AI-generated CVs/cover letters/emails, per-company research log, recruiter networking, and an integrated event feed for every application. Postgres + pgvector RAG, Next.js 16.
|
||||||
|
|
||||||
|
|
@ -6,6 +6,86 @@
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## How it works
|
||||||
|
|
||||||
|
### Architecture
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
User([👤 User])
|
||||||
|
|
||||||
|
subgraph App["Next.js 16 (App Router + RSC)"]
|
||||||
|
UI[Pages /applications /contacts /profile<br/>dashboard, raio-x, settings]
|
||||||
|
API[API routes<br/>async route handlers]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph Storage["Persistence"]
|
||||||
|
PG[(Postgres 16<br/>+ pgvector)]
|
||||||
|
FS[storage/uploads<br/>storage/generated]
|
||||||
|
end
|
||||||
|
|
||||||
|
subgraph AI["AI subsystems"]
|
||||||
|
Claude[Claude CLI<br/>subprocess]
|
||||||
|
Embedder[Local embedder<br/>all-MiniLM-L6-v2<br/>384 dims]
|
||||||
|
end
|
||||||
|
|
||||||
|
User -->|HTTPS| UI
|
||||||
|
UI -->|fetch| API
|
||||||
|
API <-->|Drizzle ORM<br/>postgres-js| PG
|
||||||
|
API -->|stdin/stdout| Claude
|
||||||
|
API -->|index on write| Embedder
|
||||||
|
Embedder -->|vector embeddings| PG
|
||||||
|
API -->|PDFs, uploaded docs| FS
|
||||||
|
PG -.->|HNSW cosine `<=>`<br/>top-K chunks| API
|
||||||
|
```
|
||||||
|
|
||||||
|
### Lifecycle of one job application
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart TD
|
||||||
|
P([Set up profile<br/>experience, skills, documents])
|
||||||
|
A[Add application<br/>+ paste job description]
|
||||||
|
I[Auto-index JD chunks<br/>into pgvector]
|
||||||
|
G{Generate document?}
|
||||||
|
CV[CV<br/>profile + RAG + ATS keywords → Claude]
|
||||||
|
CL[Cover letter<br/>profile + RAG → Claude]
|
||||||
|
PR[Interview prep<br/>STAR answers]
|
||||||
|
EM[Email<br/>follow-up / thank-you / withdraw]
|
||||||
|
R[Review + ATS score]
|
||||||
|
F{Refine?}
|
||||||
|
AP[Approve]
|
||||||
|
K[Index approved CV/CL<br/>for future RAG retrieval]
|
||||||
|
T[Track pipeline status]
|
||||||
|
FD[Unified feed<br/>notes · stages · contact interactions]
|
||||||
|
CO[Link contacts<br/>recruiter, interviewer, hiring manager]
|
||||||
|
RES[Per-company research<br/>news · culture · glassdoor · tech stack]
|
||||||
|
OUT([Outcome:<br/>interview · offer · rejected])
|
||||||
|
LOOP[Feedback loop<br/>positive outcomes reindex<br/>improving future generations]
|
||||||
|
|
||||||
|
P --> A
|
||||||
|
A --> I
|
||||||
|
I --> G
|
||||||
|
G --> CV
|
||||||
|
G --> CL
|
||||||
|
G --> PR
|
||||||
|
G --> EM
|
||||||
|
CV --> R
|
||||||
|
CL --> R
|
||||||
|
R --> F
|
||||||
|
F -->|yes, with feedback| G
|
||||||
|
F -->|no| AP
|
||||||
|
AP --> K
|
||||||
|
AP --> T
|
||||||
|
T --> FD
|
||||||
|
T --> CO
|
||||||
|
T --> RES
|
||||||
|
T --> OUT
|
||||||
|
OUT --> LOOP
|
||||||
|
LOOP --> I
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Table of contents
|
## Table of contents
|
||||||
|
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue