Attendance - Check-in System
A check-in system for the ICP Developers' Community - per-session attendance boards, history, and CSV export. Four runtime dependencies in total and no authentication library at all: the dashboard is gated on an HMAC-SHA256 token signed with the Web Crypto API and compared in constant time, with same-origin CSRF checks and per-IP rate limiting layered on top. GitHub Actions builds the Docker image and deploys it over SSH on every push.

Tech Stack
Next.js 16, better-sqlite3, Web Crypto, Docker
Features
- HMAC Auth, Zero Auth Deps
- Constant-time Compare
- Same-origin CSRF Guard
- Docker CI to VPS
What I Built
Built the check-in board - present, absent, or late per session - plus the history view and a CSV export assembled client-side.
Gated the dashboard on an HMAC-SHA256 token signed with the Web Crypto API rather than taking on an auth dependency. Four runtime dependencies in total: better-sqlite3, next, react, react-dom.
Compared the signature and the PIN in constant time with an XOR accumulator, and rejected cross-origin writes at every endpoint.
Capped the login route at 5 attempts per 15 minutes per IP, and wrote the Docker build plus the GitHub Actions workflow that ships the image to a VPS over SSH on every push.
Built the whole thing solo - design, implementation, and the deploy pipeline - which is why it runs on four runtime dependencies instead of a framework's worth of them.