b176a44627
Active docs/ was stub scaffolding while the real docs sat in docs/_archive/. Restore and correct them, and record the Phase 0 work. - docs/architecture/current.md: verified system map (from archived SYSTEM_OVERVIEW, 9 corrections against code). - docs/research/competitors.md: sourced competitor analysis (from archived PRODUCT_RESEARCH, feature matrix corrected). - docs/decisions/ADR-002-job-application-model.md: the Job/JobApplication split. - docs/application-discovery-report.md, docs/implementation-roadmap.md, docs/phase-0-foundation-report.md, docs/career-workspace-branch-assessment.md. - Remove 10 zero-byte placeholder files that advertised content that never existed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
707 lines
6.5 KiB
Markdown
707 lines
6.5 KiB
Markdown
# Jobjakt Master Implementation Guide
|
|
|
|
Version: 1.0
|
|
|
|
---
|
|
|
|
# Purpose Of This Document
|
|
|
|
This document is the primary source of truth for understanding and improving Jobjakt.
|
|
|
|
Before making significant changes:
|
|
|
|
1. Read this document.
|
|
2. Read the relevant linked documentation.
|
|
3. Understand existing architecture.
|
|
4. Make incremental improvements.
|
|
|
|
Do not redesign based on assumptions.
|
|
|
|
Always verify against the actual codebase.
|
|
|
|
---
|
|
|
|
# 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. |