Skip to content
All projects
Solo Developerwebapplication

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.

Screenshot of Attendance - Check-in System

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.