Skip to content

Mogul League / Multi-sport fantasy sports

One league across an entire sports calendar.

Mogul League lets friends and colleagues compete across multiple sports toward one season title. We turned that concept into a connected web and mobile product, with different ways to participate and one league structure to follow.

Mogul League public landing page in a desktop layout.
Mogul League’s public landing page, desktop view. This is not an interior application screen.

Different sports. One competition to follow.

A regular season can run for months. A playoff bracket changes round by round. A golf tournament has a short competition window. A weekly football pool asks members to make a new decision every week.

Those differences determine when members act, how they select teams or athletes, and how results become league points. Treating every sport as the same workflow would make the competition harder to understand.

We organized the product around leagues, seasons and events. Members can enter an event, participate in its particular format, and return to the overall standings. The league stays consistent; the way to compete does not have to.

Participation follows the format.

Draft-based competition, brackets and an NFL Margin Pool sit within the same league structure. Each needs its own instructions, decisions and timing.

Drafts need a live experience and a record.

Live draft rooms support the selection process, with automated picking and draft recaps. Members can participate as the draft happens and review their roster afterward.

A weekly pool needs a different rhythm.

In the NFL Margin Pool, members choose one NFL team each week and earn or lose points based on its winning or losing margin. A team cannot be reused. Weekly deadlines and pick history matter here, rather than a traditional drafted roster.

Make the standings explain the score.

A season total tells members where they stand. It does not, by itself, explain how they got there.

The leaderboard connects overall standings to event-level breakdowns. Members can see a sport’s score alongside the points it contributes to the league, with projected placement points communicating progress before an event is final.

Keeping raw sport scores separate from season points is essential. Different sports can contribute to one title without implying that their scoring systems are interchangeable.

Running the league is its own job.

Members need to see their teams, make their picks and follow results. Commissioners need to set up the competition and manage the rules. Those are different responsibilities, not simply different permissions on the same screen.

Dedicated commissioner tools cover league settings, event administration, draft configuration and scoring management. League-specific decisions live in the application, separate from routine member participation.

Shared rules. Interfaces suited to each platform.

The responsive web application uses React, TypeScript, Vite and Tailwind CSS. The mobile application uses React Native and Expo. Both connect to a shared Express API, backed by PostgreSQL and Drizzle ORM.

Competition data and scoring logic stay centralized. Navigation and presentation can suit each platform, whether a member is checking standings on a phone or a commissioner is working through settings on a larger screen.

Behind those interfaces, scheduled sports-data synchronization is separate from event-specific scoring logic. External results must be matched to the right sport, event, team and competition period before the league’s rules can turn them into standings.

Historical continuity matters as well. Team records can change while previously submitted picks remain valid. Preserving those picks and resolving their results consistently keeps the competition meaningful over time.

Mogul League public landing page in a narrow mobile layout.
The public landing page at a mobile width. This is a responsive website view, not a screenshot of the React Native application.

What we delivered

The work brought the core activities of a multi-sport league into a connected product.

  • Private league creation, member invitations and event configuration.
  • Draft rooms, automated picking, draft recaps and format-specific participation.
  • Event scores, projected placement points and overall season standings.
  • Dedicated tools for league settings, drafts, events and scoring administration.
  • Responsive web and React Native mobile clients connected to shared backend services.