FieldDay Planner
Any sport. Any league. One planner.
A multi-sport league scheduling app that adapts its language and structure to your sport. Import rosters via CSV, customize your league's theme, and schedules stay in sync across multiple users.
Everything a league needs
Built for recreational leagues that want to spend less time on logistics and more time playing.
Any Sport, Custom Naming
Select your sport at setup and the entire app adapts — terminology, labels, and field names all match your game, whether it's softball, basketball, soccer, or anything else.
Auto-Schedule Generation
Automatically generates balanced round-robin schedules that distribute home/away games fairly across all teams in the league.
CSV Roster Import
Paste or upload a CSV file to bulk-import your team roster in seconds — no manual entry required.
Custom Themes
Personalize your league's look with custom color themes. Match your team colors or just make it your own.
Real-Time Sync
Powered by Supabase. Changes made by the league manager appear instantly for every team — no refresh required.
6-Character League Code
Share a short code and teams can join instantly. No accounts required for viewers, keeping the barrier to entry low.
Multi-Team Management
Add teams, set the number of weeks, and manage standings all from one dashboard. Everything updates in real time.
Persistent State
All league data is stored in a single AppState object synced to Postgres — no lost data if someone closes the browser.
Mobile-Friendly
Designed to work on any device. Managers and players can check the schedule from the sideline on their phone.
Simple by design
Choose your sport — the app adapts its naming and structure to match.
Import your roster from a CSV file or add teams manually.
App auto-generates a balanced round-robin schedule.
Pick a custom theme to match your league's colors.
Schedules stay in sync across multiple users in real time.
Need a custom scheduling tool?
We can build something like this — or something entirely different — tailored to your organization's needs.
Let's Talk