An AI-powered sports marketplace, from zero to $250K in 90 days.
Sports organizations run on fragmented admin tools while athletes have no central place to discover events, courts or community — two connected problems nobody was solving together.
Founder and product lead: I own strategy, research, UX/UI, the design system and go-to-market, and I oversee our team of developers — every screen on this page is my design, shipped under my direction.
Club sport runs on software that treats sport as admin work. I kept seeing the gap from the sideline — so I built the fix.
Organizations stitch together registration, scheduling, payments and communication from tools that were never designed for them. Athletes get the leftovers: no central place to find events, courts or community. Each side's problem makes the other's worse — disorganized clubs can't reach players, and disconnected players can't fill programs.
Midseason is the marketplace answer: one AI-powered platform connecting both sides across mobile and web. Marketplace, because the value compounds — every organization that joins makes the platform more useful to athletes, and vice versa.
Volleyball first, on purpose. A single sport keeps the cold-start problem winnable and the product opinionated — but every layer beneath it, from the design system to the data model, is architected for multi-sport expansion.
Every decision has two customers.
- Discovery — events, leagues, courts near them
- Profiles that get them seen and scouted
- Access — simple sign-up and payment
- Community around their sport
- Registration that runs itself
- Payments without the paper chase
- Insight into their leagues and members
- Reach — a pipeline of new athletes
Two audiences, two distinct surfaces, one product. Everything that follows — every feature, flow and tradeoff — was designed against both columns at once.
This is my company, so the credit line is simple: strategy, research, UX/UI, design system, payments design and go-to-market are mine, and I oversaw our team of developers through the build. Everything shown here was designed by me and shipped under my direction.
That's the point of this case study. Founder-of-the-product isn't a conflict of interest — it's the one context where a reviewer can see every layer of my range on a single artifact: the market call, the product strategy, the interface craft, the system underneath it, and the shipped React Native product.
Four constraints shaped everything.
No athletes without orgs, no orgs without athletes
The classic marketplace trap. It's why Midseason launched volleyball-first in specific regions rather than everything everywhere: density in one community beats thin coverage of ten. It's also why organizations came first — each org that onboards brings its athletes with it.
Some of the users are minors
Club sport includes kids, which makes messaging and profiles a safety design problem before they're a growth feature. Safeguarding shaped the communication model from the first wireframe — not retrofitted after an incident. The full decision is in deep dive 04.
Real money, real rules
A marketplace that moves registration fees is regulated infrastructure, not a widget. Building on Stripe bought compliance and trust, and priced in its constraints: their flows, their verification requirements, their rails. Deep dive 02 covers the tradeoff.
A lean team, one accountable owner
Every feature costs my design time and our developers’ engineering time from the same calendar. That constraint built the discipline this page keeps returning to: smallest thing that serves both sides, shipped, measured, then extended. It's also why the AI-native workflow below exists.
Finding your sport should feel like the sport.
Discovery is the athlete side's core promise — and the hardest thing to deliver on a young marketplace. A plain search box over early-stage inventory returns empty results, and empty results teach athletes to never come back.
The fashionable option was an AI chat assistant bolted on top of the app — great in a demo, hollow in daily use. The conservative option was classic filter-and-browse taxonomy, which works only when inventory is deep. The third option was quieter: put AI inside the surfaces athletes already understand.
We built intelligent search into the existing surfaces — search, profiles, dashboards — instead of shipping a chatbot. The cost: it demos less flashily and took longer than wrapping an off-the-shelf chat UI. The win: AI that personalizes results athletes were already asking for, invisible as a feature, useful as a behavior.
Intelligent search across events and organizations, plus map-based court and venue discovery — the physical places of the sport as a first-class surface. I also built a court map generator, so venues that exist nowhere online can exist on Midseason.
Anchoring discovery to the map was the cold-start counterpunch: courts and venues are real even before marketplace inventory is deep, so the app is useful on day one in a brand-new region.
AI that has to be discovered as a feature has already failed. Midseason's AI lives inside surfaces athletes already trust.
The marketplace isn't real until money moves.
Club sport money moves through e-transfers, cheques and spreadsheets. For organizations it's unpaid admin work; for parents and athletes it's friction and zero visibility. And for a marketplace, payments aren't a feature — they're the proof the model works.
The standard startup play is to launch free, build an audience, and add payments "later" — it's less build, less compliance, and less risk for an early-stage founder. The alternative was to make payments part of v1 and carry the full weight of marketplace payments compliance from day one.
Payments shipped in v1, built on Stripe. The cost was real: the heaviest engineering lift in the product, compliance obligations, and Stripe's constraints baked into my flows. But a sports platform without payments is a directory — and a marketplace thesis you can't test. Revenue is the only validation that doesn't lie.
End-to-end marketplace payments: registration checkout designed for the athlete-and-parent side, payment visibility for the organization side, sponsorship integrations, and the investor-facing financial model behind the pricing. Both sides of every transaction got a designed experience, not just a processor bolt-on.
$250K+ in transactions processed within 90 days of launch. That number is the payments UX doing its job: organizations trusted the rails enough to move their registration revenue onto a brand-new platform, run by clubs, paid by parents, in three regions.
Launching free would have been easier. It also would have proven nothing. $250K in 90 days is the design working.
Insight for people who don't read dashboards.
Club operators are coaches, parents and volunteers — not analysts. A platform that quietly accumulates registration, league and payment data gives them nothing unless it can answer their actual questions: how is my league doing, who's coming back, where's the money.
The default is the everything-dashboard: charts and tables for every metric, configurable by nobody who'll ever configure it. The bet I preferred: fewer, opinionated views — AI turning platform data into personalized insights per organization, at the risk of hiding raw data a power user might want.
Opinionated insights won. An operator running a league between a day job and a family doesn't want a BI tool; they want to be told what matters and what to do about it. The tradeoff is real — some flexibility sacrificed — but the design principle held: serve the operator you have, not the analyst you imagine.
Organization analytics dashboards and league analytics that turn platform data into personalized insight — registration, engagement and revenue readable at a glance by a non-technical operator, on the same design system as the athlete side.
Designing communication when some users are kids.
A sports community needs messaging and visible athlete profiles — and a youth-sport user base makes both a safeguarding problem before they're a growth feature. This is the design decision most social products get to ignore and a youth-sport platform absolutely cannot.
Open DMs are the growth-friendly default — every social loop gets faster when anyone can message anyone. The safeguarding alternative deliberately adds friction: structured, purpose-bound communication designed around the most vulnerable user rather than the median one.
Safeguarding won, and it wasn't close. Messaging is designed with guardrails as deliberate product decisions — communication scoped to the sport contexts it belongs in, not an open social graph. The cost is slower viral growth; the return is a platform parents can trust, which in youth sport is the growth strategy.
Scouting-oriented athlete profiles — built to get players seen for the right reasons, by the right audience — alongside messaging with safeguarding designed in from the first wireframe. Trust here is what lets the other three deep dives exist at all: nobody moves their club, their kids and their money onto a platform they don't trust.
Design for the most vulnerable user in the room and every other decision gets clearer.
One system, every sport.
The design system is mobile-first and token-driven — color, type and spacing as tokens, components built once and reused across the athlete app, the organization surfaces and the web platform.
The strategic part: it's architected to flex across sports and organization types. Volleyball is a theme, not a hard-coding. When Midseason expands to the next sport, the product doesn't get redesigned — it gets re-themed, and the multi-sport roadmap becomes a configuration problem instead of a rebuild. That's the same bet this system-of-tokens philosophy makes everywhere: spend once, flex forever.
Method, not buzzword.
Midseason ships at big-team speed with a lean team because the workflow is AI-native, not AI-flavored: a Figma-to-code pipeline and AI-assisted design and build process that compresses the distance between a concept and a validated, shippable screen. The loop looks like this:
Design
High-fidelity screens and flows in Figma, on the token system.
Validate
Pressure-test against both audiences before a line is written.
Generate
The Figma-to-code pipeline turns validated design into working React Native.
Refine
AI-assisted iteration on the real build — the craft pass happens in code.
Ship
To the live product, then the loop restarts on what the data says.
The payoff isn't that any single step is novel — it's the cycle time. Concept to validated build in days keeps a lean team's roadmap honest: ideas get tested against the product, not defended in a backlog.

