Inspiration
Bar crawls are fun but chaotic, and managing them is stressful. We wanted a simple way to keep groups moving smoothly without chaperones, confusion, or bottlenecks at any stop.
CRAWL Operation
The app organizes participants into groups, guides them through the crawl, and dynamically adjusts their next stop using a load-balancing heuristic. Admins set the event and group counts, coordinators track group check-ins at each bar, and participants see only where they need to go next.
How we built it
We built three interfaces on a shared backend:
- Admin panel for event configuration
- Coordinator dashboard for check-ins
- Participant view for real-time updates The backend handles group assignments, live state, and routing logic. We used a web stack with a lightweight API layer, a MongoDB database to track check-ins and group states, and a simple front-end framework for each role-specific interface.
Challenges we ran into
Our biggest challenge was time. We spent a significant portion of the early phase on core design decisions, which reduced our implementation window, and had to manage both development speed and system robustness.
Accomplishments that we're proud of
A working system that keeps crawls smooth, can handle constant requests and updates, and an load balancing algorithm that keeps waiting time minimum for all.
What we learned
We learned a new language, TypeScript. Learned a lot about system design, especially under time crunch balancing time allocation for design and implementation.
What's next for CRAWL
Notify users via text messages with real-time updates. Analytics for event organizers, and a more sophisticated load balancing heuristic.
Log in or sign up for Devpost to join the conversation.