Inspiration
Every week, people organize amateur football matches through endless group chats: last-minute dropouts, "we're one short", nobody sure who plays where. We wanted one app that handles the whole thing, and makes the match itself more fun.
What it does
A la cancha lets players create clubs, schedule matches and invite friends by link. Organizers build the lineup on a pitch view for the chosen format. After the match, players vote on each other. Those votes update player stats and unlock medals. Players can also spend virtual currency on cosmetic skins for their pitch and player cards, and get push notifications for invitations and results.
How we built it
- App: Expo and React Native for Android, with a separate web build.
- Backend: Express and MongoDB, with background workers for push delivery. is never trusted to the client. A verified RevenueCat webhook credits the currency on the server, so purchases are safe against tampering and repeats.
- Quality: automated tests in both repos and SonarQube quality gates that fail the CI pipeline when they go red.
- Delivery: GitLab CI builds signed Android bundles and uploads them to Google Play automatically.
Challenges we ran into
- Getting push notifications to actually arrive. The code was fine, the Firebase credentials were the missing piece.
- Keeping web and native behavior consistent with platform-specific forks.
- Reaching Google Play production. New personal accounts must run a closed test with 12 testers for 14 days before applying.
Accomplishments that we're proud of
- A complete loop from match creation to votes, stats and medals.
- A purchase flow where the server, not the phone, is the source of truth.
- Shipping a real Play Store release with a fully automated pipeline.
What we learned
Store rules and account requirements take as much planning as the code. Server-side verification is what makes in-app purchases trustworthy.
What's next
More countries beyond Uruguay and Argentina, and an iOS version.
Log in or sign up for Devpost to join the conversation.