docs: consolidate repository guides and preserve audit history

This commit is contained in:
cesnimda
2026-09-11 14:22:41 +02:00
parent 115441a409
commit 682a3028bb
404 changed files with 3402 additions and 2621 deletions
+11
View File
@@ -0,0 +1,11 @@
# Product
Job Tracker is a self-hosted workspace for managing the full job-search journey: opportunities, applications, companies, correspondence, follow-ups, attachments, career profile, CVs, and optional AI assistance.
- [Current features](features.md)
- [Product constraints](constraints.md)
- [Terminology](terminology.md)
- [Architecture](../architecture/overview.md)
- [Remaining work](../roadmap/README.md)
Product strategy, competitor research, and superseded plans are historical material under the archive unless explicitly linked from a current roadmap item.
-14
View File
@@ -1,14 +0,0 @@
# business-model
Jobjakt exposes exactly two public plans. Free accounts receive core non-AI job tracking, manual Career
Profile/CV features, deterministic matching, exports and 250 MB attachment storage. Pro accounts receive
AI-assisted features, Pro CV themes, 5 GB attachment storage and the configured request/token ceilings.
`Premium` remains an internal compatibility role name; it is presented publicly as Pro. Administrators
receive Pro capabilities for operation and support, but are not a third public plan.
Stripe hosted Checkout, customer-portal sessions, signed subscription webhooks, persisted customer /
subscription state, and Premium-role provisioning are implemented. The public site does not invent or
display prices, billing intervals, trials or unlimited usage. Commercial terms come from configured
Stripe Checkout. Production activation still needs the operator-created monthly price, portal
configuration, webhook registration, and credentials in `BLOCKERS.md`. Existing user documents remain
readable and exportable after downgrade.
+9
View File
@@ -0,0 +1,9 @@
# Product constraints
These are current decisions that shape implementation:
- Job tracking is the core workflow; career tools support applications rather than becoming a separate social/portfolio product.
- Job discovery uses reviewed manual capture and official provider integrations. Scraping and auto-apply bots are out of scope.
- Free/Premium differences are capability-gated, not arbitrary job/CV counts. Local AI and user data privacy are core product values.
- The Career Profile is the source of truth for career facts. CVs, tailored CVs, cover letters, and interview preparation are derived/editable outputs and must not silently overwrite the profile.
- A mockup or redesign record is not a license to invent routes or behavior; current source and tests decide what is implemented.
+8
View File
@@ -0,0 +1,8 @@
# Current features
- Job/application pipeline with statuses, search, filters, reminders, events, analytics, soft-delete/restore, and official/imported opportunities.
- Company and recruiter context plus correspondence logs and reviewed Gmail/Graph/IMAP integrations.
- Application attachments, CV upload/extraction, career profile, tailored CVs, cover letters, interview preparation, public CV links, and PDF export.
- Local and policy-gated external AI assistance, configurable follow-up/rules workers, exports, backups, authentication, 2FA, session management, admin readiness, and billing code awaiting operator activation.
Feature details should be verified against the API/UI source. This list intentionally omits ideas that are only planned, such as separate portfolio hosting or auto-apply behavior.
-111
View File
@@ -1,111 +0,0 @@
# Product Goals
## Purpose
Defines the outcomes Jobjakt should achieve.
---
# Primary Goals
## Goal 1: Excellent Job Tracking
Priority: Highest
Users should have the best possible experience managing applications.
Requirements:
- Easy job creation.
- Clear application stages.
- Communication tracking.
- Follow-up reminders.
- Search and filtering.
---
## Goal 2: Build a Reliable Career Profile
Users should maintain one source of truth.
Includes:
- Experience.
- Skills.
- Education.
- Projects.
- Certifications.
---
## Goal 3: Improve Application Quality
Help users create stronger applications.
Features:
- CV generation.
- AI improvements.
- Cover letters.
- Job matching.
---
## Goal 4: Reduce Application Effort
The system should make repetitive tasks easier.
Examples:
- Import jobs.
- Extract CV data.
- Generate documents.
- Reuse career information.
---
## Goal 5: Create SaaS Foundation
Prepare for future commercialisation.
Support:
- Multiple users.
- Billing.
- Premium features.
- Usage limits.
Do not compromise current UX.
---
# Secondary Goals
- Job discovery.
- Public CVs.
- Portfolio pages.
- Interview preparation.
- Career analytics.
---
# Success Metrics
Potential metrics:
## Engagement
- Applications tracked.
- Jobs added.
- CVs generated.
## Quality
- Completed applications.
- Follow-ups completed.
- User feedback.
## Retention
- Returning users.
- Active job searches.
-76
View File
@@ -1,76 +0,0 @@
# Jobjakt Mission
## Mission Statement
Help people organise, improve, and succeed in their careers by combining job tracking, career management, and intelligent AI assistance into one simple workspace.
---
# User Problem
Modern job searching is fragmented.
People currently manage:
- Job links.
- Applications.
- CV versions.
- Cover letters.
- Recruiter conversations.
- Interview preparation.
Across:
- Spreadsheets.
- Email.
- Cloud storage.
- Notes applications.
- Multiple AI tools.
This creates friction and lost opportunities.
---
# Our Solution
Jobjakt provides one connected workspace where users can:
- Track opportunities.
- Maintain career information.
- Generate professional documents.
- Receive AI assistance.
- Manage their complete application journey.
---
# Mission Principles
## Make job searching organised
Users should always know:
- What jobs they applied for.
- What stage they are at.
- What happens next.
---
## Make applications better
Users should be able to create:
- Better CVs.
- Better cover letters.
- More targeted applications.
---
## Reduce repetitive work
The system should prevent users from repeatedly entering the same information.
---
## Keep humans in control
AI should accelerate decisions, not make them for users.
-66
View File
@@ -1,66 +0,0 @@
# Product Non Goals
## Purpose
Defines what Jobjakt should avoid becoming.
---
# Not A Job Board
Jobjakt should not compete directly with:
- LinkedIn Jobs.
- Indeed.
- Finn.
- Other job marketplaces.
Job discovery is an enhancement.
The main value is managing opportunities.
---
# Not Only A CV Builder
CV functionality is important but secondary.
The product is not:
"Create a CV"
The product is:
"Manage your career and applications."
---
# Not A Recruiter Platform
Recruiter tools are not currently a priority.
Future consideration only.
---
# Not A Generic AI Chatbot
AI features should be embedded into workflows.
Avoid:
- Empty chat experiences.
- AI without context.
- Generic assistants.
---
# Not Feature Overload
Do not add features simply because competitors have them.
Every feature should improve:
- Finding jobs.
- Applying.
- Managing careers.
-121
View File
@@ -1,121 +0,0 @@
# User Personas
---
# Persona 1: Active Job Seeker
## Description
Someone actively searching and applying for roles.
---
## Problems
- Losing track of applications.
- Forgetting follow-ups.
- Managing multiple CV versions.
- Repeating information.
---
## Needs
- Simple tracking.
- Clear progress.
- Better applications.
- Organisation.
---
## Key Workflow
Find job
↓
Add application
↓
Prepare documents
↓
Apply
↓
Track progress
---
# Persona 2: Career Changer
## Description
Someone moving into a new industry.
---
## Problems
- Translating experience.
- Knowing transferable skills.
- Creating relevant CVs.
---
## Needs
- Career profile.
- AI suggestions.
- Tailored documents.
---
# Persona 3: Graduate / Early Career
## Description
Someone entering employment.
---
## Problems
- Limited experience.
- Understanding expectations.
- Building professional documents.
---
## Needs
- Guidance.
- Templates.
- Structured workflows.
---
# Persona 4: Technical Professional
## Description
Experienced worker applying for specialised roles.
---
## Problems
- Many applications.
- Complex experience.
- Multiple CV variants.
---
## Needs
- Powerful customisation.
- Automation.
- Detailed tracking.
-335
View File
@@ -1,335 +0,0 @@
# Jobjakt Product Roadmap
Status reconciled 2026-07-31: Phases 1–8 are implemented in the repository. Phase 8 (SaaS
commercialisation) remains operationally blocked on Stripe activation and production verification.
The implementation roadmap folds public profile and SaaS preparation into its Phase 7; this product
roadmap keeps them as Phases 7 and 8. Portfolio content stays inside public CVs; separate portfolio
hosting is intentionally out of scope until it has requirements that public CVs cannot satisfy.
## Purpose
Defines the strategic direction of Jobjakt.
This roadmap represents product priorities, not a strict development schedule.
Features should be evaluated against:
1. Does this improve job tracking?
2. Does this improve application success?
3. Does this improve career management?
4. Does this support future growth?
---
# Product Strategy
The product evolves in layers.
The order is:
Job Tracking Foundation
↓
Application Workflow
↓
Career Workspace
↓
AI Assistance
↓
Automation
↓
SaaS Platform
---
# Phase 1 - Core Job Tracking Excellence
Priority: Critical
Goal:
Make Jobjakt the best place to manage a job search.
## Features
### Job Management
- Add jobs manually.
- Import jobs from URLs.
- Extract job details.
- Store companies.
- Search jobs.
- Filter jobs.
---
### Application Workflow
Support complete application lifecycle:
- Interested.
- Preparing.
- Applied.
- Interview.
- Offer.
- Rejected.
---
### Communication Tracking
Support:
- Emails.
- Notes.
- Follow-ups.
- Timeline.
---
### Dashboard Improvements
Provide:
- Application overview.
- Upcoming actions.
- Progress metrics.
- Recent activity.
---
# Phase 2 - User Experience Improvements
Priority: High
Goal:
Make the application simple and intuitive.
## Improvements
- Redesign navigation.
- Improve onboarding.
- Simplify settings.
- Improve empty states.
- Improve error handling.
- Improve mobile experience.
---
# Phase 3 - Career Workspace Foundation
Priority: High
Goal:
Create a single professional source of truth.
## Features
Career Profile:
- Personal details.
- Experience.
- Education.
- Skills.
- Projects.
- Certifications.
- Languages.
---
# Phase 4 - CV Builder
Priority: High
Goal:
Create a premium CV creation experience.
Inspired by:
- FlowCV.
- Reactive Resume.
- Novoresume.
- ElegantCV.
---
## Features
### Content
Users manage:
- Personal details.
- Summary.
- Experience.
- Education.
- Skills.
- Projects.
- Certificates.
- Publications.
- Custom sections.
---
### Themes
Support:
- Multiple templates.
- ATS-friendly designs.
- Professional layouts.
- Accent colours.
- Typography.
- Photo settings.
---
### Builder
Support:
- Live preview.
- Structured editing.
- Section management.
- AI assistance.
- Export.
---
# Phase 5 - AI Career Assistant
Priority: Medium
Goal:
Use AI to reduce repetitive career tasks.
---
Features:
- CV improvements.
- Bullet rewriting.
- Job matching.
- Cover letters.
- Interview preparation.
- Career advice.
---
AI must:
- Preserve facts.
- Require user approval.
- Explain changes.
---
# Phase 6 - Job Discovery
Priority: Medium
Goal:
Help users discover opportunities.
---
Potential features:
- Job search integrations.
- Filters.
- Location search.
- Industry search.
- Remote options.
- Import directly into tracker.
---
Important:
Job discovery supports tracking.
It does not replace job boards.
---
# Phase 7 - Public Career Profile
Priority: Medium
Goal:
Allow users to share professional identity.
---
Features:
- Public CV.
- Portfolio.
- Career profile.
- Shareable URL.
Example:
/cv/{random-guid}
---
# Phase 8 - SaaS Platform
Priority: Later
Goal:
Commercialise the platform.
---
Features:
- User subscriptions.
- Premium themes.
- AI quotas.
- Storage limits.
- Billing.
- Admin management.
---
# Long-Term Ideas
Possible future features:
- Interview preparation.
- Salary insights. ✅ Dashboard groups comparable tracked ranges by currency and pay period (2026-07-31).
- Career analytics.
- Skill recommendations.
- Learning paths. ✅ Deterministic job-specific skill gaps can be marked learned or dismissed; external course integrations remain out of scope (2026-07-31).
- Recruiter visibility. ✅ Public CV links include recruiter-friendly PDF download (2026-07-31); discovery, accounts, and messaging remain intentionally unscoped.
- Portfolio hosting. ➖ Separate hosting is intentionally out of scope; public CV projects and custom sections cover the current sharing need.
---
# Roadmap Rules
Do not:
- Build future features before core workflows are excellent.
- Sacrifice simplicity for complexity.
- Add features because competitors have them.
Always prioritise user value.
+11
View File
@@ -0,0 +1,11 @@
# Terminology
| Term | Meaning |
|---|---|
| Job | The opportunity, including title, company, description, URL, salary, location, and tags. |
| Application | A user's pursuit of a job, including status, dates, follow-up, correspondence, and attachments. |
| Career Profile | The user's editable source of truth for career facts. |
| CV | A presentation/output built from the career profile for a job or audience. |
| Tailored CV | An editable job-specific CV draft. |
| Review queue | Human decision step for uncertain imported mail/job matches. |
| Local AI | The repository's local summarizer/Ollama path; it does not mean production infrastructure is verified. |
-149
View File
@@ -1,149 +0,0 @@
# Jobjakt Product Vision
## Overview
Jobjakt is a career management workspace designed to help people successfully navigate the modern job search.
The application combines job tracking, career management, AI assistance, and document generation into one connected experience.
The primary goal is to help users move from:
Finding opportunities
↓
Applying effectively
↓
Managing applications
↓
Improving their chances
↓
Securing employment
---
# Long-Term Vision
Jobjakt should become the user's personal career operating system.
Instead of storing job applications in spreadsheets, CVs in random folders, and career information across multiple platforms, users maintain one central workspace.
The application understands:
- Their career history.
- Their skills.
- Their experience.
- Their goals.
- Their applications.
It then helps transform this information into useful career outputs.
---
# Product Positioning
Jobjakt is not:
- A simple job board.
- A basic Kanban board.
- Only a CV generator.
- Only an AI writing assistant.
Jobjakt is:
A career workspace that helps users manage the entire job application lifecycle.
---
# Core Product Pillars
## 1. Job Tracking
The foundation of the product.
Users should be able to:
- Store opportunities.
- Track applications.
- Manage stages.
- Record communication.
- Schedule follow-ups.
- Understand their job search progress.
---
## 2. Career Workspace
A supporting system built around one professional identity.
Users maintain:
- Career profile.
- Skills.
- Experience.
- Education.
- Projects.
- Achievements.
This becomes the source for career outputs.
---
## 3. AI Assistance
AI should reduce effort.
Examples:
- Improve CV wording.
- Analyse job descriptions.
- Suggest improvements.
- Generate cover letters.
- Prepare interviews.
AI should assist, not replace user control.
---
## 4. Document Generation
Users should easily create:
- CVs.
- Tailored CVs.
- Cover letters.
- Public profiles.
---
# Product Evolution
## Current
Personal job tracking application.
## Near Future
Advanced career workspace.
## Long Term
SaaS career platform.
---
# Success Definition
Jobjakt succeeds when users:
- Apply to more suitable jobs.
- Spend less time managing applications.
- Produce higher-quality applications.
- Feel organised during job searching.
- Improve career outcomes.