CH
The main bracket view for In-Season Challenge

Professional · 2026 — Ongoing

View live

NASCAR In-Season Challenge

ReactViteTypeScriptContext APINode.jsExpressNx

NASCAR In-Season Challenge is a bracket-style fantasy game within the NASCAR ecosystem where users pick which out of 32 drivers will make it farthest between 5 Cup Series races. It includes a full leagues system, global leaderboards, and DraftKings sportsbook integration for eligible users, alongside three distinct social sharing flows that allow users to share their bracket picks, leagues, or the game across platforms.

I built the In-Season Challenge from scratch alongside another engineer as the fourth new product in the NASCAR ecosystem, roughly a year after the monorepo, shared component library, theming system, and auth package were established during the Fantasy Live rewrite. That timing made a real difference, this is the clearest example I have of how getting the ecosystem-level decisions right early pays off on every product that follows. The dependency guidelines, code style standards, and shared infrastructure were mature enough that the ramp up from zero to a working product was significantly smoother than it had been for the products that came before it.

The technical stack is React 18, TypeScript, and Vite on the frontend with Context API for state management. Alongside the frontend I built an Express and Node.js SSR server specifically to handle dynamic metadata injection for social sharing. Without server-side rendering, open graph tags for user-specific bracket shares would have been static and unable to reflect the actual picks or leagues being shared. The DraftKings integration, similar to the other NASCAR products, is gated behind a custom geolocation hook that determines whether a user is in a betting-eligible state before surfacing the sportsbook features.

This modal shows side-by-side driver stats for the selected matchup.
You can view another users bracket after the game locks.
Exterior leagues page with a list of leagues you are a member of and a searchable and paginated list of all leagues.
Global leaderboard list, showing your own bracket highlighted at the top and then all brackets starting from highest ranked to lowest paginated below.
The center of the bracket page, showing a users winner choice, tiebreaker answer, and DraftKings odds where available.
The mobile bracket view, showing the mobile navigation on the left of the screen for easy movement across the bracket at smaller viewports.

Next project

PGA Perfect 30