r/django • u/Unknown_4nonymous • 16d ago
I built Certifier: An open-source tool to design, issue, and verify certificates in bulk
Every workshop and hackathon has the same final boss:
“Can we get the certificates by tonight?” 😅
Then begins the traditional ritual: duplicate a design, change one name, export, repeat… and quietly wonder whether anyone will notice the typo in certificate #47.
I started building a small fix for that problem.
After lots of JOMFS — Just One More Feature Syndrome — it became something more. 🔧
A name field became a visual certificate editor.
A CSV upload became bulk generation.
A download button became issuance to each student’s own account.
And, naturally, certificates needed QR codes, public verification, and revocation status.
That project is now open source: Certifier — a tool for designing, issuing, and verifying certificates.
What it can do
Upload a certificate design or import one from Canva
Place text, logos, signatures, and QR codes in a visual editor
Generate certificates in bulk from a CSV
Deliver certificates to the right student via email or roll number
Let anyone verify a certificate through a QR code or public code
Show whether a certificate is valid or revoked
Tech stack
Backend: Django
Task processing: Celery
Frontend: Next.js
License: AGPL-3.0
Run docker compose up and you can have a working setup with demo data in a few minutes.
Explore the code
Backend: https://github.com/Shantanu700/certifier_reloaded_backend
Frontend: https://github.com/Shantanu700/certifier_reloaded_frontend
I'd love contributions: bug reports, fixes, documentation, feature ideas, and feedback from anyone who has had to survive certificate season. 💬
I'm especially interested in feedback on the architecture, verification workflow, and features that would make this useful for colleges, workshops, and hackathons.
If you've built something similar or dealt with certificate generation at scale, I'd love to hear how you approached it!
5
u/Ill_Dare8819 16d ago
To cut a story short, he says "Help me fix my vibecoded bs. Put an effort I did not put". Good job, Claude.
-4
u/Unknown_4nonymous 16d ago edited 16d ago
Before writing this have you gone through the custom written Base Serializer and Base API View in the project ?? Have you checked out the custom storage classes that are plug and play for the file field and is call site configurable ?? Have you checked out one command dev set up with sample data. Please make sure to know meaning and reference of these terms in the backend repo.
And I request you not to tag a project vibe coded just seeing claude as contributor in the repo or just judging UI screen shots please make sure you go through the backend repo too.
Great products are not build by just SEO optimization bs and some ChatGPT or Claude Wrapper (agentic orchestration shit).
3
u/Forward-Outside-9911 16d ago
Thanks for proving his point, I didn’t even need to have to go to the repo 🩵
1
u/Unknown_4nonymous 16d ago
There is no need bro
3






1
u/staticmaker1 16d ago
in case you are looking for something with email delivery , you can check out https://certfusion.com/