Goonodoro
A Pomodoro timer with verified accounts, tracked focus sessions, and a public leaderboard.
Overview
Goonodoro is a full-stack Pomodoro web app with a plain HTML, CSS, and JavaScript frontend hosted on Vercel and a production Express API hosted on Railway. The backend handles authentication, email verification, session tracking, and leaderboard data backed by PostgreSQL on Neon.
Technical Stack
Frontend
HTML, CSS, JavaScript, Vercel
Backend
Node.js, Express, JWT, bcrypt
Database
PostgreSQL on Neon
Infrastructure
Railway, Resend, GitHub
Backend Features
Production API Surface
- Auth Register, verify email, login, bcrypt password hashing, JWT sessions
- Users Profile endpoint and unique username updates
- Sessions Authenticated Pomodoro completion tracking
- Leaderboard Public top-10 ranking without exposing email addresses
- Security CORS allowlist, route rate limiting, environment-based secrets
What I Built
I implemented the Express server, PostgreSQL schema, Neon connection flow, Railway deployment configuration, environment documentation, and frontend integration. I also fixed production deployment issues around Railway proxy headers, moved email verification to Resend, and added the sign-up, login, lifetime-session, and leaderboard flows to the frontend.