NBA Feed
Your teams' news and games, with scores hidden until you reveal them.
Web-first boxing training for beginners and pros. AI-built plans, progress ranks, nutrition and technique. Start free — no card, no app, no gear.
Sports & fitnessTypeScript · JavaScriptGitHub @muratov-rbOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Free, web-first boxing training that serves total beginners and experienced boxers / pros in one place. No app download, no proprietary hardware — just step in and train.
Train like a fighter. Look like an athlete.
Landing page, a game-like onboarding flow, real accounts (Supabase), an AI coach that rates your chances and builds a roadmap (Claude), and English/Russian localization. It runs with zero keys — auth shows a "not connected" notice and the AI uses a built-in engine until you add credentials. See SETUP.md to switch on Supabase + Claude.Read the full README ↗Free, web-first boxing training that serves total beginners and experienced boxers / pros in one place. No app download, no proprietary hardware — just step in and train.
Train like a fighter. Look like an athlete.
Landing page, a game-like onboarding flow, real accounts (Supabase), an AI coach that rates your chances and builds a roadmap (Claude), and English/Russian localization. It runs with zero keys — auth shows a "not connected" notice and the AI uses a built-in engine until you add credentials. See SETUP.md to switch on Supabase + Claude.
app/globals.css via @theme)next/font: Anton (display), Oswald (condensed), Inter (body)npm install
npm run dev # http://localhost:3000
cp .env.example .env.local # then follow SETUP.md to fill in keys
/) — EN/RUSiteNav · Hero · AudienceSplit · FeaturePreview · FinalCTA · SiteFooter, with a LocaleSwitcher.
/onboarding)Client-side stepper (OnboardingFlow) with a "round" progress rail:
PathSelector — Beginner vs. Experienced / ProProfileForm — stats + sex, multi-select & custom goals, flexible timeframe (6w / 3m / 6m / custom), conditional target weightSetupStep — training environment + equipment inventory + free-text notesFuelStep — nutrition access tier, supplements, diet notesAnalysisReveal — AI feasibility %, verdict, phased roadmap, fuel plan, belt unlock (Novice)DashboardPreview — teaser: session, rank ladder, goal/streak, nutrition (marked Preview)Shared state is a useReducer over the Profile in lib/onboarding.ts.
/login, /register, /verify-email, /dashboard (guarded), plus /auth/callback & /auth/signout. Session refresh + route protection in proxy.ts.
app/api/analyze/route.ts — Claude (claude-opus-4-8, override via ANTHROPIC_MODEL) returns the Analysis shape and answers in the active locale; falls back to lib/analysis.ts's local engine on any error or missing key.
app/
layout.tsx # fonts, i18n provider, grain overlay
globals.css # design tokens (@theme), base, animations
page.tsx # landing
onboarding/page.tsx # <OnboardingFlow />
(auth)/ # login, register, verify-email (+ layout)
auth/ # callback + signout route handlers
dashboard/page.tsx # guarded dashboard shell
api/analyze/route.ts # Claude analysis (local fallback)
components/
ui/ landing/ onboarding/ auth/
lib/
onboarding.ts # types, constants (paths/goals/timeframes/equipment/nutrition/ranks), reducer
analysis.ts # feasibility+roadmap engine + requestAnalysis()
supabase/ # client, server, middleware(proxy), user, config
i18n/request.ts # cookie-based locale
messages/{en,ru}.json # translations
proxy.ts # Supabase session + route guard (Next 16 "proxy")
Dark, gritty boxing-gym aesthetic, tokens in app/globals.css: surfaces void→charcoal→surface→surface-2, accents blood/ember, text bone/ash/ash-dim, font-display/font-condensed/font-body. Reusable: .kicker, .badge, .btn*, .panel, .shine, animate-rise/pop/glow.
useTranslations)/dashboard