Front PageProjectsBlogAbout
Language

2023

BJJDex: The First Interactive Knowledge Map of Brazilian Jiu-Jitsu

Built with React.js, users can explore and navigate the first ever data-catalog of the myriad intricate positions of Brazilian Jiu-Jitsu.

BJJDex: The First Interactive Knowledge Map of Brazilian Jiu-Jitsu

Overview

On a technical level, BJJDex is an interactive web application accessible through desktop browser and mobile webapp browser.

BJJDex combines web technologies with expert Brazilian Jiu-Jitsu knowledge to deliver an unparalleled experience of BJJ Learning, organizing over 200 years of grappling knowledge into a digital mind palace.

By utilizing a tree-based organization of data, BJJDex allows the user greater accuracy to search the exact position and scenario that they wish to analyze and learn about.

BJJDex organizes Jiu-Jitsu videos by displaying the relationships between recognized positions in the sport. BJJDex establishes a relationship of context with the viewer and the application itself, each individual video is not as valuable as the context between them.

For BJJ Entrepreneurs, Big Team Brands, Academy Associations - Create your own BJJDex for your global or local brand.

Goals and Motivation

The current market of Jiu-Jitsu learning tools provide long-form videos containing what we called "lectures": hours of video recordings of real lessons that were hard to consume.

These lecture-style videos would require intense video editing in order to make them watchable and engaging, which is another barrier for both the creator and the consumer.

A more important and significant pain-point of the lecture-style videos, was that it was impractically difficult to return back to a certain point of reference when the user wanted to be reminded of something.

We established three points that were important to us:

  1. Knowledge should be easily searchable
  2. The user should have fun and be thrilled to explore a BJJ Video Database just as they do in real life
  3. Jiu-Jitsu is a sport, not an academic subject. You shouldn't spend 5 hours watching instructionals. Get your knowledge and get in the gym quick.

We saw two potential solutions:

  • Continue to buy pieces of instructionals in the current available market of online training platforms for our own sake, or
  • Build our own Interactive Digital Mind-Palace Knowledge Map using the latest web technologies to solve this problem.

While the first option was tempting, my wallet had other plans. During our research, we devised a unique way to store, add, and display BJJ Positions and Videos. We are proud to announce BJJDex is published in version 1.0.

Tech Stack Used

The application pattern leverages a layered, client-server architecture using React/Redux in the frontend.

  • React.js: Used as the framework for building the client visible portion of the app.

  • Redux Toolkit 2: The store is organized with the slice-based architecture pattern.

    • Slice pattern — co-located actions, reducers, and selectors per feature domain
    • Thunk middleware for async side effects (API calls, localStorage)
    • Typed hooks (useAppDispatch/useAppSelector) for type-safe React-Redux integration
  • Express.js: Leveraging functional programming and asynchronous piping with the async/await syntactical sugar of ES2017 (ES8), the back-end server is stateless, horizontally scalable, and leverages modern Typescript.

  • Docker Containers: Containerized microservices deployment with Docker Compose, network-segmented multi-environment configurations, private registry, health-checked service orchestration, and security-hardened container builds

  • Redis Store: We use redis for rate limiting, caching for OAuth, session/token lifecycle, Circuit Breaking for 3rd party API usage, API Response caching, Pub/Sub for Cache Invalidation, and Distributed locking for in-app video editing.

  • MongoDB: We opted for MongoDB Atlas for its flexiblility in production. Also, the shape of the data that our encyclopedia feature relies on is a tree-shape document with multiple nestings and involved denormalized reads, which made the use of MongoDB to be reasonable.

Features

Nothing too fancy here— on a technical level, currently it's only a read-only app with multiple 3rd-Party API and Database integrations:

  • Stripe Integration with full subscription and one-time payment management flow.
  • oAuth authentication system
  • Responsive Design: Users can view the app in both mobile phones and desktop.
  • Filtering: Users can filter through positions, situations, scenarios by clicking or tapping. Explore the Dex like flipping through an encyclopedia. Have fun with it.
  • Are You an Athlete? Gym Owner? Coach? : BJJDex is a Flexible solution in the online Martial Arts Video Learning space. If you want your own BJJDex, email [email protected]. We can make it happen for you.
  • Full Featured Admin dashboard and in-house tools, web-based video editing features.

The Future

BJJDex for Associations of Academies, Big Team Brands (Gracie Barra, Alliance, Carpe Diem)

BJJDex is a web application specifically designed to make it easy to learn, teach, and sell Brazilian Jiu-Jitsu Videos in a unique way.

You can have your own BJJDex - we will make it for you.

BJJDex is licensable for a reasonable cost to businesses - it has a long-term minded construction and is flexible for both small and large audiences.

Explore more projects