Sponsored by the Neon Open Source Program
Simple, fast gym logging. Track workouts, sets, and reps; get suggested next workouts based on your history; install it as a PWA on your phone.
Live at myrepsetgo.vercel.app.
- Email/password auth with sessions (JWT,
jose), optional "remember me" - Log workouts with exercises, sets, reps, and weight; edit or delete past logs
- Custom exercises alongside a built-in catalog of common gym exercises
- Dashboard suggestions for your next workout, ranked by exercise frequency
- Avatar upload (Vercel Blob, private access)
- Welcome email on signup (Resend)
- Admin panel: manage users (roles, active/inactive, delete), toggle open registration
- Installable PWA (manifest, service worker, offline app-shell caching)
- Next.js (App Router, Server Actions) + React 19
- Drizzle ORM + Neon Postgres
- Vercel Blob for avatar storage
- Resend for transactional email
jose(JWT sessions),bcryptjs(password hashing),zod(validation)- Tailwind CSS + Base UI components
- Vitest for tests
-
Copy
.env.local.exampleto.env.localand fill in the values:DATABASE_URL— Neon Postgres connection stringSESSION_SECRET— generate withopenssl rand -base64 32BLOB_READ_WRITE_TOKEN— from Vercel Storage > BlobRESEND_API_KEY— from resend.com dashboardRESEND_FROM_EMAIL— sender address (Resend's shared test domain works until you verify your own)
-
Install dependencies and run the dev server:
npm install npm run dev
Open http://localhost:3000.
npm run dev— start the dev servernpm run build/npm run start— production build and startnpm run lint— run ESLintnpm test— run the Vitest suitenpm run promote-admin -- <email>— promote an existing user to admin
Deployed on Vercel. The master branch is the
production branch — merging into it triggers a production deploy. Other
branches (e.g. development) get their own preview deployment.