A fast, lightweight, ATS-friendly resume builder. Semantic HTML output, browser-native PDF export via Print.
- Backend: Rust, Axum, Askama (server-side HTML rendering)
- Frontend: Preact, HTM, TypeScript, Vite
- Data format: JSON Resume schema
The frontend (Preact SPA) manages all form state and UI. The backend is a stateless JSON API that accepts a JSON Resume object and returns rendered semantic HTML.
POST /api/render — JSON Resume in, HTML fragment out
GET /* — Serves the SPA
Requires Rust (1.85+) and Node.js (18+).
# Terminal 1: Backend
cargo run
# Terminal 2: Frontend (with HMR)
cd frontend && npm install && npm run devOpen http://localhost:5173 — Vite proxies /api requests to the Rust server on port 3000.
cd frontend && npm run build # outputs to ../static/
cargo build --release
./target/release/resumo # serves everything on http://127.0.0.1:3000Pull from Docker Hub:
docker run -p 3000:3000 andreapavoni/resumoBuild locally:
docker build -t resumo .
docker run -p 3000:3000 resumoOpen http://localhost:3000.
cargo test