The problem
A job search is scattered by nature: resumes live in one place, applications in another, interview prep somewhere else, and the hardest conversation, negotiating the offer, usually happens with no help at all.
Careerflow's bet is that AI should sit inside each of those moments rather than being one more standalone chatbot, so the product had to grow into several surfaces, cf-webapp, a coaching webapp, a resume builder, without splintering into inconsistent apps that happened to share a logo.
An agent that negotiates with you
The Negotiation Agent researches comparable salary ranges, drafts talking points and helps craft a counter, scoped to the exact role and posting a candidate is looking at, not generic advice copy-pasted from a blog post.
It sits in the main nav as a first-class surface, not a buried settings toggle, because a negotiation someone will actually have deserves the same design weight as their job tracker.

Mock Interviews, built from the ground up
Mock Interviews was built from the ground up: session types, a scoring model, structured feedback and a history a job seeker could actually learn from, not a chat window that happened to ask interview questions.

A coach that's always one click away
Your Coach wraps around it as an ambient panel next to whatever a job seeker is already doing, not a separate destination. It opens and closes over the live product surface underneath it, walking someone into a mock session and keeping past scores on hand, without ever replacing the screen they were already on.

Recommended, scored, then ranked
The job tracker was rebuilt from a manual board into an AI-native one, leading with Recommended Jobs, ranked by a match score against the candidate's actual resume, so it opens with a ranked shortlist instead of a raw feed to scroll through blind.

Automation you can watch and interrupt
Auto Apply Queue takes it further: jobs move from recommended to applied on their own, with a live status per application, in progress, needs your input, next in queue, so the automation stays visible and interruptible instead of a black box.

An assistant that starts with a prompt, not a blank page
Starting a new resume begins with a short AI Prompt Box instead of an empty template: describe the role and background in a sentence, pick a persona, new grad, career changer, returning professional, and the assistant drafts a starting point to react to.
It's the same principle as the Negotiation Agent and Your Coach: AI opens the door, but a person still writes the sentence, approves the draft and makes the call.
One design system pulled out from under four live apps
Four codebases had each grown their own version of Ant Design over the years, the same components rendering slightly differently depending on which team and which sprint last touched them. With full access to every repo, the actual inventory ran into the hundreds of modals alone, before counting buttons, inputs and cards.
A clean-slate rebuild wasn't realistic against four apps shipping in production. The consolidation went component by component instead: auditing what existed, deciding what earned a place in the new system, and folding the rest into one shared library every app could adopt without a rewrite.
In the lab: diagnosing the search itself
Diagnose is the newest experiment, shown running live on this page's cover: instead of another tool to search harder with, it reads a candidate's actual funnel, applications sent, responses, phone screens, final rounds, benchmarks it against real response-rate data and names the single biggest failure point instead of a generic pep talk.
It's still in Careerflow Lab, the team's testing ground for ideas before they earn a place in the main product, but it's the clearest version yet of what AI-native means here: the product doing the diagnostic work a career coach would, not just generating more text.
AI isn't a feature bolted onto Careerflow, it's the interface: an agent that negotiates, a coach that's always present, an assistant that rewrites with you instead of for you. My job was making all of it feel like one product, not five AI experiments stapled together.
