ARYAN PANDIT

Software Developer

Read Resume

LaTex Resume Engine

FastAPIPythonPydanticJinja2LaTeXTectonic

A FastAPI rendering service that turns structured resume JSON into LaTeX and compiles it into a downloadable PDF.

LaTex Resume Engine is a backend rendering service for turning structured resume data into a LaTeX-generated PDF through a clean HTTP API. The service accepts JSON, validates it, renders a LaTeX source file from a template, compiles that file with Tectonic, and returns the finished PDF.

The project was built to fill a real gap: there was no publicly available API that took JSON resume data and converted it into a LaTeX-based PDF output. That made it useful both as a standalone service and as a rendering layer inside larger resume-automation workflows.

Inspiration Behind It

The project came from the mismatch between structured resume data and high-quality final output. JSON is easy to generate and transform programmatically, but strong resume formatting often still depends on LaTeX.

LaTex Resume Engine was built to package the full JSON-to-LaTeX-to-PDF pipeline behind one API endpoint so downstream systems would not need to rebuild validation, template mapping, compiler setup, and PDF generation themselves.

System Architecture

Architecture Diagram

LaTex Resume Engine

11 nodes

ENTRYCONTROL PLANECOMPILER WORKSPACEDELIVERYacceptvalidatetyped datarender .texpersistreadcompilefailResume JSON ClientStructured payloadFastAPI Render APIPOST /renderRequest GuardSize and field checksPydanticValidationTyped resume schemaJinja2 TemplateLayerMaps JSON to LaTeXTemp BuildWorkspacePer-request filesFonts and ClassAssetsTemplate dependenciesdebug_resume.texSaved intermediateTectonic CompilerLaTeX to PDFPDF ResponseDownloadable outputCompile ErrorPayloadDebuggable failure

About The Flow / Architecture

The service is intentionally focused: FastAPI handles the API layer, Pydantic validates the request schema, Jinja2 maps structured data into a LaTeX template, and Tectonic compiles the result into a PDF inside a temporary working directory.

A key design choice is preserving the intermediate LaTeX output. The latest generated source is written to `debug_resume.tex`, which makes LaTeX compilation failures much easier to inspect than a pipeline that only exposes a generic render error.

LaTex Resume Engine exposes a narrow but useful backend capability: take structured resume JSON, render it through a LaTeX template, and return a compiled PDF. It keeps the intermediate LaTeX layer visible, which makes the output more controllable and the failure mode easier to debug than a generic export pipeline.

The repository combines FastAPI, Pydantic, Jinja2 templating, Tectonic compilation, and Dockerized runtime setup. It stands out as a clean infrastructure component for resume automation rather than only a one-off PDF generation script.

View Project