~/projects/terncv

TernCV

Personal product · live at terncv.vercel.app

Free ATS-friendly resume builder that runs entirely in the browser: no account, no server-side storage. Live preview, four templates and text-based PDFs that applicant tracking systems can read.

Overview

Each exported PDF carries the resume data, so importing it restores the resume for editing. Supports multiple resumes, undo/redo, drag-and-drop section order and sync between open tabs. A paid custom-CV service runs on a Vercel serverless function behind Cloudflare Turnstile; finished CVs are published encrypted (AES-GCM, PBKDF2-derived key) and opened with a security code. Tested with Playwright end-to-end tests and served under a strict Content Security Policy.

Engineering highlights

+Local-first by design

Resumes never leave the browser. There is no account and no server-side storage; multiple resumes, undo/redo and sync between open tabs all run client-side.

+PDFs that round-trip

Exports are real text-based PDFs that applicant tracking systems can parse, and each one embeds the resume data so importing the PDF restores it for editing.

+Encrypted delivery for the paid service

Custom CVs are published encrypted with AES-GCM using a PBKDF2-derived key, and opened with a security code, all through the Web Crypto API.

+Hardened and tested

The order form runs on a Vercel function behind Cloudflare Turnstile, the site is served under a strict Content Security Policy, and Playwright covers the main flows end to end.

Architecture

fig.1Free builder: everything in the browser
fig.2Paid custom-CV service

The only server-side piece. Finished CVs are encrypted before publishing and opened with a security code.