01 Two-sided means everything ships twice
Every feature has an athlete version and an organization version, and the second one is never free. Building this as a founder taught me a scope discipline no team role ever did: the smallest thing that serves both sides, or it doesn't ship.
02 Payments-first was the right hard call
It was the heaviest lift in the product and I'd make the same call again faster. Usage can flatter you; revenue can't. The $250K wasn't just income — it was the only fully honest signal the marketplace thesis worked.
03 Constraints were the best design tool
Safeguarding, compliance, cold-start, one pair of hands — every constraint I resented made the product more focused. Designing for the most vulnerable user and the busiest operator answered questions taste alone couldn't.
04 A marketplace is operations, not just product
The screens are half the job. Onboarding organizations, supporting parents, moving real money — I underestimated how much of a marketplace lives outside the app, and I'd staff my own attention differently from day one knowing it.
Next: multi-sport expansion — on the architecture that was built for it from day one.
“Nathan has shown a great amount of care when it comes to our experience using Midseason. He quickly developed a deep understanding of how we operate as a league and business. He has done an incredible job transitioning us from our old paper ways to the impressive product he has created.”
“I registered 2 spring doubles teams today using Midseason. Super easy process! Love the app!”
The app is mint 👌🏼! This season is exponentially better because of it! Great work!
Built to grow with every sport it touches.
Midseason is live, processing real money, and just getting started. If you want the product, it's a tap away — if you want the person who built it, keep scrolling.
Let’s build
something together.
EMAIL ME
Want this level of thinking on your product? Reach out and talk it through.