Client under NDA. The name is withheld and every screenshot is obscured — the interface palette alone would identify them.
Drop main screenshotThe official platform for a Saudi university's career fair — a public registration site, a role-scoped dashboard, student and company portals, and an Android check-in app, all served from one Next.js and PostgreSQL backend. The client is under NDA, so the name is withheld and the screenshots are redacted.
The fair ran on paper forms, spreadsheets, and physical attendance sheets. Queues were slow, attendance data was unreliable, and organizers had no visibility until the event was over. Expected load: ~5,000 students and ~200 companies across four days.
Screenshot 1
Screenshot 2One Next.js and PostgreSQL backend serving a public registration site, a role-scoped dashboard, a student and company portal, and an Android check-in app. Registration issues a QR token distinct from the primary key, emailed as a scannable ticket. Check-in is single-entry — a student attends exactly one of the four days — enforced by a UNIQUE constraint and a P2002 catch rather than read-then-write, so concurrent scans at multiple doors cannot race. Every event-day, registration-window, and scanner-activation decision is computed server-side in KSA time; the device clock is never trusted.
Check-in runs on Honeywell handhelds in HID keyboard-wedge mode instead of camera scanning — about 150ms per scan against roughly 2s, and it works in bad lighting without asking for camera permissions.
Rate limiting is an in-memory LRU rather than Redis, because a four-day event on a single container does not need a second moving part.
Workshop certificates render from a designer-owned SVG template through resvg into a print-resolution PDF, so typography lives in Figma and the code only does string substitution — with Arabic fonts bundled for deterministic shaping.