# 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 2–4)

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 F0–F5 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.