# Jobbjakt cleanup tracker Last updated: 2026-03-23 ## AI Service / OCR - [x] Reframe user-facing "summarizer" status and docs toward an AI service - [x] Add self-hosted OCR/text extraction endpoint to the local AI service - [x] Add backend AI-service text extraction integration for profile CV uploads - [x] Add OCR support for supported image CV uploads (`png`, `jpg`, `jpeg`, `webp`) - [x] Add AI service latency/OCR telemetry to the system page - [x] Add frontend test coverage for AI service status rendering - [ ] Extend AI extraction to job attachment ingestion - [ ] Consider full internal service/class rename from `Summarizer*` to `AiService*` ## Build / UI Issues - [x] Fix visible build error text appearing on page load/footer - [x] Resolve naming inconsistency: `jobtrack` → `Jobbjakt` - [ ] Audit placeholder vertical alignment in all text fields - [ ] Complete final UI overhaul / visual consistency pass - [x] Add frontend 404 page - [x] Add frontend route error page ## Job Creation / Company Features - [x] Remove “Next Action” from create job form - [x] Remove “Follow-up Date” from create job form - [x] Replace “Save and add another” checkbox with action buttons - [x] Add modal Close button at bottom - [x] Add modal top-right close button - [x] Remove file-type checkboxes - [x] Add categorized file uploads for CV / portfolio / other files - [x] Prefer document formats while allowing text/image uploads - [x] Replace inline cover text field with upload-based flow - [ ] Verify translated text area is shown only when content is not English - [x] Improve create-company error visibility in frontend - [ ] Verify company creation works in production after deploy - [x] Add backend production schema guard for company/job ownership columns ## Profile Page - [x] Remove duplicate “Google account not linked” messages - [x] Add profile image upload - [x] Add crop dialog for profile image - [x] Add zoom in/out support for image cropping - [x] Use square cropped avatar output - [x] Add CV upload support - [x] Verify/complete OCR/text extraction for uploaded CV PDFs ## Settings & System - [x] Restore missing follow-up days settings - [x] Move SMTP test from user page to admin/system page - [x] Move language selector into Settings - [x] Make language selection apply globally - [ ] Audit app-wide preference for username over email - [ ] Verify auto-fill of email and full name from profile where relevant ## Dashboard / System Pages - [x] Reduce duplicate system data on dashboard - [x] Consolidate system-related information into system/admin area - [ ] Audit summarizer/system state consistency across dashboard and system page - [x] Verify there is no separate pipeline page left outside the system/company context - [ ] Remove remaining redundant dashboard/system duplication ## Translations / Localization - [x] Expand translation infrastructure with interpolation support - [x] Move major app shell/settings/profile/admin/create-job views onto translation system - [x] Translate major table/kanban/edit flows further - [ ] Finish remaining translation coverage in lingering dialogs/components - [ ] Review English/Norwegian phrasing consistency across updated UI ## Production / Deployment - [x] Audit production API base URL / proxy setup - [x] Document recommendation to leave `REACT_APP_API_BASE_URL` empty when using bundled proxy - [x] Replace committed dev secret-like values with placeholders in dev config - [ ] Rotate any real secrets that may previously have been committed/exposed - [ ] Verify production environment variables match documented setup ## UX / Consistency - [x] Simplify create-job workflow - [x] Reduce duplicated UI/data across multiple pages - [ ] Perform final UX clarity pass across major screens - [ ] Perform final consistency pass on labels, spacing, empty states, and feedback messages