
Selected work
CareerVault
Versioned career evidence, inspectable role-fit assessments, and reviewed résumé and cover-letter drafts.
Fewer, better applications.
I built CareerVault to make the evidence behind a career reusable. Résumés, notes, accomplishments and conversation each preserve different details; the product brings them into one editable, versioned record that can support more than one application.
Its guiding idea is evidence before output. First understand whether a role is worth pursuing. Then bring forward the relevant experience and prepare documents the applicant can inspect, correct and approve.
From career record to application packet
- Build and review the record. Import a résumé or add experience manually. Reconcile overlapping material, answer follow-up questions and retain useful details that older documents left out. Corrections become part of the versioned profile.
- Assess one role. Compare a job description with that record. The assessment surfaces supported strengths, differentiators and gaps, including questions that need clarification before drafting.
- Prepare relevant material. Select evidence for the role and generate a targeted résumé and, when useful, a cover-letter draft. Saved roles, assessments and generated artifacts keep the work connected.
- Review and export. The applicant reviews the claims and decides which documents to share or submit. Application documents can be downloaded as PDF and DOCX; structured profile exports include JSON Resume.

The engineering behind the workflow
A durable record. PostgreSQL holds the structured career profile and its versions. Artifact records connect assessments and generated documents to the work that produced them. A correction can carry forward to the next application instead of remaining buried in a one-off draft.
Evidence selected for the role. The system uses PostgreSQL with pgvector to retrieve relevant material. The model works from a selected evidence packet and produces structured proposals. Source-reference checks and selected status rules constrain those proposals before the system derives an assessment or presents an artifact for review.
Work beyond a single request. FastAPI, SQLAlchemy and Alembic support the API, data model and migrations. Database-backed workers handle longer workflows, with retries, deduplication and recorded outcomes. Artifact tracking and usage/cost telemetry make failures and resource use visible.
Boundaries around the data. Workspace role-based access control separates users’ records. The editable profile and standard export formats keep the source material usable beyond a particular generated document.
Missing evidence stays unknown
A job requirement can be supported, partly supported, unknown or contradicted. The absence of a detail in an old résumé does not establish that the person lacks the experience. CareerVault preserves that distinction and uses follow-up questions to improve the record.
Implemented checks cover parser bounds, duplicate handling, canonical versioning and source references. Those checks do not guarantee that every model judgment is correct or that an employer will agree with an assessment. Human review remains part of the workflow; people choose which roles to pursue and submit their own applications.

My role
I designed and built CareerVault end to end through Praxish, my independent applied AI and data science practice: the product workflow, profile and artifact models, application interface, API, background processing, document exports and deployment.
The project brings together applied AI, data modeling and the operational work that makes a product usable: corrections, permissions, migrations, retries and inspectable outputs. For a technical conversation about the work, email me.
Current status
Public access is paused while we work on what comes next.