Back to selected work

Case study | Web + mobile sports pools

Poolhouse

A cross-platform sports pool app for web and mobile, built around real-time scoring, private pools, validated picks, and live leaderboards.

Poolhouse pick entry interface shown on a mobile phone.
Role
Product build; cross-platform app and pool workflow design.
Stack
Expo, React Native, Supabase, web and mobile.
Formats
Survivor, squares, spread, and season-long pools.
Outcome
Multi-format pools with validated picks, live standings, and private group state.

A polished interface backed by rules-heavy state.

The mobile screenshot shows pick entry, but the stronger proof is the state model around formats, validation, private groups, live scoring, and standings.

  • Public product surface Cross-platform pool details, pick entry, and leaderboard-oriented flows.
  • System boundary Format rules, deadlines, pick validation, private pools, and realtime state.
  • Inspection path The mobile preview and architecture diagram connect pick entry to rules, validation, private pool state, scoring, and leaderboards.
  • Related product note The trusted-state note explains how validation, lock windows, scoring, standings, and private pool boundaries shape user trust.
  • Private detail protected The diagram explains product state without exposing private repository details.
Diagram of Poolhouse moving from pool rules to pick validation, private pool state, live scoring, and leaderboards.

Sports pools need clarity, speed, and trust.

Pool apps combine rules, deadlines, live events, private groups, and user trust. Poolhouse makes pick entry feel simple while its cross-platform system handles format-specific validation, scoring, leaderboards, and private pool state.

Multiple pool formats on one cross-platform system.

Format support

Survivor, squares, spread, and season-long pools each keep distinct rules, entry flows, deadlines, and scoring expectations.

Live scoring

Real-time scoring and live leaderboards keep standings current and legible across web and mobile views.

Pick validation

Validation protects pool integrity by stopping invalid, late, or format-incompatible picks before submission.

Private pool workflows

Supabase-backed private pools keep group and membership state consistent across devices.

Make a rules-heavy product feel simple without hiding the rules.

Validation before submission

Pick flows prevent invalid, late, or format-incompatible choices before they can damage trust in a private pool.

Readable live state

Scoring stays current while standings, deadlines, and unresolved games remain easy to scan.

Format boundaries

Four pool formats share one product shell while keeping rules and status language specific to each format.

Protected detail

Public proof excludes repository details, invite codes, member data, operational logs, and account-specific configuration.

A polished app surface backed by real product logic.

Poolhouse shows cross-platform product execution beyond the visible interface. Survivor, squares, spread, and season-long pools share one coherent shell while rules, deadlines, picks, scoring, and standings stay specific to each format.