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>
135 lines
15 KiB
Markdown
135 lines
15 KiB
Markdown
# Competitor & Market Research — Job Application Tracking (2026)
|
||
|
||
> Restored to active docs 2026-07-17 (Phase 0) from `docs/_archive/PRODUCT_RESEARCH.md`.
|
||
> Original research conducted **2026-07-02** via the web sources linked throughout. Sources not re-fetched on restore.
|
||
>
|
||
> **Freshness:** the market analysis (§1, §3) is ~2 weeks old and treated as current. The **feature matrix (§2) was corrected on restore** — several rows were stale because Jobjakt shipped the features. Corrections are marked `[corrected 2026-07-17]` and were verified against code.
|
||
>
|
||
> **Scope gap:** this covers the **tracker** market (Teal, Huntr, Simplify, Jobscan, OSS). It does **not** cover the CV-builder market — Novoresume, Reactive Resume, and ElegantCV are **not analysed anywhere in this repo**. Reactive Resume is the most relevant (open-source, self-hosted, JSON-Resume-based, data-driven themes — it has already solved the theme problem Phase 4 poses). That research is a prerequisite for CV Builder work; see `docs/implementation-roadmap.md` task 4.9. FlowCV *is* analysed — see `docs/application-discovery-report.md` §7, from local reference downloads at `D:\FlowCV`.
|
||
|
||
---
|
||
|
||
## 1. Market landscape
|
||
|
||
The market splits into six clusters:
|
||
|
||
| Cluster | Representatives | Model |
|
||
|---|---|---|
|
||
| **Tracker-first + AI resume** | [Teal](https://www.tealhq.com/), [Huntr](https://huntr.co/pricing), JibberJobber | Freemium SaaS; premium $29–40/mo |
|
||
| **Autofill / volume** | [Simplify](https://simplify.jobs/job-application-tracker) (autofill), [LazyApply](https://lazyapply.com/) ($99–999/yr), LoopCV (auto-apply) | Extension-centric |
|
||
| **Matching + copilot** | [Jobright](https://jobright.ai/blog/teal-review-2026-walkthrough-alternatives-and-faqs/) | AI job matching, resume tailoring, autofill |
|
||
| **Resume/ATS optimization** | [Jobscan](https://www.jobscan.co/) ($49.95/mo!), Resume Worded, Rezi | Match-score per job description |
|
||
| **Self-hosted / privacy** | [JobSync](https://github.com/Gsync/jobsync), [CareerSync](https://github.com/Tomiwajin/CareerSync), [career-ops](https://career-ops.org/), various [GitHub projects](https://github.com/topics/job-application-tracker) | OSS, local-first, often Ollama-based |
|
||
| **Email auto-tracking** | [Trackr](https://www.trackrjobs.com/), [G-Track](https://jobtrack-ai.com/gmail-job-tracker), Gmail [Chrome extensions](https://chromewebstore.google.com/detail/gmail-job-application-tra/lkpjngmdfncejiomkofogfdoppgifmkh) | Inbox scanning → status updates |
|
||
|
||
### Competitor snapshots
|
||
|
||
**Teal** — market leader for tracker+resume. Free: unlimited tracking, Chrome extension (50+ job boards), kanban (Saved/Applied/Interview/Offer/Rejected), 10 ATS templates, contact manager, ATS score (15 checks). Premium ($9/wk, $29/mo, [$79/qtr](https://www.tealhq.com/pricing)): keyword match scoring, AI bullets/cover letters, analytics. Cons reported: [billing-after-cancellation complaints, generic/hallucinating AI content, ATS failures on two-column templates](https://resumehog.com/blog/posts/teal-hq-review-april-2026-is-the-job-tracker-worth-your-time.html), [high-maintenance workflow, overwhelming UI, poor support](https://resumejudge.com/blog/tealhq-review/), no automation.
|
||
|
||
> Note Teal's **free** kanban begins at **Saved** — a pre-application stage. Jobjakt's pipeline began at `Applied` until Phase 0 (2026-07-17) added `Saved`/`Interested`/`Preparing`.
|
||
|
||
**Huntr** — best visual kanban + CRM layer. Free: 100 tracked jobs cap, unlimited base resumes, basic scoring. [Pro $40/mo](https://huntr.co/pricing): AI tailored resumes, unlimited cover letters, advanced matching/insights. 4.9★ extension (clip from any site + autofill). Cons: [must rebuild resume inside their builder, plain templates, free plan stops being useful fast](https://resumejudge.com/blog/huntr-review/), online-only.
|
||
|
||
**Simplify** — free autofill extension for 100+ ATS portals (Workday, Greenhouse, iCIMS), real-time keyword flagging, pipeline tracking. Execution-focused, light on CRM depth.
|
||
|
||
**Jobscan** — per-job resume match score (1–100, 30+ checks, "aim ≥75%"), cover-letter optimization report. Expensive ($49.95/mo). This single feature is the most-cited reason people pay for job-search tools.
|
||
|
||
**FlowCV** — CV-builder-first, but **also ships a Job Tracker** — converging on Jobjakt's territory from the CV side. Free tier is one resume ("Your first resume is free forever"); 2+ requires an upgrade. Its `Overview | Content | Customize | AI Tools` structure and fully data-driven theme system are the model for Phase 4; analysed in the discovery report §7.
|
||
|
||
**Email auto-trackers** (Trackr, G-Track, extensions) — scan Gmail, AI-classify (Applied/Next step/Rejected/Offer), auto-update statuses, apply labels. Rapidly becoming table stakes; users love "zero manual data entry".
|
||
|
||
**Self-hosted OSS** (JobSync, CareerSync, career-ops) — privacy pitch ("no cloud, no telemetry, no account"), Ollama/local-LLM parsing, but all are far less complete than Jobjakt: mostly CRUD + basic AI, no CV pipeline, no correspondence CRM, no rules engine.
|
||
|
||
### Standard vs premium features across the market
|
||
|
||
- **Table stakes (free everywhere):** kanban board, status stages, notes, basic contact tracking, browser clipper, export.
|
||
- **Premium (what people pay for):** per-job resume↔JD **match scoring with keyword gaps**, AI tailored resumes/cover letters, analytics (response rate, funnel conversion, time-in-stage), email/interview follow-up automation, autofill at scale.
|
||
- **Emerging differentiators:** inbox auto-tracking, interview prep hubs (question banks, scheduling, calendar sync — cf. [interview scheduling tools](https://www.selectsoftwarereviews.com/buyer-guide/interview-scheduling-software)), job-match scoring against a profile, salary/offer comparison.
|
||
|
||
### Recurring user frustrations (opportunities)
|
||
|
||
1. **Privacy/data anxiety** — sensitive career data on VC-funded SaaS; [breach/misuse concerns](https://www.saashub.com/compare-job-tracker-by-teal-vs-huntr). Jobjakt's core moat.
|
||
2. **Paywall fatigue** — free tiers cap exactly at the point of seriousness (Huntr's 100 jobs, Teal's AI credits, Jobscan's 5 scans/mo, FlowCV's 1 resume).
|
||
3. **AI slop** — hallucinated skills, misspelled names, generic bullets; users want AI grounded in *their* real CV. Jobjakt's structured-CV grounding is the right architecture.
|
||
4. **Manual data entry** — retyping jobs and statuses; solved by clippers + inbox scanning.
|
||
5. **Vendor lock-in** — resumes trapped in proprietary builders (Huntr), hard exports.
|
||
6. **Tool sprawl** — tracker + Jobscan + resume builder + calendar = 4 subscriptions; users want one hub.
|
||
|
||
---
|
||
|
||
## 2. Feature matrix — Jobjakt vs market
|
||
|
||
✅ has it · 🟡 partial · ❌ missing · 💰 paid-only
|
||
|
||
| Feature | Teal | Huntr | Simplify | OSS self-hosted | **Jobjakt today** |
|
||
|---|---|---|---|---|---|
|
||
| Kanban pipeline | ✅ | ✅ | ✅ | 🟡 | 🟡 **[corrected 2026-07-17]** `JobPipeline` is canonical + ordered, and Phase 0 added pre-application stages (`Saved`/`Interested`/`Preparing`). Board view exists; **no drag-drop** |
|
||
| Job capture from URL | ✅ ext | ✅ ext | ✅ ext | 🟡 | 🟡 server-side parse (Finn/NAV/LinkedIn/Jobbnorge + JSON-LD); no extension/bookmarklet |
|
||
| Inbox auto-tracking | ❌ | ❌ | 🟡 | 🟡 | ✅ **Gmail OAuth import + human review queue** (ahead of paid SaaS) |
|
||
| Contacts/recruiter CRM | ✅ | ✅ | ❌ | ❌ | 🟡 company-level only, no people entities |
|
||
| Resume/CV builder | ✅ | ✅ | 🟡 | ❌ | 🟡 **[corrected 2026-07-17]** structured CV parse + 6 hardcoded templates + PDF export. **There is no builder** — no content editor, no customisation, no live preview. Discovery report §10 |
|
||
| Per-job tailored resume (AI) | 💰 | 💰 | 💰 | ❌ | ✅ **local-AI tailored drafts** (privacy-unique) |
|
||
| Resume↔JD match score + keyword gaps | 💰 | 💰 | 🟡 | ❌ | 🟡 **[corrected 2026-07-17]** match score **now exists** (`JobCvMatchService`, `/match-score`, `/candidate-fit`). Keyword-gap analysis still missing |
|
||
| AI cover letters / messages | 💰 | 💰 | 💰 | ❌ | ✅ free, local |
|
||
| Follow-up reminders | ✅ | ✅ | 🟡 | ❌ | ✅ + rules engine (auto-ghost) — richer than most |
|
||
| Analytics dashboard (funnel, response rate, time-in-stage) | 💰 | 💰 | 🟡 | 🟡 | 🟡 basic stats + `/analytics` + `/tag-trends`; no funnel/response-rate/time-in-stage |
|
||
| Interview management (schedule, prep notes, calendar) | 🟡 | 🟡 | ❌ | ❌ | 🟡 **[corrected 2026-07-17]** `/interview-prep` endpoint exists but **has no UI**; no interview entity, no scheduling |
|
||
| Calendar integration (ICS/Google) | 🟡 | 🟡 | ❌ | ❌ | ❌ |
|
||
| Salary/offer tracking & comparison | 🟡 | 🟡 | ❌ | ❌ | 🟡 **[corrected 2026-07-17]** salary is **structured** (`SalaryMin`/`Max`/`Currency`/`Period`); no offer-comparison view |
|
||
| Autofill applications | ❌ | ✅ | ✅ | ❌ | ❌ (needs extension) |
|
||
| Multi-language (EN/NB) + translation | ❌ | ❌ | ❌ | ❌ | ✅ unique for Nordic market |
|
||
| Self-hosted / data ownership | ❌ | ❌ | ❌ | ✅ | ✅ |
|
||
| Mobile experience | ✅ apps | ✅ | ✅ | ❌ | 🟡 responsive-ish desktop web; no PWA |
|
||
| Export/portability | 🟡 | 🟡 | 🟡 | ✅ | ✅ JSON/CSV + daily export |
|
||
|
||
**Position:** Jobjakt is **ahead of every OSS competitor** and matches or beats paid SaaS on AI drafting, Gmail import, and data ownership. Remaining gaps versus paid SaaS: **keyword-gap analysis**, **a real CV builder**, interview & calendar layer, analytics depth, capture friction (no extension), contact-level CRM.
|
||
|
||
---
|
||
|
||
## 3. Market gap — what would make Jobjakt significantly better
|
||
|
||
> **"The private, self-hosted career hub: everything Teal+Huntr+Jobscan charge $70–90/mo for, powered by your own local AI, with your data never leaving your server."**
|
||
|
||
No product today combines serious tracker UX + inbox auto-tracking + local-LLM tailoring + match scoring + interview hub, self-hosted. Jobjakt is uniquely far along that path.
|
||
|
||
---
|
||
|
||
## 4. Ranked feature ideas (value × effort)
|
||
|
||
Effort: S (<1 day) · M (1–3 days) · L (1–2 wk) · XL (>2 wk).
|
||
|
||
| # | Feature | User impact | Effort | Status 2026-07-17 |
|
||
|---|---|---|---|---|
|
||
| 1 | **CV↔job match score + keyword gap analysis** | ★★★★★ — the #1 paid feature in the market, free & local here | M–L | **Match score DONE.** Keyword-gap analysis outstanding → roadmap 5.4 |
|
||
| 2 | **Canonical pipeline + drag-drop kanban** | ★★★★★ — core daily UX; free-text status blocked analytics | M–L | **Canonical pipeline DONE** + Phase 0 pre-application stages. Drag-drop kanban outstanding |
|
||
| 3 | **Analytics dashboard v2** (funnel, response rate, time-in-stage, source effectiveness) | ★★★★ — retention feature; needs #2 | M | Outstanding → roadmap 2.9. Data exists in `JobEvent` |
|
||
| 4 | **Interview hub** (rounds, type, scheduled time, prep notes, outcome; ICS + reminders) | ★★★★ — biggest functional gap vs SaaS | L | Endpoint exists, no UI → roadmap 2.7 |
|
||
| 5 | **Bookmarklet / minimal browser capture** (reuse `jobimport/preview`) | ★★★★ — kills the biggest friction | S–M | Outstanding → roadmap 6.5. **Product decision 2026-07-17:** discovery order is manual URL import → **browser extension** → official APIs. **Scraping is not the starting point** |
|
||
| 6 | **Contacts (people) CRM** | ★★★ | M | Outstanding |
|
||
| 7 | **PWA pass** (installable, mobile nav, share-target) | ★★★ | M | Outstanding. Note: CRA is gone — Next.js changes the approach |
|
||
| 8 | **Salary/offer tracker** | ★★ | S–M | **Structured salary DONE.** Offer-comparison view outstanding |
|
||
| 9 | **Smarter inbox** (AI status suggestions on Gmail review) | ★★★★ — compounds an existing unique strength | M | **`/status-suggestion` DONE** + `EmailStatusClassifier` |
|
||
| 10 | **Web push / digest notifications** | ★★ | M | Outstanding |
|
||
|
||
**Deliberately not recommended:** auto-apply bots (ToS/ethics/quality; LazyApply-style tools are poorly reviewed, and spray-and-pray contradicts "apply to more *suitable* jobs"); a full Chrome-store extension before a bookmarklet (high maintenance); multi-provider cloud AI (undermines the privacy moat — **confirmed as a product decision 2026-07-17: not building the abstraction**).
|
||
|
||
---
|
||
|
||
## 5. Monetisation guidance
|
||
|
||
**Product decision 2026-07-17** — Free: job tracking, basic career profile, basic CV. Premium: advanced AI, more themes, automation, analytics, more storage.
|
||
|
||
**Do not gate on count** (CV count, job count). That is Huntr's 100-job cap, Teal's AI credits, and FlowCV's 1-resume limit — the exact "free tier caps at the point of seriousness" frustration in §1.4. Jobjakt's moat is privacy + self-hosting + free local AI; a count-based paywall surrenders the moat while inheriting the complaint.
|
||
|
||
---
|
||
|
||
## 6. Recommended order (superseded)
|
||
|
||
The original 2026-07-02 ordering is superseded by `docs/implementation-roadmap.md`, which sequences against the verified architecture. Items 1, 2, 8 and 9 above are wholly or partly delivered.
|
||
|
||
Engineering-health work (god-controller decomposition, backups) is tracked in `docs/architecture/current.md` §17.
|
||
|
||
---
|
||
|
||
Sources: [Prentus tracker roundup](https://prentus.com/blog/we-found-the-5-best-job-tracker-tools-on-the-market) · [ApplyArc comparison](https://applyarc.com/compare/best-job-application-trackers) · [Teal pricing](https://www.tealhq.com/pricing) · [Teal reviews (ResumeHog)](https://resumehog.com/blog/posts/teal-hq-review-april-2026-is-the-job-tracker-worth-your-time.html) · [Teal cons (ResumeJudge)](https://resumejudge.com/blog/tealhq-review/) · [Huntr pricing](https://huntr.co/pricing) · [Huntr cons (ResumeJudge)](https://resumejudge.com/blog/huntr-review/) · [Huntr vs Teal](https://huntr.co/blog/huntr-vs-teal) · [Simplify tracker](https://simplify.jobs/job-application-tracker) · [Jobright review of Teal](https://jobright.ai/blog/teal-review-2026-walkthrough-alternatives-and-faqs/) · [LazyApply](https://lazyapply.com/) · [Auto-apply tools compared](https://blog.fastapply.co/auto-apply-jobs-tools-compared-2026) · [Jobscan](https://www.jobscan.co/) · [Jobscan pricing](https://onlineatschecker.com/blog/jobscan-pricing-2026-free-plan-worth-it) · [JobSync (OSS)](https://github.com/Gsync/jobsync) · [CareerSync (OSS)](https://github.com/Tomiwajin/CareerSync) · [career-ops](https://career-ops.org/) · [Trackr](https://www.trackrjobs.com/) · [G-Track](https://jobtrack-ai.com/gmail-job-tracker) · [Gmail tracker extension](https://chromewebstore.google.com/detail/gmail-job-application-tra/lkpjngmdfncejiomkofogfdoppgifmkh) · [Interview scheduling software guide](https://www.selectsoftwarereviews.com/buyer-guide/interview-scheduling-software) · [SaaSHub Teal vs Huntr](https://www.saashub.com/compare-job-tracker-by-teal-vs-huntr)
|