Elo BJJ - Find the Best BJJ Techniques

@j_vanrav|Tue May 28 2024

If you enjoy Wikipedia rabbit-holes and would-you-rather questions, you would probably like Elo Everything. I did, and have since wanted to apply the idea to a domain where the result would be more useful.

If BJJ practitioners chose preferred techniques, you could rank the moves and visualise in a directed acyclic graph.

Have a look:

Data acquisition

There are BJJ databases: A C++ program, an iPhone app, and some websites. None were both comprehensive and accessable to what I wanted.

Compiling techniques is time consuming. The initial dataset only covers core moves. I'll add more over time.

Tech

Cheers for your comment teatops.

Redis was suitable as a primary database initially, but has quickly racked up transactions, so I may migrate to postgres.

  • Frontend:
    • React, shadcn/ui, Next.js (14+ with SSR), tailwind, lucide icons
    • Graph: react-force-graph (uses canvas/WebGL for rendering and d3-force-d3 for physics)
    • Ranking: Elo spinner inspired by DaisyUI countdown
    • Data/other: swr, react-hook-form, dynamic imports for large modules (e.g. graph)
  • Backend:
    • Database: Redis on Vercel KV
    • APIs: Vercel serverless functions

Dm if you want more details.


Future considerations

  • Expand move list
  • Migrate DB to postgres
last edited Tue May 28 2024