CombatSense AI
Blog
Blog/Technology

I Built an AI Boxing App in Public. Here Is Everything I Learned.

May 6, 2026·8 min read·CombatSense AI

Building in Public Is the Best Marketing Strategy Nobody Talks About

When we started building CombatSense AI, we made a decision that felt uncomfortable at the time: share everything. The technical stack, the failures, the pivots, the metrics. All of it.

That decision turned out to be the best marketing choice we made.

This post is the honest account of what we built, how we built it, and what we would do differently.

The Problem We Were Solving

Boxing coaching is expensive and inaccessible. A good coach charges $80–$200 per hour. Most people training in boxing — whether for fitness, competition, or self-defense — cannot afford consistent professional coaching.

The question we asked: can AI provide meaningful performance feedback from a smartphone video?

The answer, after 18 months of development, is yes — with important caveats.

The Technical Stack

We built on three core technologies:

MediaPipe Pose for real-time body landmark detection. This is Google’s open-source framework that identifies 33 body keypoints from video. It runs on CPU, which means it works on standard smartphones without specialized hardware. FastAPI + Celery + Redis for the backend. Video analysis is computationally expensive. We use Celery workers to process videos asynchronously, with Redis as the message broker. This architecture allows us to handle multiple concurrent analyses without blocking the API. Ionic Angular for the mobile app. We chose a cross-platform framework to ship on both iOS and Android from a single codebase. The tradeoff is performance — native apps are faster — but for our use case, the development speed advantage outweighed the performance cost. Firebase for authentication and data storage. Firestore gives us real-time sync between the app and our backend, and Firebase Authentication handles Google Sign-In with minimal implementation overhead.

The Hardest Technical Problem

Punch detection sounds simple. It is not.

The naive approach — detect fast wrist movement — generates enormous false positives. Walking, adjusting your stance, wiping sweat: all of these trigger false detections if your threshold is too low.

We went through four iterations of the detection algorithm:

Version 1: Speed threshold only. 60% accuracy. Unusable. Version 2: Speed + arm extension. 74% accuracy. Better, but still too many false positives. Version 3: Speed + arm extension + movement direction. 83% accuracy. Good enough for beta. Version 4: Added cooldown period (30 frames between detections) and visibility confidence filtering. 89% accuracy on standard training videos.

The lesson: every percentage point of accuracy improvement required a disproportionate amount of engineering effort. The last 10% is always the hardest.

What Building in Public Actually Means

Building in public is not posting polished success stories. It is sharing the real process — including the parts that are embarrassing.

We shared:

  • The week our detection algorithm regressed after a “fix” and we had to roll back
  • The Railway deployment that failed six times before we understood the healthcheck configuration
  • The user feedback that told us our UI was confusing in ways we had not anticipated
  • The metrics: real user numbers, real retention rates, real conversion data

The response was unexpected. The posts about failures consistently outperformed the posts about successes. People do not want to see a highlight reel. They want to see the real process.

The Distribution Problem

Building a good product is the easy part. Getting people to use it is the hard part.

Our initial assumption was that the product would market itself. It did not.

What actually worked:

  • Content that teaches, not sells. Posts explaining how AI punch detection works attracted more downloads than posts promoting the app.
  • Sharing real session data. Showing actual analysis reports — with real numbers from real sessions — built credibility faster than any marketing copy.
  • Targeting the coach, not just the athlete. Boxing coaches who recommend the app to their students are a far more efficient distribution channel than direct-to-consumer marketing.

What We Would Do Differently

Start with distribution before building. We spent 6 months building before we had a single user. We should have spent the first 2 months building an audience and validating demand. Ship earlier and worse. Our first public version was too polished. We over-engineered features that users did not care about and under-invested in the core loop: upload video, get report, improve training. Talk to users every week. The insights that came from 30-minute user interviews were worth more than weeks of internal discussion. Users will tell you exactly what to build if you ask the right questions.

The Honest Metrics

We are not a unicorn. We are a small team building a product we believe in, sharing the real numbers:

  • Average session analysis time: 38 seconds for a 12-second video
  • Detection accuracy on standard training videos: 89%
  • User retention after first analysis: improving month over month
  • Most common feedback: “I had no idea I was throwing so few punches.”

That last piece of feedback is why we built this. The moment someone sees objective data about their training for the first time — and realizes the gap between what they thought they were doing and what they were actually doing — is the moment the product becomes valuable.

What Comes Next

We are working on real-time analysis, multi-person detection for sparring sessions, and a coaching dashboard that lets trainers track multiple athletes simultaneously.

We will share all of it — the progress and the setbacks — because that is what building in public means.