About resume.ink

The callback that never came.

resume.ink began as one job search with too much silence in it. The question underneath it was simple: what did the software actually see?

“I know how to explain my research. Figuring out what belongs on a résumé for an industry job is the hard part. resume.ink bridged the gap.”
PhD candidate, Columbia University
01 · The problem

Software reads your résumé first.

Before anyone looks at it, an applicant tracking system turns your PDF into text and ranks you on whether the posting's words appear. A two-column page merges into one stream. A heading it does not recognize takes its whole section with it. You never find out.

What you sent
Skills
Education
Experience
What the filter read
  1. 1SKILLS EXPERIENCE
  2. 2Python Senior Engineer, Northwind
  3. 3SQL 2019 – 2023
  4. 4Docker Led migration of the billing
  5. 5Kubernetes service to a new
  6. 6Terraform platform with three
  7. 7EDUCATION engineers
  8. 8B.S. Computer Science Built ETL pipelines that
  9. 9AWS Data Engineer, Contoso
  10. 10Certified Kubernetes 2016 – 2019
02 · The arms race

Everyone learned to game it.

Applicants wrote for the filter: keyword walls, bent titles, white text on a white page. Then the AI tools arrived and handed back pages that read well and said things nobody did. Recruiters stopped trusting a polished page.

03 · What we built

A page the software can read and you can defend.

resume.ink started as a private tool for one search. The bet was that an honest page and a well-parsed page can be the same page. Three decisions follow from that.

  1. I

    It can only point at your record.

    The model never writes an employer, a title, a date, or a skill. Every line traces to a source, or it is rejected.

    Your record
    On the pagerole 2 · bullet 3
    A rewritten line and the record it points at.resolves ✓
  2. II

    Keywords are matched the way filters match them.

    Named tools are compared exactly. Where the posting asks for something you do not have, you see the gap before you apply.

    Python
    exact✓
    Kubernetes
    exact✓
    Terraform
    not in your record—
    Postgres
    exact✓
    Named tools from the posting, compared exactly. The gap shows before you apply.
  3. III

    The page is measured, not eyeballed.

    Every draft is compiled to a real PDF and inspected in code before you see it. When nothing fits, it says so.

    overflow
    0
    widows
    0
    trailing
    4.1%
    clean ✓

The measurements behind these are on the evals page.

FAQs

Straight answers, including where the product stops and your judgment starts.

Something else? Write to us. A person answers.

It removes the reasons a good résumé gets dropped: the page extracts as clean text, and the posting's named tools appear where your record supports them. It cannot promise a rank.

No. Employers, titles, dates, and skills come from your record, never from the model. A rewritten line that cannot be traced to a source is rejected before you see it.

The page holds your facts, tightened for one posting. There is no hidden text and no keyword wall, and you read every line before you send it.

A profile: your roles, what you did in each, your skills, and your education. You can import an existing résumé to start. It tells you when a profile is too thin to fill a page.

It will not stretch with you. A requirement your record does not support stays off the page, and the match report shows the gap. Whether to apply is your call.

The loop keeps the best render it measured. If a bullet still does not fit, the result says so. A defect is never reported as success.

Know what the software will read.

Free to try · no credits, no upsells · your data stays yours