Skip to main content

Full Stack Developer · 2025 · 4 months

Open Mat

A content and community platform for China's fastest-growing martial-arts agency — media, events, and membership under one roof.

Open Mat
95%
Mobile traffic share
<1s
TTFB target on China CDN
3
Integrated content surfaces (media / events / membership)
0
Third-party forum dependencies

// Problem

Open Mat was publishing fight content across WeChat, Xiaohongshu, and Douyin with no owned platform — losing audience data, monetisation leverage, and the ability to sell memberships directly. Running events (seminars, open-mat sessions, competitions) relied on manual spreadsheets and screenshot confirmations.

// Approach

I designed a unified web platform with three pillars: Media (articles + fight replays with Aliyun-OSS video delivery), Events (RSVP flow, capacity management, QR check-in), and Membership (Stripe + local WeChat Pay gateway). A Postgres + Prisma data model links every asset to the same athlete/event/club graph, so the team can slice analytics across channels. Built mobile-first because 95%+ of traffic lands on a phone.

Context

Open Mat is one of China's most-followed BJJ and grappling agencies. The media arm produces event coverage, athlete interviews, and competition replays; the community arm runs open-mat sessions and seminars around the country. The business needed a home base that the team actually owned.


What I built

A three-surface platform. The media CMS lets editors publish long-form articles with custom hero art and embedded fight clips. The events module handles the full lifecycle: publish → RSVP → capacity waitlist → QR ticket → door scan → post-event gallery. Membership ties it together: paid members unlock replay archives, early event access, and discounts, with Stripe handling Visa/Master and a WeChat Pay adapter for domestic flows.

Decisions worth calling out

Video sits on Aliyun OSS with edge caching inside mainland China — anything else would be unwatchable. I used Prisma with a carefully migrated schema to keep the database the single source of truth across surfaces, then added a lightweight job queue for email/Wechat notifications so the team never sends a manual RSVP confirmation. The CMS ships with a mobile editor because the team posts from events on their phones.

Outcome

Launched with the team's full back-catalogue migrated and the first three paid seminars selling out through the platform itself. The content team reports a real shift: they now publish *to* Open Mat first, then cross-post, instead of scattering across channels.

Published April 15, 2026

GET IN TOUCH

Interested in collaboration?

© 2026 Felix Yu
DESIGNED + CODED