Certiva: Turns a PDF template and a spreadsheet into hundreds of certificates, without leaving the browser.
How it's built
Everything happens inside your browser: reading the files, placing the text, stamping every certificate and zipping them up.
Stack
React, TypeScript, Vite, Tailwind, React Router · pdf.js, pdf-lib, xlsx, jszip
Hard parts
Nothing leaves the browser
Parsing, rendering, stamping and zipping all run locally, so participant data is never uploaded.
Names that always fit
Each field has a minimum size, so long names shrink to fit instead of spilling out.
One bad row doesn't stop the batch
Failures are collected and reported while every other certificate still generates.
- Project
- Certiva
- Drawn by
- Arunan K.
- Year
- 2026
- Scale
- Not to scale
- Sheet
- 05 / 08
05 / 08 · Personal · 2026
Turns a PDF template and a spreadsheet into hundreds of certificates, without leaving the browser.
- Role
- Solo project
- Built with
- React, TypeScript, Vite
- Status
- Open source
Walkthrough coming soon