← Back to Work
Case study · Product

SubmitX.
30,000+ applications every day.

Chrome extension + AI agent that tailors your resume per role, fills every field on the form, and submits - across Workday, Greenhouse, Lever, Ashby, iCIMS, Taleo and 40+ other ATSes.

Brief

Solo founder. One-line brief. Wanted a Chrome extension + backend + payments + Telegram bot, end to end.

  • ClientSubmitX (founder-led)
  • EngagementBuild sprint
  • Timeline14 days
  • StatusShipped, live
5 days

Idea to first live submission

30,000+

Applications submitted every day

40+

ATSes supported

14 days

End-to-end build

Inside the product

Marketing site that converts.

"Your job search. Fully automated." Live at submitx.ai — 609k+ jobs indexed, 9.5k+ users, 4.9 rating.

SubmitX home page at submitx.ai
SubmitX side panel

Side panel opens on any job page. One click, full context.

SubmitX autofill

Agent reads the form, fills every field, you review before submit.

SubmitX profile

Profile is the source of truth. Resume tailors against it per role.

Problem

Applying is the work. The work isn't applying.

Job seekers spend 3-5 hours a day on application forms. Each ATS asks the same 40 questions in a slightly different order. Each role wants a slightly tailored resume. The cost of applying is a full-time job by itself.

Existing autofill tools are dumb - they paste your name and call it done. We wanted the opposite: an agent that reads the job description, rewrites the resume against it, fills every field honestly, and submits. With a real audit trail.

Approach

Ship in days. Then make each day better than the last.

Day 0

Brief, in one sentence

"People burn 4 hours a day on job applications. Let an agent do it." That was the whole brief.
Day 1

Architecture + skeleton

Terraform stack, monorepo, Clerk auth, 4 backend services bootstrapped. Chrome extension stub talking to the resume Lambda.
Day 3

First end-to-end submission

Real Workday job submitted by the agent. Resume tailored, fields filled, application logged. Demoed to the first batch of users that night.
Day 7

Match scoring + tailoring

Scrapers running across LinkedIn, Greenhouse, Lever, Ashby. Match-score model behind the job board. Resume builder with drag-and-drop section editor.
Day 14

Live with paying users

Dodo Payments wired up, dashboard polished, Gmail + Telegram integrations live, the agent fleet now submits 30,000+ applications every day.
What we built

10+ AI microservices, one Chrome extension, one dashboard.

Each service does one thing well, deploys independently, and costs nothing when idle. Total committed infra spend: $0.

submitx-core
User, billing, statistics
submitx-resume
AI resume tailoring
submitx-email
Gmail OAuth + recruiter session threading
submitx-autosend
Job search, match scoring, auto-apply queue
submitx-scrapers
ATS-specific scrapers for 40+ portals
submitx-agent
Form-filling AI agent driving the Chrome extension
submitx-notifications
Push, email, Telegram
submitx-pro-advisor
Coaching layer on top of application history
submitx-extension
Chrome extension, Manifest V3
Stack

Boring, fast, cheap.

Frontend

Next.js 16 App Router, TypeScript 5.9, Tailwind v4, shadcn/ui, Zustand, TanStack Query

Auth

Clerk

Payments

Dodo Payments (server-created checkout)

Backend

10+ AWS Lambda microservices, API Gateway, DynamoDB, S3

Infra-as-code

Terraform, GitHub Actions CI/CD

AI

Anthropic Claude (resume + agent), Gemini fallback

Extension

Manifest V3 Chrome extension, AI-driven DOM agent

Outcome

Live, paying users, zero recurring cloud bill.

Day 14

Dashboard, payments, extension and ten Lambda services live in production with one engineer + MLGround.

$0

Committed monthly spend at launch. Lambdas + DynamoDB + S3 only charge when used.

Daily

New ATS adapters and prompt improvements ship through CI/CD - no downtime, no migration ceremonies.

Your turn

Got a product brief you'd kill to see live in two weeks?

We're booking projects for the next sprint. 30 minutes is enough for us to know whether we can ship it.

Start a project