Fantasy crypto trading powered by real-time market data. Draft coins. Manage your portfolio. Compete. Designed and built end-to-end as a solo Product Design Engineer.




Figma · React Native · Expo · Supabase · Claude Code · GitHub · Google AdMob · Google Cloud
Product strategy, UX/UI design, design system, full-stack mobile application
Learning to trade crypto means either practicing alone on a simulator with no stakes, or risking real money you can't afford to lose. No middle ground exists.
CoinDuel bridges that gap — making crypto accessible through competition and strategy. Real market data, no real money. Your skill is the only thing at stake.
Fantasy sports is a proven model — competitive, social, retention-driven. Existing crypto apps focus on solo trading. CoinDuel applies the fantasy format to crypto.
Monetized through a freemium credit system and ad revenue
Head-to-head, leagues (10-50 players), daily and weekly contests. Same core mechanics, different duration and strategy.
Spot trade coins using real-time market data. Boost multipliers amplify potential gains at a cost. Pick a direction — pump or dump.
Random draft balanced by a 6-10 token budget. Token cost is determined by market cap, ranging from 2 to 5 per coin.
Players start with 100 credits. 1 credit = $100 in simulated buying power. Profits convert to points at the end of each contest.
Every match adjusts a player's ELO. Separate ratings for 1v1 Daily, 1v1 Weekly, League Daily, and League Weekly. Beat higher-ranked players, climb faster. Drives matchmaking and powers the global leaderboard. Seven tiers from Bronze to Legend.

Total market cap hero chart with timeframe toggles. Top 50 coins sorted by gainers, losers, or market cap. Search, filter, and bookmark — all above the fold. The home screen is a data dashboard, not a menu.

Auto-zoom score chart tracks you against your opponent in real time. Wallet balance, score, coin positions, and swap action — all on one screen. The countdown timer creates urgency without noise.

Average cost, current value, percent change, and point value — the math is done for you. Trade or Boost from the same screen. No navigation required to take action on a position.

Rankings filtered by format, mode, and season. Top 3 players highlighted with avatar cards. Your rank pinned at the bottom so you always see where you stand relative to the best.

Up to 50 players in a single contest. Score comparison chart, live standings table, and your full portfolio. Player tabs let you switch between your view and your competitors'.
Coin list items with sparkline charts, contest cards with live countdowns, rank cards with tier badges, position detail rows, wallet/score stat blocks, standings tables, format pills (1V1, LGE, PVT).
Dropdown filters, search bars, dual-action button pairs reused across contexts. Contextual action button in the top right of every screen. Back navigation always returns to the tab root.
Black, white, green. Gray containers. Minimal palette, consistent type hierarchy. No gradients, no shadows, no 3D. Flat, calm, data-forward.
Top 50 coins. Real-time prices, charts, sorting. Bookmarks top right.
Rankings by format — daily, weekly, season. Friends list top right.
Central hub. Create, track, review. Enlarged active state. Rules top right.
DMs and league group chats. Notifications top right.
Profile, settings, subscription. Settings top right.
Single codebase for iOS and Android. Expo Router for file-based navigation. Zustand for state management with persist middleware.
Handles authentication, player profiles, ELO ratings, contest data, and real-time score tracking. Row-level security for data isolation.
Real-time coin pricing, market data, and chart data. Cached locally with rate-limit handling for performance.
Banner and rewarded ad placements. Ad revenue as the primary free-tier monetization model.
Premium subscription management. Handles upgrade flows and billing for the paid tier.
Backend services, edge functions, and scheduled jobs for price updates and tier calculations.
Define the problem, market positioning, game mechanics, scoring formula, and monetization before touching any tools.
Build the component library, design tokens, and screen patterns in Figma. Every decision documented with rationale.
Claude Code receives well-defined specs with correct semantics. MCP connects Figma directly to production. No drift between design and code.
Test, iterate, deploy. The design thinking done upfront is why a solo build ships in weeks, not months.





Fantasy crypto trading powered by real-time market data. Draft coins, compete with friends, climb the leaderboard.