OpenCourt
Community & coordination
Find a game.
Fill the spot.
Keep playing.
A volleyball platform that connects local players with teams who need a sub. Built around the small decisions that turn an opening into a game.

Discover
Nearby openings, indoors or on the beach.
Join
Find a game that fits how you play.
Coordinate
Connect with the captain before game time.
A closer look at the experience
Made for the people
who keep the
game going.
A nearby opening. A team that needs you. A reason to get back on the court.
Promotional previews · Illustrative UI
The current web pilot and real app screens are explored below.
- My role
- Independent product design & development
- Built for
- Recreational volleyball players and team captains
- Tools
- Next.js · TypeScript · Supabase · Google Maps · Resend
The problem
behind the product.
A missing player can derail a game. Captains need someone who fits the level, position, location, and time; players need a way to find that opportunity beyond scattered group messages.
The approach
Connect the whole journey: build a player profile, discover a nearby opening, join or apply, coordinate with the captain, and keep track of the game. The interface is designed around the phone someone already has in their hand.
A few decisions
that shaped it.
01Match on the things that matter
Use playing level, format, positions, and travel radius to make discovery more relevant. Guided onboarding turns those preferences into a usable profile.
02Give captains control
Support both approval-required and instant-join openings. Handle withdrawals, cancellations, and reopening so the workflow survives changes to the roster.
03Build for coordination and trust
Keep schedules and conversations alongside the opening. Attendance confirmation, feedback, blocking, and reporting support a pilot with real people.
The product story
More playing.
Less coordinating.
Scheduling and conversations, shown through promotional concept previews.
Swipe through the previews. Tap one for a closer look.
From idea to interface.
Real product screens. Select an image for a closer look.
AI helps me move.
Judgment sets the direction.
I use AI-assisted development to move between product ideas, interface iterations, and implementation. My responsibility is defining the user journey, making the tradeoffs, and checking how the pieces behave together—from onboarding to roster changes.
Where it is.
Where it goes next.
OpenCourt is running as a mobile-first St. Louis pilot. The web application supports onboarding, list and map discovery, posting, applications and approvals, schedules, conversations, and game reminders. The next step is learning how those pieces work together in regular local use.
What’s next
Keep learning from the local pilot and refine the path from sharing an opening to filling it. Native mobile clients are planned; they are not part of the current web release.
Courtside HD
Start a conversation
Good work starts
with a good question.
I’m interested in teams and people turning real problems into useful products. If that’s the work you’re doing, I’d like to hear about it.









