Inspiration
I wanted a fast, low-friction way to find people to play with. Show up, join a game, and go. I built PickUp UCF to do just that at UCF.
What it does
Students can: Create sessions with date, time, location, sport, and capacity Find sessions by sport Join sessions and chat in real time View member lists and host details Edit profiles Built with React Native/Expo and Supabase for auth, data, and messaging.
How we built it
Started with auth via Supabase. Built session CRUD with PostgreSQL and RLS. Added a feed, date/time pickers, capacity controls, and profile editing. Wired real-time chat with Subscriptions. Polished the UI and improved contrast and placeholders.
Challenges we ran into
The biggest constraint was time, which left little margin for debugging or scope creep. UI issues were constant: placeholder text too light, layout shifting, and inconsistent spacing across screens. Debugging profile creation and session joining required extra hours to ensure data was saved correctly. Database foreign key errors occasionally caused crashes. Mixed results with some libraries required reworking a few features. Overall, balancing functionality with polish under a deadline was the main challenge.
Accomplishments that we're proud of
A working mobile app with authentication, sessions, and chat. Real-time chat with live updates. A smooth UI that works on iOS. Users can create and join sessions end-to-end. Database rules that keep data consistent.
What we learned
Expo Router stack navigation Supabase RLS policies Trigger functions for data consistency Database design with proper relationships and constraints
What's next for PickUp UCF
Push notifications Location permission and maps Search Attendance tracking
Built With
- chatgpt
- expo.io
- github
- postgresql
- react-native
- supabase
- typescript
- visual-studio-code

Log in or sign up for Devpost to join the conversation.