Files
jobtrackingapp/docs/jobs/overview.md
T
cesnimda ce76046a29 feat: complete release readiness work
- consolidate API ownership and remove dead vendor code

- add Stripe billing, learning paths, and public CV hardening

- add migration, recovery, security, audit, and browser gates
2026-07-31 16:54:16 +02:00

147 lines
2.0 KiB
Markdown

# overview
The job domain tracks opportunities before and after application. Canonical stages cover Saved,
Interested, Preparing, Applied, Waiting, Interview, Offer, Rejected, and Ghosted while preserving
unknown custom status values. Each owned application aggregates company, correspondence, attachments,
follow-ups, checklist, timeline, analysis, and generated application material.
See `docs/architecture/application-workspace.md` and `docs/decisions/ADR-002-job-application-model.md`.
# 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.