Back to index

Case study / 2025 — Shipped

Keystep

Turn career experience into a stronger job application. Reusable stories, job-fit analysis, tailored résumé bullets, and interview preparation in one workflow.

Open app (opens in a new tab)
Keystep application interface

The problem

Applying for a new role often means retelling the same experience from scratch. Job seekers need to connect their real accomplishments to a specific job description without losing accuracy or sounding generic.

Who it serves

People translating their existing experience into targeted applications and preparing specific examples for interviews.

My contribution

I led product strategy and hands-on development: user research, UX decisions, data architecture, AI workflow design, LLM integration, subscription payments, and launch.

Product decisions

The core unit is a reusable career story. Job-description analysis identifies requirements and keyword gaps; generation then uses those requirements alongside the user’s experience. Keeping these steps separate makes the output easier to inspect and improve.

Reliability as a product feature

I built a 10-job benchmark and redesigned generation into staged extraction, evidence selection, and validation with schemas and retries. This reduced poor AI outputs and hallucinations by 80% in the benchmark.

Pricing and activation

I designed three-tier, credit-based subscription pricing around AI workflow costs, comparing LLM quality, latency, and cost per stage before building Stripe billing and entitlements. Server-side event tracking and tester feedback revealed drop-off before first value and informed a simpler onboarding path from résumé import to target job to generation.

What shipped

Career-story workflows, job-fit analysis, tailored résumé bullets, keyword checks, interview preparation, and subscription and credit accounting. The application runs on its own domain.

Outcome

Reduced poor AI outputs and hallucinations by 80% on a 10-job benchmark through staged extraction, evidence selection, and schema validation with retries.