← Zakázky

Full-Stack Developer for Sports Coaching PWA

Rozpočet: $6500.0 FIXED / ⭐ 0.00 (0) United States

next.js, stripe

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.
Otevřít na Upwork