← projects

GDGoC Admin Panel

Certificate design, bulk issuance and delivery for Google Developer Groups on Campus chapters.

Role
Sole engineer
Timeline
2026
Domains
Web · Backend · Automation
Capabilities
System design · API design · UI engineering · Data flow · DevOps
Stack
Go · Fiber · GORM · PostgreSQL · Redis · React Router v7 · Konva · TanStack Query · Tailwind CSS · Docker

Problem

Chapters issued event certificates by editing a design file once per recipient and mailing each one by hand. The work scaled linearly with attendance, designs drifted between organisers, and a certificate had no way to be checked as genuine after the fact.

Approach

A Go and Fiber API split into domain packages, paired with a React Router SPA. Templates are drawn in a Konva canvas editor and saved as an immutable versioned SceneDefinition, so a batch snapshots the exact design it was issued under. Text layers hold variable keys rather than literals; issuance resolves them per recipient from a spreadsheet import, alongside auto-injected system variables such as the verification URL. Batches hand a job ID to an in-process queue that a worker pool drains, rendering each certificate through a pure-Go rasteriser that handles text, images, gradients and QR codes without CGo, then sending it via the chapter's own SMTP credentials. Auth delegates to an OIDC provider with whitelist-gated registration and per-chapter roles.

Outcome

One design, one recipient sheet and one run replaces the per-certificate loop, and every certificate carries a QR that resolves to a public verification page. The same renderer backs dynamic images, which take their values from URL parameters so share cards and banners come from the same pipeline without creating a batch. Templates and mail templates can be published for reuse across chapters.