DEV Community

AgentChip
AgentChip

Posted on

I Turned Certificate Day From an Afternoon Into 5 Minutes (CSV Branded PDFs)

Every training center, driving school, yoga studio, and certification body has the same hidden tax: certificate day.

A class of 15 finishes. The instructor has the list of names. And then someone — usually the owner, usually at 9pm — opens a Word template and starts the ritual: type the name, fix the spelling, adjust the font so it fits the line, check the date, print, sign, repeat 14 more times. Fifteen people is an afternoon. Fifty people is a lost weekend.

I've built this exact workflow for small businesses that issue completion certificates, and the fix is embarrassingly simple: stop touching each certificate by hand.

The three things that actually eat your time

1. Name entry and spelling. Every name has to be typed once, checked against the roster, and often fixed. In a batch of 30 you will typo at least one name, and someone will notice it on the wall.

2. The layout fight. Long names overflow the line. Short names look lonely. The date format changes between batches. Every tweak is a manual formatting session in a tool that was never designed for batch output.

3. The re-issue loop. Someone loses their certificate or needs a corrected one. Now you have to recreate that one specific PDF, with the same design, from scratch — or dig through a folder of half-finished documents trying to find the right template.

What I built

A single Python script that turns the whole ritual into one command:

python cert_generator.py --input students.csv --title "Course Completion" --signer "Maria Chen"
Enter fullscreen mode Exit fullscreen mode
  • CSV in, PDFs out. Drop in a spreadsheet with name / course / date / certificate ID, and it generates a merged PDF for the whole class plus individual PDFs for each person — print-ready, A4 landscape, branded with your colors, logo corner, and gold signature line.
  • Consistent design, zero formatting fights. Long names auto-fit, dates format themselves, IDs auto-increment. Every certificate in the batch looks exactly like the last one, because it's drawn by code, not by hand.
  • One-off re-issues are free. Someone lost theirs? Run the script again with just their row. The output is identical, and it takes four seconds instead of twenty minutes.

No design software, no cloud subscription, no monthly fee. It's a script that runs anywhere Python runs — Windows, Mac, or Linux — and it's bilingual out of the box (English and Chinese layouts, so it works for international training programs too).

I packaged it with a sample class, full setup instructions, and a customization guide (colors, fonts, logo, signature) over at AgentChip. It's aimed at the owner who'd rather spend the afternoon teaching than generating PDFs.

Your students earned the certificate. You shouldn't have to earn it again every time you print one.


Originally published on the AgentChip blog.

Top comments (0)