Product surfaces
Cloud sync stores one resume per user plus chat/AI logs. Signed-in workspace rows (jobs, evidence, packets, answers, variants) sync to user_workspace when that table exists.
Pages
| Route | What it is |
|---|---|
/ | Marketing landing — pitch, honest scope, sign-up. |
/app | Dashboard — pipeline snapshot and next actions. |
/auth | Sign in and create account (Google, GitHub, email). /login and /signup redirect here. |
/pricing | Private-beta pricing and paid-plan waitlist. Stripe checkout is not live. |
/onboarding | Guided first packet: resume → job paste → readiness → export. |
/discovery | Prototype: sample listings and outbound search links. Not live 11-board aggregation or ATS submit. |
/jobs | Manual jobs pipeline (status, notes, readiness). |
/profile | Master knowledge base — projects, experience, education, skills, certs, LinkedIn import. |
/applications | Application tracker and recurring answers. |
/resumes | Multi-resume library (named variants). |
/resume | Structured resume editor, live preview, THEA, PDF/DOCX/JSON export. |
/settings | PDF conversion status, local backup/restore, disclosures. |
/connectors | How to add Career OS as a remote MCP server (Claude, ChatGPT, Cursor, VS Code, Copilot). |
/docs | This documentation. |
Resume editor
- Header fields: name, location, email, phone, LinkedIn slug, GitHub username, portfolio.
- Sections are a top-level array. Types: education, skills, experience, projects, certifications, custom.
visible: falsehides a section from PDF/DOCX/LaTeX. Hidden text does not leak into the rendered PDF.- Signed-in saves go to the
resumestable (one row per user). Later saves overwrite that row.
What is not the product
resume_pipeline/holds agent prompt specs and a local dashboard. It is not the Vercel app.- The root Playwright
server.jsis a local browser control API. Bind it to loopback only.