Train with purpose. Stay consistent. See results.
KANTN is a modern workout platform designed to make fitness simple, structured, and motivating. Create personalized plans, build custom exercises, track your workout history, and turn every session into measurable progress.
- 🗓️ Personal workout plans: Build and follow plans tailored to your goals.
- 🏋️ Custom exercise builder: Create and save exercises that fit your style.
- ✅ Guided workout flow: Start sessions, follow sets, and stay on track.
- 📊 Workout history & details: Review completed sessions and performance trends.
- 👤 Personal profile: Keep your account and fitness journey organized in one place.
- Install dependencies:
npm install- Create a
.envfile in project root:
SUPABASE_URL=https://<project>.supabase.co
SUPABASE_ANON_KEY=<anon-key>
ENABLE_DEV_AUTH=false
APP_URL=http://localhost:4000- Generate runtime env file:
node scripts/generate-env.js- Start dev server:
npm run devApp URL: http://localhost:4000
Build and run the production SSR server output:
npm run build:prod
npm run serve:ssr:appOpen: http://localhost:4000
-
After a user logs in once (so a profile exists), approve their account:
select * from set_user_role_by_email('faetschi.ai@gmail.com', true, false);
-
Promote a user to admin via SQL:
select * from set_user_role_by_email('faetschi.ai@gmail.com', true, true);
Use these Vercel settings:
- Build Command:
npm run build:prod - Output Directory:
dist/app/browser - Environment Variables:
SUPABASE_URLSUPABASE_ANON_KEY
Then in Supabase Auth URL settings, add redirect URLs:
https://<your-vercel-app>.vercel.app/oauth/consenthttp://localhost:4000/oauth/consent
Then push to main branch or use the manual production deploy command:
vercel --prodnpm run lint— lint checksnpm test— unit tests
BUGS.md— known issuesGO_LIVE_RUNBOOK.md— staging verification checklist and rollback steps


