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>
6.5 KiB
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:
- Read this document.
- Read the relevant linked documentation.
- Understand existing architecture.
- 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:
- Document the blocker.
- Find another useful task.
- 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.