You are browsing as a guest. Sign up (or log in) to start making projects!

sansarkarki

@sansarkarki

Joined June 7th, 2026

  • 1Devlogs
  • 1Projects
  • 1Ships
  • 2Votes
Ship

I built VarFoot for myself. I'm an incoming freshman trying to make varsity soccer and I was training hard but had no actual system. Clips on Instagram, random YouTube drills, nothing tied together. I built the thing I needed.

You go through a baseline assessment when you sign up and it scores you on a Varsity Readiness scale (0-100, where 40 is freshman level, 70 is JV, 100 means you're ready). From there it builds a day-by-day plan based on your weakest areas and your tryout date. As you complete sessions, the remaining plan regenerates from where you actually are, so it's not just a static calendar you make on day one and ignore.

There's also 50+ drills with coaching diagrams, a nutrition tab that pulls from real USDA food data (and uses your actual height/weight/age from onboarding to calculate targets), and an AI coach.

The coach was the hardest part. It used to show a spinner and dump a response. I rebuilt it so it streams token by token through SSE, with a blinking cursor. It reads your last 6 messages and knows how long the session has been so it doesn't repeat itself. Getting that working in Next.js took way longer than I thought.

The thing I'm most proud of is the roadmap engine. It's deterministic: takes your scores, sorts your gaps weakest-first, and builds a real plan toward your tryout date. Every time you finish a session it re-runs from your current scores. It actually moves.

To try it: on the login page, hit "Explore demo athlete." It loads my profile (Sansar Karki, incoming freshman, Varsity Readiness 70, biggest gap Speed and Stamina). TODAY shows what's up next, PLAN shows the full roadmap, TRAIN lets you open a session and go drill by drill, FUEL is nutrition, COACH you can ask anything like "what should I work on this week." You can also create an account and do the real onboarding if you want to put in your own info.

  • 1 devlog
  • 14h
Try project → See source code →
Open comments for this post

13h 55m 49s logged

VarFoot is an AI-powered football training PWA. You go through an onboarding assessment, it scores you across skill categories, builds you a personalized training roadmap, and an AI coach responds to you in real time based on your data.

I started with a full PWA rebuild, onboarding wizard, 5 tabs, the whole foundation. Since then I have been stacking features on top.

The big thing I just shipped is streaming AI coaching. Previously the coach would just spinner and dump a response. Now it uses SSE streaming through a Next.js route and renders the text chunk by chunk with a live blinking cursor, the same way ChatGPT types out responses. The coach also gets context from your last 6 messages and knows your session length so it stops making things up.

Nutrition is now personalized. I implemented Mifflin-St Jeor with an activity multiplier so calorie and macro targets are calculated from your actual height, weight, age, and activity level collected during onboarding instead of being hardcoded.

Onboarding now ends with an aha moment: a score ring reveals your overall level, your strongest skill, and what to focus on. Before it was just a done screen. I also added sessionStorage draft-saving so if you refresh mid-onboarding your progress is not lost.

Drills have a stopwatch mode for sprint work and a fill timer ring that builds toward your varsity benchmark on hold drills.

Gap analysis was redesigned as collapsible per-category accordions so you can drill into exactly where you are falling short.

The UI is framed as a phone shell on desktop so it always looks like a real mobile app regardless of screen size.

Still working on some edge cases in the roadmap logic and refining how the coach uses session context.

You can check it out at varfoot.vercel.app

Happy coding!

VarFoot is an AI-powered football training PWA. You go through an onboarding assessment, it scores you across skill categories, builds you a personalized training roadmap, and an AI coach responds to you in real time based on your data.

I started with a full PWA rebuild, onboarding wizard, 5 tabs, the whole foundation. Since then I have been stacking features on top.

The big thing I just shipped is streaming AI coaching. Previously the coach would just spinner and dump a response. Now it uses SSE streaming through a Next.js route and renders the text chunk by chunk with a live blinking cursor, the same way ChatGPT types out responses. The coach also gets context from your last 6 messages and knows your session length so it stops making things up.

Nutrition is now personalized. I implemented Mifflin-St Jeor with an activity multiplier so calorie and macro targets are calculated from your actual height, weight, age, and activity level collected during onboarding instead of being hardcoded.

Onboarding now ends with an aha moment: a score ring reveals your overall level, your strongest skill, and what to focus on. Before it was just a done screen. I also added sessionStorage draft-saving so if you refresh mid-onboarding your progress is not lost.

Drills have a stopwatch mode for sprint work and a fill timer ring that builds toward your varsity benchmark on hold drills.

Gap analysis was redesigned as collapsible per-category accordions so you can drill into exactly where you are falling short.

The UI is framed as a phone shell on desktop so it always looks like a real mobile app regardless of screen size.

Still working on some edge cases in the roadmap logic and refining how the coach uses session context.

You can check it out at varfoot.vercel.app

Happy coding!

Replying to @sansarkarki

0
2

Followers

Loading…