A multi-variant LaTeX résumé for Prad Nukala. Each variant is a self-contained `.tex` file under `src/`, targeting a different role (React Native, protocol, cryptography, founding engineer). The raw career material lives as structured YAML in `docs/` and is hand-curated into the templates — nothing auto-generates the `.tex` from the YAML. Builds with **pdflatex** via a single glob-driven `Makefile`.
| `app/` | Vite/Hono/React webapp on Cloudflare Workers — tailors a résumé to a job-posting URL. Syncs `docs/` YAML into local D1 (`bun run sync`), matches + AI-plans via Workers AI, renders LaTeX from the shared template, compiles to PDF (local `pdflatex` in dev). Run with `bun run dev` from `app/`. |
- **pdflatex, not XeLaTeX.** Templates use `inputenc`/`fontenc` with default Computer Modern — no fontspec, no bundled fonts, no bibtex.
- The Makefile auto-discovers variants. Adding `src/<name>.tex` gives you `make <name>`, `make preview V=<name>`, `make watch V=<name>` for free — no Makefile edit.
- **One-page constraint:** every variant must stay a single page. `paracol` silently overflows to page 2 if a column runs long.
### Testing Requirements
After any `.tex` change, rebuild and confirm page count:
```bash
make distclean && make <variant>
pdfinfo dist/<variant>.pdf | grep Pages # must read: Pages: 1
```
### Common Patterns
- Variants share an identical preamble and the role-independent blocks (Contact, Honors, Organizations, Education). Title, skill groups, experience bullets, and project ordering are what differ per role.
- Content is curated from `docs/` YAML by hand; keep the two in sync when editing either.
## Dependencies
### External
- TeX Live (`pdflatex`, `latexmk`) — build toolchain.