Files
jobtrackingapp/docs/MASTER_IMPLEMENTATION_GUIDE.md
cesnimda fd9bd3f47a
CI and Deploy / test (push) Failing after 1m56s
CI and Deploy / deploy (push) Has been skipped
docs(architecture): document the AI Career Assistant (Phase 5)
ai-career-assistant.md (modules, prompt flow, provider abstraction, append-only
history model, extension points, security). Master guide + roadmap Phase 5
updated with the shipped workspace and the open provider-selection extension.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 15:26:04 +02:00

754 lines
9.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Jobjakt Master Implementation Guide
Version: 1.1
---
# Purpose Of This Document
This document is the primary source of truth for the product *direction*. For the
*current system* and the *recovered Career Workspace architecture*, read the documents
linked below — they are verified against the code and take precedence over any stub
elsewhere in `docs/`.
Before making significant changes:
1. Read this document (direction and non-negotiables).
2. Read the relevant linked documentation (below).
3. Understand existing architecture — verify against the actual codebase.
4. Make incremental improvements.
Do not redesign based on assumptions.
Always verify against the actual codebase.
---
# Source-Of-Truth Documents
Read these before touching the areas they cover. Where one disagrees with the code,
the code wins and the document is a bug to fix.
## Current system (verified)
- `docs/architecture/current.md` — the system as it actually is: projects, controllers,
data model, auth, AI pipeline, CI/CD, security posture. **Start here.**
- `docs/application-discovery-report.md` — full audit and feature inventory.
- `docs/phase-0-foundation-report.md` — what Phase 0 changed (Job entity, expanded
pipeline, AI-service lockdown, DateApplied history) and how it was verified.
- `docs/implementation-roadmap.md` — the phased plan and settled product decisions.
## Decisions
- `docs/decisions/ADR-002-job-application-model.md` — Job (opportunity) separated from
JobApplication (pursuit); the reference-not-ownership rule.
## Career Workspace — the recovered architecture (governs Phase 24)
These four documents were recovered from the `feature/career-workspace` branch and are
the **target architecture** for the Career Workspace. They, plus ADR-002, define how
career data is stored and how generated documents reference it.
- `docs/career-workspace-product-strategy.md` — vision, positioning, personas.
- `docs/career-workspace-implementation-roadmap.md` — the F0F5 execution plan.
- `docs/cv-builder-competitor-deep-research.md` — Novoresume, Reactive Resume, FlowCV,
Teal, Enhancv, Canva, Resume.io, Kickresume; feature matrix; pricing intelligence.
- `docs/cv-builder-product-teardown.md` — product teardown.
- `docs/career-workspace-branch-assessment.md` — per-table recover/migrate/replace verdict
for the recovered Career/CV tables.
- `docs/architecture/cv-builder.md` + `docs/architecture/cv-theme-engine.md` — the shipped CV Builder
(Phase 4/4.5): variant lens over the master profile, data-driven theme engine, public CV routing.
- `docs/architecture/ai-career-assistant.md` — the shipped AI Workspace (Phase 5): per-application
suggestion modules, append-only history, provider abstraction, extension points.
**Non-negotiable, restated from those documents:** the master career profile is the single
source of truth. Career data is never duplicated into CVs, applications, or variants — a
generated document *references* a snapshot; it does not own the data. Job tracking remains
the primary product; the Career Workspace is a bounded supporting domain.
---
# Product Identity
## Application Name
Jobjakt
---
# What Is Jobjakt?
Jobjakt is a job tracking and career management application.
The primary purpose is:
> Help users organise, manage, and improve their job search.
It is not primarily a CV builder.
The CV system is a supporting feature.
---
# Product Hierarchy
The product hierarchy is:
CORE PRODUCT
Job Tracking
Applications
Application Workflow
Follow-ups
Communication Tracking
SUPPORTING FEATURES
Career Profile
Master CV
CV Builder
Cover Letters
Portfolio
Interview Preparation
ENHANCEMENT FEATURES
Job Discovery
Find Opportunities
Import Into Tracker
---
# Core Principle
Do not transform Jobjakt into a CV generator.
The competitive advantage is:
> Managing the entire journey from discovering a job to successfully applying.
---
# Target Users
Primary user:
People actively looking for work.
Examples:
- Developers.
- Professionals changing careers.
- Graduates.
- Anyone applying for multiple jobs.
---
# Current Product Goals
Priority order:
## 1. Excellent Job Tracking
Users should easily:
- Add jobs.
- Track status.
- Manage applications.
- Follow up.
- Store communication.
---
## 2. Excellent Application Workflow
A user should be guided through:
Find Job
Import Job
Review Details
Prepare CV
Prepare Cover Letter
Add Supporting Files
Submit Application
Track Progress
---
## 3. Career Workspace
Users maintain:
One professional identity.
This includes:
- Personal information.
- Work history.
- Education.
- Skills.
- Projects.
- Certifications.
- Languages.
- Achievements.
This becomes the source of truth.
---
# Career Architecture
The relationship should be:
Career Profile
Master CV
CV Builder
Theme/Layout
Generated CV
---
For applications:
Career Profile
AI Analysis
Job Description
Tailored CV Draft
User Review
Saved Copy Against Application
---
Important:
The master CV must never be modified automatically.
---
# CV Builder Vision
The CV builder should become similar in quality to:
- FlowCV.
- Novoresume.
- ElegantCV.
Reference research:
`docs/research/`
---
# CV Builder Principles
## Content And Design Are Separate
Content:
- Experience.
- Skills.
- Education.
Design:
- Theme.
- Colours.
- Fonts.
- Layout.
---
Users should be able to:
- Choose themes.
- Preview instantly.
- Change colours.
- Show/hide photo.
- Configure sections.
- Export.
---
# Preferred Builder Experience
Structure:
Content Tab
Customise Tab
Preview
Export
---
# Themes
Initial goal:
3-5 excellent themes.
Categories:
## ATS Professional
Simple.
Recruiter friendly.
## Modern Professional
Clean SaaS style.
## Creative
More visual.
---
Themes should support:
- Accent colours.
- Typography.
- Layout.
- Spacing.
- Photo options.
- Icons.
---
# Authentication Requirements
Users must support:
## Email Signup
User can:
- Register.
- Login.
- Reset password.
---
## OAuth
Support:
- Google.
- Microsoft.
If OAuth user does not exist:
Create account automatically.
---
## Security
Support:
- Password security.
- Validation.
- Rate limiting.
- Two factor authentication.
See:
`docs/security/`
---
# AI Philosophy
AI assists users.
AI does not replace users.
---
AI can help with:
- CV improvements.
- Job matching.
- Cover letters.
- Interview preparation.
---
AI output must:
- Be editable.
- Require approval.
- Never invent facts.
---
See:
`docs/ai/`
---
# Job Search
Job search is an enhancement.
It should not replace job boards.
---
Ideal workflow:
Search
Find Opportunity
Import Job
Track Application
---
Possible features:
- Job title search.
- Location.
- Industry.
- Remote.
- Filters.
- Company information.
Research required before implementation.
---
# SaaS Direction
Current:
Personal application.
Future:
Commercial SaaS.
---
Prepare for:
- Multiple users.
- Premium features.
- AI limits.
- Storage limits.
- Premium themes.
---
Do not over-engineer.
Prioritise:
Product quality first.
---
# UI Direction
The desired UI style:
- Modern.
- Professional.
- Notion-inspired.
- Clean.
- Easy to navigate.
- Dark mode support.
---
Avoid:
- Clutter.
- Complex menus.
- Confusing workflows.
---
# UX Principles
The application should be:
Simple enough for beginners.
Powerful enough for serious users.
---
Users should always understand:
Where they are.
What they can do.
What happens next.
---
# Development Rules
When implementing:
## Always
- Review existing code first.
- Make incremental changes.
- Preserve working functionality.
- Add tests.
- Document decisions.
---
## Avoid
- Large rewrites.
- Breaking migrations.
- Duplicate systems.
- Unnecessary dependencies.
---
# Code Quality
Follow:
`docs/technical/`
---
# Architecture
Follow:
`docs/architecture/`
---
# Security
Follow:
`docs/security/`
---
# AI
Follow:
`docs/ai/`
---
# Product Research
Follow:
`docs/research/`
---
# Implementation Priority
## Phase 1
Foundation:
- Authentication.
- User experience.
- Navigation.
- Job workflow.
---
## Phase 2
Career Workspace:
- Master profile.
- CV management.
- Builder.
---
## Phase 3
AI:
- Tailoring.
- Assistance.
- Recommendations.
---
## Phase 4
Advanced:
- Job discovery.
- Public profiles.
- SaaS.
---
# Working Style For AI Assistants
When working on Jobjakt:
Do not stop after every small task.
Work autonomously.
Continue improving areas that are safe.
---
Only request user input when:
- A product decision is required.
- Multiple valid directions exist.
- Credentials are needed.
- A destructive decision is required.
---
If blocked:
1. Document the blocker.
2. Find another useful task.
3. Continue working.
---
# Final Goal
Jobjakt should become:
A premium career workspace.
A user should maintain one professional identity and use Jobjakt to:
- Find opportunities.
- Manage applications.
- Create documents.
- Improve applications.
- Track career progress.
The CV is one output.
The career journey is the product.