Job-search tools often separate convenience from control.
Candidates repeatedly compare vacancies, tailor documents and track applications. Many tools treat the CV as unstructured prompt material, making it difficult to distinguish verified career evidence from generated wording or to understand where sensitive information is processed.
THE DIFFICULT DECISION
Keep AI local first, even when that introduces constraints.
The MVP uses Ollama as the local model boundary instead of making a hosted model API the default. The choice keeps experimentation inspectable and places CV processing closer to the user, but it also accepts practical limits that a credible product must acknowledge.
CV content can remain on the local development stack
Model access is replaceable behind one boundary
Prompts and outputs can be inspected during development
Local hardware affects speed and model choice
Smaller models can be less capable or consistent
Packaging and support are harder than calling one hosted API
SYSTEM VIEW
One workflow, separated responsibilities.
The architecture separates the interface, application logic, background work and local infrastructure so privacy and validation rules do not depend on one screen or one model call.
React and Next.js interfaces for evidence review, vacancy analysis, document editing and approvals.
FastAPI services enforce identity, workflow state, validation and auditable decisions.
Document and AI tasks run away from the request path with explicit states and retry boundaries.
PostgreSQL, Redis and private object storage separate records, queues and uploaded files.
Ollama provides local generation during MVP development behind a replaceable provider interface.
PRIVACY AS AN ARCHITECTURE CONSTRAINT
Evidence must remain distinguishable from generated language.
Privacy and factuality are not decorative requirements. They shape the workflow: career facts require verification, generated claims must be traceable to evidence, document actions remain user-controlled and external application activity is deliberately constrained.
- 01Verified career profile as source of truth
- 02Evidence-linked generated claims
- 03Human review before document export
- 04Explicit approval before external actions
- 05Private storage and restrained logging by design
- 06Uploaded vacancy text treated as untrusted input
CURRENT OUTCOME
A working foundation, not a finished claim.
The project demonstrates a Docker-based full-stack workflow with authentication, career evidence, document processing, explainable analysis and guarded generation. It is still an active MVP: production providers, operating controls and real-world validation remain separate release gates.
WHAT I WOULD CHANGE
Make the evidence model the first visible product surface.
With hindsight, I would introduce the verified-evidence model before the broader workflow and validate it with users earlier. It is the product's most important distinction, and establishing that mental model sooner would reduce later complexity in scoring, generation and document review.
NEXT ITERATION
What remains deliberately unfinished
- Usability testing with realistic, non-sensitive career profiles
- Production-grade model and document-processing providers
- Measured quality evaluation for evidence-linked generation
- Operational monitoring, recovery and controlled release evidence