Engineering
How We Rebuilt Payments and Payouts for a Youth Sports Coaching Marketplace
We rebuilt the Stripe payment integration for a youth sports coaching marketplace so parents could pay reliably and coaches were paid correctly.
- Published
- Reading time
- 4 min
- Topic
- Engineering

On this page
Parents in the U.S. spent an average of $1,016 on their child’s primary sport in 2024. That is 46% more than in 2019, and spending on basketball more than doubled over the same period. Some of that money goes to private coaching and several marketplaces now connect families with coaches directly.
One platform we worked with connects young athletes with personal coaches, including former NBA, NFL, NHL, and MLB players. Parents subscribe to coaching sessions for their kids and coaches use the platform to build their own training business.
When the company brought us in, its payment system was failing. A Stripe integration handled parent subscriptions and coach payouts, but neither worked reliably. Parents couldn’t pay for sessions and coaches weren’t receiving the right amounts so users were leaving the platform.
We interviewed the founder and the platform’s users to work out how the money should move and then we rebuilt the payment logic from scratch. We also moved the platform from React to Next.js and started work on a refreshed interface.
The Starting Point
A coaching marketplace has two user groups that both depend on the payment system.
- Parents who pay a subscription for their child’s coaching sessions.
- Coaches who expect to be paid accurately and on time for the sessions they deliver.
Meanwhile, the company keeps a share of each payment to run the business. All of this ran through the Stripe integration, and it was failing in several places. Some subscription payments weren’t going through, which meant parents couldn’t pay for the sessions they wanted. Payout calculations were also wrong, and coaches weren’t receiving the amounts they were owed.
Parents and coaches had both put time and money into the platform so when it didn’t work, they got frustrated, and some of them left.
Working Out How the Money Should Move
We started by running through the entire payment flow to find where subscriptions and payouts were failing.
We could have patched each failure as we found it. Instead, we interviewed the founder and the platform’s users to define how the payment system should work. The interviews covered these questions.
- How much should coaches receive for their sessions?
- What percentage of each payment should the platform keep?
- How should subscription billing work for parents?
Those answers gave the team a clear definition of how the payment system should behave, allowing us to rebuild the payment logic from scratch against that definition.
Rebuilding Subscriptions, Payouts and Reconciliation
Subscription handling was the first fix, so that parents can now subscribe and pay for coaching sessions without the payment failing. We corrected the payout calculations next so that each coach now receives the right amount for the sessions they deliver. Finally, we also built reconciliation into the system that sets aside the correct share of each payment as the company’s revenue.
Moving From React to Next.js
The platform was originally built in React and rendered in the browser. We migrated it to Next.js and implemented server-side rendering, which sends search engines fully rendered pages. Google can process JavaScript, but it renders those pages in a separate step after crawling, and pages can wait in a queue before that happens. Google still recommends server-side rendering because it makes sites faster for users and crawlers.
A marketplace needs new parents and new coaches arriving all the time. Ranking in search is one way to bring in both without paying for every visit, so we moved to Next.js to help the platform rank better and attract more athletes and coaches organically.
The Results
Churn is down and engagement is up since the changes went live.
Parents can subscribe and pay for coaching sessions without technical problems and coaches receive accurate payments on time. The company’s relationships with parents and coaches have also improved. Some of the users who were frustrated with the platform before the fix now recommend it.
What to Define Before You Build Marketplace Payments
Most of the work on this project came down to business questions rather than code. If you run a marketplace or are building one, here’s what we would define before building or rebuilding a payment integration.
- Provider payouts. Decide how coaches or sellers are paid for each session or sale, whether as a fixed amount or a percentage, and what happens when a session is canceled or refunded.
- The platform’s share. Define the percentage the platform keeps for every payment type, including subscription renewals.
- Billing on the paying side. Parents need to know when they are charged and what they are paying for. Write down the billing schedule before anyone configures it in Stripe.
- Reconciliation. Each payment should be split between the provider and the platform in a way the company can check against its own records.
Work With Ghost Savvy
Ghost Savvy starts every build by working out what the business actually needs. On this project, that meant interviewing the founder and users about how money should move through the marketplace before we rebuilt the payment system. When the work is done, the code and the accounts belong to you, and your team can run the platform without us if you want.
If your platform’s payments or payouts aren’t working the way they should, tell us what you’re trying to solve. Send us a brief or a rough description of what isn’t working.
Share this insight

