docs: reorganize tree, restore architecture + research from archive, add Phase 0 reports

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>
This commit is contained in:
cesnimda
2026-07-17 17:04:32 +02:00
parent aa3567d8a8
commit b176a44627
275 changed files with 12554 additions and 0 deletions
+74
View File
@@ -0,0 +1,74 @@
# Adding Jobs
## Goal
Adding a job should be fast.
Users should not fill unnecessary forms.
---
# Preferred Flow
## Option 1: Import URL
User pastes job advert URL.
System:
1. Fetch page.
2. Extract details.
3. Create draft job.
4. Show review screen.
---
# Review
User confirms:
- Title.
- Company.
- Location.
- Description.
- Requirements.
---
# Option 2: Manual Entry
Fallback when import fails.
Only request:
Required:
- Job title.
- Company.
- URL or description.
Optional:
- Salary.
- Location.
- Notes.
---
# Company Handling
If company exists:
Link automatically.
If company does not exist:
Create automatically.
Do not force a separate company creation flow.
---
# UX Principle
Adding a job should take seconds, not minutes.
+29
View File
@@ -0,0 +1,29 @@
# Job Search Analytics
## Purpose
Help users understand their search.
---
# Possible Metrics
Applications:
- Total.
- Monthly.
- By industry.
Progress:
- Interview rate.
- Response rate.
- Success rate.
---
# Rules
Analytics should provide insight.
Avoid vanity metrics.
+3
View File
@@ -0,0 +1,3 @@
# applications
TODO: Complete documentation.
+49
View File
@@ -0,0 +1,49 @@
# Communication Tracking
## Purpose
Store application history.
---
# Sources
Manual:
- Notes.
- Calls.
- Messages.
Automatic:
- Email integrations.
---
# Email Providers
Supported:
- Gmail.
- Microsoft.
- IMAP.
---
# Storage
Communication should belong to:
Application
or
Company
depending on context.
---
# Privacy
Users control connected accounts.
+58
View File
@@ -0,0 +1,58 @@
# companies
TODO: Complete documentation.
# Company Management
## Purpose
Companies should be reusable objects.
---
# Features
Store:
- Name.
- Website.
- Location.
- Industry.
- Notes.
---
# Relationships
One company:
Many jobs
Many applications
---
# Automatic Creation
When importing jobs:
If company exists:
Reuse.
If not:
Create automatically.
---
# Future
Possible:
- Company research.
- Reviews.
- Hiring insights.
+3
View File
@@ -0,0 +1,3 @@
# followups
TODO: Complete documentation.
+51
View File
@@ -0,0 +1,51 @@
# Future Job Features
Possible ideas:
## Advanced Search
- Job recommendations.
- Saved searches.
- Alerts.
---
## AI Matching
Analyse:
- User skills.
- Job requirements.
Suggest:
- Match score.
- Missing skills.
- Improvement areas.
---
## Interview Management
Support:
- Preparation.
- Questions.
- Notes.
- Feedback.
---
## Salary Tracking
Potential:
- Salary expectations.
- Negotiations.
- Market data.
---
# Priority Rule
Only build features that improve the user's ability to find and secure employment.
+50
View File
@@ -0,0 +1,50 @@
# Import System
## Purpose
Reduce manual entry.
---
# Supported Imports
## Job Import
Sources:
- URL.
- API.
- Manual.
---
## CV Import
Sources:
- PDF.
- DOCX.
Process:
File
Extraction
Structured data
User review
---
# Validation
Never silently create incorrect information.
Show extracted data before saving.
+91
View File
@@ -0,0 +1,91 @@
# Job Lifecycle
## Purpose
Defines how a job progresses through Jobjakt.
---
# Discovery
User finds opportunity.
Sources:
- Manual entry.
- Job URL.
- Future job search integrations.
Status:
Interested.
---
# Preparation
User decides to apply.
Actions:
- Review job details.
- Prepare CV.
- Prepare cover letter.
- Gather documents.
Status:
Preparing.
---
# Application
User submits application.
Track:
- Date applied.
- Documents used.
- Method.
Status:
Applied.
---
# Interview
Track:
- Interview dates.
- Interview type.
- Notes.
- Preparation.
Status:
Interview.
---
# Outcome
Possible states:
Offer.
Rejected.
Withdrawn.
Accepted.
---
# Important
The workflow should remain flexible.
Different industries have different hiring processes.
+55
View File
@@ -0,0 +1,55 @@
# Job Search Enhancement
## Purpose
Help users discover opportunities.
This is not the primary product.
---
# Ideal Flow
Search jobs
Find interesting role
Import into Jobjakt
Track application
---
# Potential Filters
- Job title.
- Keywords.
- Location.
- Remote.
- Industry.
- Salary.
- Experience level.
---
# Integrations
Research available:
- Free APIs.
- Public feeds.
- Job providers.
---
# Rules
Do not become another job board.
The value is organisation.
+141
View File
@@ -0,0 +1,141 @@
# overview
TODO: Complete documentation.
# Job Tracking Overview
## Purpose
Job tracking is the primary purpose of Jobjakt.
The application exists first to help users manage their job search.
Career features, CV generation, AI assistance, and job discovery support this workflow.
They do not replace it.
---
# Core Product Statement
Jobjakt helps users:
Find opportunities
Track applications
Manage communication
Prepare better applications
Secure employment
---
# Core Objects
The main entities are:
## Job
The opportunity itself.
Examples:
- Software Engineer position.
- Developer role.
- Marketing position.
Contains:
- Title.
- Company.
- Description.
- URL.
- Location.
- Salary information.
- Requirements.
---
## Application
The user's attempt to obtain the role.
A job can exist without an application.
Example:
User saves an interesting role.
Later they apply.
---
## Company
The organisation offering the role.
Should be reusable.
Example:
Multiple jobs from Google should link to one company.
---
## Communication
Interactions related to the application.
Examples:
- Emails.
- Calls.
- Messages.
- Notes.
---
## Follow-up
A planned action.
Examples:
- Contact recruiter.
- Check application status.
- Prepare interview.
---
# Product Principles
## Reduce manual work
Import information where possible.
---
## Keep users organised
The user should always know:
- What jobs exist.
- What stage applications are at.
- What action is next.
---
## Avoid unnecessary complexity
Do not require users to complete every field.
Smart defaults are preferred.