Skip to content

resumix

Turn a job description and your unstructured experiences into a tailored, two-page LaTeX CV and a cover letter, using any OpenAI-compatible model.

resumix is two halves that never share a machine by necessity:

  • a server that holds the model API keys, the prompts and the LaTeX toolchain, shipped as a container image;
  • a client that holds your CV data and your files, shipped as a single executable with no Python, no API key and no LaTeX of its own.

They speak HTTP, multipart/form-data in and JSON out, over a wire format both sides import and neither owns.

Where to start

If you want to… Read
Understand how the pieces fit Architecture
Know how a CV is actually written The CV pipeline
Follow one real run call by call A run, end to end
Use the client The client
Call the server yourself The HTTP API
Build or deploy the server Building the server
Build the client executable Building the client
Decide where each half runs Running the two halves apart
Work on resumix itself, in VS Code Developing locally in VS Code

The shape of a run

flowchart LR
    JD["a job posting<br/>(clipboard, folder or file)"] --> C["client<br/><i>your data, your files</i>"]
    C -->|HTTP| S["server<br/><i>models + pdflatex</i>"]
    S -->|"document · LaTeX · PDF · request ids"| C
    C --> OUT["cv/26-01-15/Acme_Corp_Head_of_IT/<br/>cv_you_head_of_it.pdf · .tex · .json<br/>analysis.json · jd.txt · log.log"]

Your profile, your contact details and your images travel with each request and are thrown away when it ends. The server keeps no database and no accounts — only a directory per request, holding that request's log and, for a CV job, its state and its result.

The three packages

client/ The CLI. Watches your clipboard or a folder, keeps your CV data local, files every result in a dated folder.
server/ The HTTP API. Writes the CV, reviews it, compiles the PDF, analyses postings, writes letters.
contracts/ The shapes both sides agree on — the one thing each side imports, so neither imports the other.

The short quickstarts live in the repository's README.md, client/README.md and server/README.md. These pages are the long form: what the system does, why it is built this way, and every parameter of both halves.