Inspiration
Betting and fantasy apps bury the fun under dense tables, odds and deposit screens. The part people actually enjoy is simple: "Is he going over or under tonight?" We wanted that moment to feel as quick as a dating-app swipe and as tactile as ripping open a pack of trading cards. It's free to play with practice coins, and if you master a player, you earn a real collectible you can own and trade.
What it does
Sports Swipe turns live NFL and NBA player and game lines into collectible trading cards.
- Rip packs, swipe cards. Open foil packs and swipe right for Over or left for Under, or skip. Spring physics, haptics and sound make each card feel physical.
- Free coins, no cash value. A correct pick pays 2× your stake + 25 coins. You can also build parlays of 2 to 5 picks that pay 3×, 5×, 8× or 12×.
- Card tiers. Correct free calls level up each player's card: Base, Bronze (20), Silver (80), Gold (200) and Diamond (400).
- Diamond collectibles on Solana. Reach 400/400 on a player to mint a numbered Diamond edition you can sell on-chain. Your mastery stays on your profile.
- Compete with friends. 10-card head-to-head duels with the same frozen lines for both players, plus free weekly contests, friends, leagues and chat.
- AI Sports Analyst. Ask questions in plain English and get answers built from verified box scores, with charts and sources.
- Real results. Everything is graded automatically against official ESPN box scores.
How we used Gemini API, Solana and Tiger Data
Gemini API. Gemini (gemini-3-flash-preview) powers the AI Analyst. It turns a user's question, including follow-ups like "What about in the playoffs?", into a structured research plan. Our Rust backend validates the plan and computes every number from official game data. Gemini never writes SQL or invents statistics, so answers can't be hallucinated.
Solana. Earned Diamond cards are minted as numbered Metaplex Core assets on Solana Devnet. A sale is atomic: the buyer's SOL payment and the card transfer go through in one transaction that both sides sign, so either both happen or neither does. Users sign with Phantom or Solflare on the web. On the iPhone app, we built our own Ed25519 signer in Dart so sales work directly on the phone.
Tiger Data. A managed PostgreSQL database on Tiger Cloud is the single source of truth for the Rust API, the background worker and the Solana service. It stores users, picks, packs, lines, results, contests, social data, Diamond editions and sales. Idempotent writes mean a retry on a bad connection never double-charges or double-mints. It also let us export all of our in-person test data to CSV.
How we built it
- Backend: Rust (Axum + SQLx) for the API, ESPN ingestion, line generation and grading, plus a Node.js service for Solana.
- Lines: ESPN doesn't publish player props, so we set each line from a player's recent average, rounded to a half point so picks can never tie. Stats are stored as integers to avoid rounding errors.
- App: a single Flutter codebase for iPhone and web. Cards, packs and jerseys are drawn entirely in code, and swipes run on spring physics.
- Infrastructure: one Docker image deployed on Fly.io, backed by Tiger Cloud.
Challenges we ran into
- Generating fair player lines without any prop data from ESPN.
- Signing Solana transactions on iPhone, where wallet browser extensions don't exist.
- Keeping AI answers accurate by letting Gemini plan the query while Rust does the math.
- Preventing lost picks and duplicate cards when one phone was passed between many people at live demos.
Accomplishments that we're proud of
- A complete product: real data, packs, parlays, duels, contests, an AI analyst and on-chain collectibles.
- True atomic Solana sales that work natively on iPhone.
- An AI analyst that doesn't make up numbers.
- Real people used it in person, and every pick was stored in Tiger Cloud.
What we learned
- Feel is a feature: animation, sound and haptics changed how people reacted more than any single feature.
- Let the LLM plan and let code do the math.
- Real-world testing finds bugs no test plan covers.
What's next for Sports Swipe
- Smarter lines that weight recent games and account for the opponent.
- More sports: MLB, NHL and college football.
- Push notifications when picks settle.
- A Diamond card marketplace on Solana.
- An App Store release through TestFlight.
Built With
- cloud
- dart
- flutter
- postgresql
- rust
- tiger
- timescaledb