Full-Stack Developer for Sports Coaching PWA

Posted 5 days ago

Worldwide

Summary

ABOUT THE PROJECT Coach Command is a Progressive Web App that gives sports coaches a complete practice system: a drill library, practice-plan and skill-ladder builders, a hands-free "Live Mode" that runs a practice on a tablet on the field, an import tool that pulls drills in from links/photos/files, and the heart of the product, a development loop. A coach assigns work, an athlete does it and marks it done, the coach tracks each athlete's progress up a skill ladder, and the app uses that history to suggest the next step. It is built to be the coach's daily habit. The brand is the coach's; we power it invisibly. The core of this build is that development loop and the data it generates. Every time an athlete completes a drill or advances a rung, the app captures that as clean event data. That data is the product's most valuable asset, so logging it correctly from day one is a first-class requirement, not an afterthought. This is a founder-led product with a fully documented architecture. You are NOT designing the product or the database from scratch. There is a canonical schema, a design system, and detailed feature specs. Your job is to build it cleanly and to extend the existing structure without redesigning it. The founder is non-technical and maintains the code between sessions using AI tools (Cursor), so clear, plainly commented code is mandatory. TECH STACK (confirmed, no substitutions) - Frontend: Next.js (App Router) + React, built as an installable PWA, with Tailwind CSS - Backend: Supabase (Postgres, Auth, Storage, Row-Level Security, Edge Functions) - Payments: Stripe (subscriptions) - Hosting: Vercel - AI-assisted coding: Cursor (you use it daily) WHAT ALREADY EXISTS (you build from these, you do not invent them) - A canonical data-model / schema doc (tables, enums, RLS rules) and a controlled-vocabulary seed list - Detailed feature specs for Live Mode, the skill-ladder system, homework, and the import system - A locked design system (colors, fonts, icons), a finished home-screen mockup, and a working Live-- Mode timer mockup to match - Pre-built, validated drill/plan/ladder content for the launch sport (loads as data) WHAT YOU WILL BUILD (first-version scope) 1. Schema foundation: stand up the documented Postgres schema in Supabase (solo AND club accounts, controlled-vocabulary lookup tables, drills/plans/ladders, the resource library), with a multi-tenant organization_id layer, a version column, and an append-only events table, all from day one. RLS enforced at the database level. 2. Auth and account model: email/password signup, role/account types as data, RLS so a coach only ever sees their own (or their club's) content. 3. Drill entry plus AI auto-fill: an under-30-second capture form; AI fills structured tags constrained to lookup-table values (never free-text); blank beats wrong. 4. Drill and Resource Library: search, favorites, a unified media library (photos/video links/diagrams stored once and referenced). Log searches that return zero results (this is un-backfillable product data). 5. Practice-plan and skill-ladder builder: one object with a format flag; drag-to-order; per-plan duration overrides. 6. Live Mode: the hands-free practice runner. Must work offline (service-worker caching, screen wake-lock, background audio) and log run events (start/skip/extend/complete) to the events table, syncing on reconnect. 7. Player-development tracker: a per-player progress overlay on the skill ladder. Tap a rung to advance its state (not started, working, mastered), with a computed progress meter. This is the loop's payoff and a perfect example of the extend-don't-redesign work this role is about. 8. Import: bring drills in from a pasted link, a shared post, an uploaded photo/PDF/DOCX, or a fixed-column club CSV template, into a staging-then-confirm flow (nothing enters the library unconfirmed). 9. Homework: assign existing content to players, player taps done, coach taps a positive acknowledgment; parents see read-only. 10. Branded PDF export ("Powered by Coach Command") plus a home-screen launcher built to match the provided mockup. 11. Stripe subscription checkout that activates a paid account, plus cost/abuse guards (rate limits, spend caps, signed URLs for uploads, no unauthenticated AI endpoints). DELIBERATELY NOT IN THIS BUILD (do not quote these): the marketplace buy/sell UI, full multi-coach club admin (seat-management UI), the COPPA parental-consent subsystem, and streaks/points/leaderboards. The schema reserves room for them; we are not building them now. One hard requirement that stays in from line one: no data is ever collected FROM a child. Coaches enter everything, there are no open free-text fields for minors, and under-13 routes through a parent. This privacy-by-design model is non-negotiable. WHAT I NEED FROM YOU - Proven Next.js App Router and Supabase experience, including Row-Level Security for multiple roles/tenants - Comfortable designing a clean, append-only events/telemetry schema and capturing events without slowing the user down - Comfortable building an offline-capable PWA (service workers, wake-lock, sync-on-reconnect) Experience with document/image parsing pipelines and queue-based background workers (for import) - You can take a finished mockup and reproduce it faithfully (spacing, color, behavior), not "your interpretation" - You extend an existing schema and follow the spec's precedence rules when documents disagree - Stripe subscription experience - Active Cursor user who writes plain-English code comments - Solo developer or very small team. No agencies, no subcontracting. HOW YOU WORK (this matters as much as the skills) - Plan before you code. For anything non-trivial, you write a short plan first and confirm it with me before building. - Surgical, additive edits only. You change only what is necessary, you do not "improve" working code, and new features go on as additive migrations. - Keep it simple. You prefer 100 clear lines to 1000 clever ones. Nothing speculative. - Goal-driven. You work to clear success criteria and verify on a real phone before calling something done. HOW WE WILL WORK TOGETHER - Fixed price, paid by milestone through Upwork escrow. I fund one milestone at a time; payment releases when the milestone is delivered and accepted. - We will start with a small paid first milestone before committing to the full scope. - All accounts (Supabase, Stripe, GitHub repo, hosting) stay under my ownership. You work as an invited collaborator. I own all code; it transfers on request. - Every file must include plain-English comments. Non-negotiable. - I have already done all discovery, scoping, and design. I will not pay for planning or "scoping" time. - Expect a short async update every couple of days and a brief weekly check-in. Please keep a few hours of timezone overlap with me. TO APPLY: answer the screening questions below. Generic proposals that do not answer them will be declined without a reply.

  • $6,500.00

    Fixed-price
  • Expert
    Experience Level
  • Remote Job
  • Complex project
    Project Type
  • Contract-to-hire
    This job has the potential to turn into a full time role
Skills and Expertise
Mandatory skills
Next.js
Vercel
Stripe
cursor
Activity on this job
  • Proposals:20 to 50
  • Last viewed by client:yesterday
  • Interviewing:
    5
  • Invites sent:
    4
  • Unanswered invites:
    1
About the client
Member since May 31, 2026
  • United States
    5:25 PM
  • Sports & Recreation
    Individual client

Explore similar jobs on Upwork

Software DeveloperHourly‐ Posted 7 months ago
ASP.NET MVC
Django
Python
AngularJS
JavaScript
jQuery
WordPress
Google Chrome Extension
React
CRM Development
Microsoft Dynamics 365
Microsoft Dynamics CRM
Microsoft Dynamics Development
Microsoft PowerApps
Single Sign-On
Three.js
JavaScript
WordPress
AR Plugin
WooCommerce
3D Modeling

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo