Otis - The Ultimate Pokemon VGC Companion App
Inspiration
Pokemon VGC (Video Game Championships) has exploded in popularity over the past 3-4 years, with tournaments breaking attendance records month after month and top creators like Wolfe Glick averaging millions of views per video. Yet despite this massive growth, the fan experience remained frustratingly fragmented.
As a VGC fan myself, I struggled to follow live events and track my favorite players. Information was scattered across Twitter threads, basic text-based match lists, and official streams with no unified experience. The esport was maturing rapidly, but the tools for fans weren't keeping pace. I realized there was a massive opportunity to create something that would elevate VGC to match other professional esports while maintaining Pokemon's fun and approachable identity.
What it does
Otis is the comprehensive companion app for Pokemon VGC fans, providing a dynamic live event experience and the most complete historical database of VGC dating back to 2009. Available on both iOS and Android, Otis transforms how fans engage with competitive Pokemon through:
- Live Event Coverage: Real-time updates, push notifications for new rounds and match results, live streaming links, and tournament usage statistics
- Player & Pokemon Following: Favorite players and Pokemon to receive instant updates when they compete, see match results, and access complete historical records
- Comprehensive Database: The most complete catalog of players, Pokemon usage, and tournament results in VGC history (15+ years of data)
- Premium "Otis Champion" Features: Powered by RevenueCat, offering player verification, profile management, and advanced live features including iOS Live Activities
How I built it
Otis is a full-stack application built with the best technologies to go from 0 to production:
- Frontend: React Native with Expo and TypeScript for cross-platform mobile development
- Backend: Django with Strawberry GraphQL framework for a GraphQL-first API
- Database: PlanetScale for scalable, serverless MySQL
- Infrastructure: Deployed on Fly.io with Expo Application Services for native builds
- Monetization: RevenueCat for subscription management and premium features
The RevenueCat integration was crucial for implementing the "Otis Champion" tier. I use RevenueCat's webhooks and API to sync subscription data with our Django backend, enabling premium features like player verification and profile management. This creates a sustainable revenue model while keeping core features free for the community.
The data pipeline uses Scrapy with Celery and Django to automatically scrape and update tournament data, making the system largely "hands-off" during live events while still providing real-time updates.
Challenges I ran into
The biggest challenge was building a comprehensive and reliable data catalog for 15+ years of VGC history. Tournament data was scattered across various sources with inconsistent formats. I solved this by:
- Developing a robust scraping infrastructure using Scrapy that could handle multiple data sources
- Implementing Celery for reliable background processing and data updates
- Creating a flexible data model that could accommodate historical inconsistencies while maintaining data integrity
- Building automated systems that could handle live tournament updates without manual intervention
Another challenge was striking the right balance between Pokemon's playful brand identity and the professional esports experience fans expect. I worked closely with the VGC community to understand their needs, resulting in features like multi-language support and advanced search capabilities.
Accomplishments that I'm proud of
- Reached 1,000+ users with zero marketing spend - The app went semi-viral in the VGC community twice
- Successfully launched for the 2025 World Championships - Hit my aggressive deadline with 750 beta signups and nearly 1,000 downloads during the three-day event
- Built the most comprehensive VGC database available - 15+ years of tournament data accessible in seconds
- Created a sustainable business model - RevenueCat integration enables premium features while keeping core functionality free
- Community validation - The "most used 6 Pokemon" feature for players became a viral sensation in the community, proving we understand what fans want
What I learned
This project taught me the power of building for a passionate niche community. By deeply understanding VGC fans' pain points and working directly with community members, I created features that resonated. I learned that even in established ecosystems like Pokemon, there's room for innovation when you identify genuine user needs.
Technically, I gained valuable experience in building real-time data pipelines, managing cross-platform mobile deployments, and implementing sustainable monetization through RevenueCat. The integration showed me how modern subscription infrastructure can enable indie developers to build professional-grade apps.
What's next for Otis
- Web Platform Launch: Expanding beyond mobile to reach more fans
- Enhanced Social Features: Sharing capabilities and community-driven content
- Player Verification System: Leveraging RevenueCat's premium tier to let verified players manage their own profiles
- Live Activities: iOS Live Activities for real-time match tracking during tournaments
- Global Expansion: Enhanced multi-language support for the growing international VGC community
- Advanced Analytics: Premium data insights for competitive players and content creators
My vision is for Otis to become the essential companion for every VGC fan and player, creating a sustainable platform that grows alongside this rapidly expanding esport.
Log in or sign up for Devpost to join the conversation.