Skip to content
Rich Kitibwa.

Bench Sports Media · Digital media · Video streaming

Bench

Building a sports streaming product across mobile, web and payments.

My role
Software engineer across web, mobile, streaming and payments
Status
In production · 2026 – present
Areas
Software & Product Engineering, Mobile & Web Applications
Stack
TypeScript · Next.js · React Native · Expo · Mux
Bench home page: 'Get out of the stands. Get on the bench.'
benchsports.com: stream, monetise and own your sports content.

The problem

Sports teams, leagues and independent creators need a way to reach fans directly and earn from their content without depending on broadcasters or general-purpose platforms.

That requires reliable live and on-demand video, payments that route money to many creators, and apps on every device fans use.

Context

Bench is built by a distributed team. I work across the web app, the mobile app, streaming and payments, and own the features I build from design to release.

The solution

A monorepo containing a Next.js web app, an Expo/React Native mobile app, a Vue admin dashboard and a realtime backend, with Mux for video, Stripe Connect for creator payouts and Clerk for authentication.

Architecture

Platform overview
  1. 01

    Fans & creators

    Web, iOS and Android

  2. 02

    Next.js web · Expo mobile

    Shared TypeScript packages

  3. 03

    Realtime backend

    Live data, server functions, auth via Clerk

  4. 04

    Mux

    Live streams, uploads, playback

  5. 05

    Stripe Connect

    Subscriptions, PPV, tips, creator payouts

What I did

Monetisation (implemented)

  • Built the pricing and card-driven checkout flow and paywall UI.
  • Implemented creator access controls and the pay-per-view backend; added subscriber and PPV monetisation controls.
  • Fixed and refined Stripe Connect flows and channel switching.

Live streaming & video

  • Improved live streaming and the viewer experience, including in-app stream preview and one stream key per channel.
  • Added live comments, viewer counts, a live chat feed and tips.
  • Fixed Mux upload publishing, video sizing across devices and shorts classification.

Mobile app & release

  • Built out the Expo/React Native mobile app, fixed live streams ending early on mobile and kept the app usable when backend queries fail.
  • Handled App Store and Google Play requirements: Sign in with Apple, account deletion for Play review, and release preparation.

Accounts & creator onboarding

  • Built creator channel onboarding with unique channel names, forgot-password, and Google sign-in on web.
  • Improved mobile responsiveness, navigation and the post-login flow; fixed recommendations.

Engineering decisions

Stripe Connect for creator payouts
A marketplace where many creators get paid needs connected accounts, not a single merchant. Connect handles onboarding, compliance and payouts per creator.
Degrade gracefully on mobile
When a backend query fails, the mobile app keeps working instead of crashing. On spotty mobile networks, resilience matters more than perfection.

Challenges

Live streams ending early on mobile
Diagnosed and fixed premature stream termination in the mobile app while adding the live chat feed and tipping.
App store review requirements
Store policies drove real engineering work: in-app account deletion for Google Play and Sign in with Apple for the App Store.

Outcomes

  • Live at benchsports.com with subscriptions, pay-per-view, tips and sponsorships.
  • Mobile app built with live streaming, live chat and tipping, and prepared for App Store and Google Play review.

Screens

Bench home page hero with Watch now and Start earning buttons
Public home page: subscriptions, PPV, tips and sponsorships in one place.

Technologies

  • TypeScript
  • Next.js
  • React Native
  • Expo
  • Mux
  • Stripe Connect
  • Clerk
  • Vue
  • Vercel

What I took away

In consumer products, payments and app-store policy are as much a part of engineering as features.

References

Let's connect

Have something to build or fix? Let's talk.

Whether you're building a product, improving an existing system or exploring an idea that needs someone who can work across disciplines, I'd be glad to hear from you. Open to new roles, projects and collaborations, remote or international.