Agora — Gaming Social
The social network where gamers build clans, compete in tournaments, and level up. A single codebase that ships to iOS, Android, and web with a real economy, gamification, and community.

Clans · Tournaments · Economy · Community




Project Overview
Agora is a social and competition platform built for gaming communities: players form clans, post to a social feed, challenge each other in tournaments, and progress through a complete gamification system (missions, rewards, levels, and cosmetics).
Competition is the heart of the product: double-elimination bracket tournaments with automatic advancement, duels between friends, and a reward system that recognizes real activity within the community.
On top of that core sits a full economy: chests, a shop, coins, a Prime subscription, and in-app purchases (IAP) handled through RevenueCat, plus avatar frames, emblems, and titles that players equip on their profile.
Under the hood: a FastAPI backend over PostgreSQL with an end-to-end typed OpenAPI client, an Ionic 8 + Angular app packaged with Capacitor for iOS and Android from a single codebase, a dedicated admin dashboard, push via OneSignal, and email via Resend. Backend on Railway, frontend on Cloudflare Pages.
Technical Challenges & Solutions
Challenge: Shipping one native app to both iOS and Android without duplicating code or maintaining two separate codebases, while keeping performance and access to device capabilities.
Solution: I built the app with Ionic 8 + Angular packaged via Capacitor: a single codebase that compiles to native binaries for both stores, with push (OneSignal), purchases (RevenueCat), and assets managed from one source. The web shares the same bundle through Cloudflare Pages.
Challenge: Designing a double-elimination bracket engine that advances on its own as results are reported, with no gaps or inconsistent states.
Solution: I modeled the bracket in the backend with automatic advancement and enums for every state (no loose strings), so each result propagates to the next matchup deterministically and auditably. Tournament state is always consistent.
Challenge: Integrating a real-money economy (IAP, Prime subscription, chests) while keeping the app-to-backend contract safe from silent errors.
Solution: I centralized monetization in RevenueCat and generated the frontend client from the backend's OpenAPI schema with typed Pydantic models. An end-to-end typed contract makes any mismatch fail at build time, not in production in front of a real purchase.
Project Details
Client
Agora Gaming
Visit Website
agoraclan.comTimeline
Active development · 2026
My Role
Full Stack Developer & Tech Lead
Technologies Used
Key Features

Social feed
Posts, comments, and native GIFs. The community wall where clans find teammates and share their day-to-day.

Arena & tournaments
Double-elimination brackets with automatic advancement, friend duels, and ranking. Competition is the core of the product.

Shop & economy
Chests, coins, a Prime subscription, and real IAP handled with RevenueCat. A full economy that rewards activity.

Profile & cosmetics
Equippable avatar frames, emblems, and titles. Every player builds an identity and shows it off on their public profile.

Progression & missions
Daily missions, levels, and rewards that drive retention. Gamification turns recurring use into tangible progress.

Clans & community
Clan creation and management, roles, and events. Agora brings players together around the games they love.
Results & Impact
Platforms — iOS, Android, and web from a single codebase
Double-elimination brackets with automatic advancement
A real economy: chests, shop, and Prime via RevenueCat
Product Thesis
A gaming community is not a list of users. It is a clan that competes, progresses, and comes back every day.
— Agora // Product Thesis