Skip to content
Case study · Community platform

The Grim Grippers

A home for Houston armwrestling, built around records people can trust.

The site is public and runs on demonstration data while sign-ups are closed. It says so in a banner on every page, and the athletes, events, and results shown are examples of how it works.

Status
Live
Type
Community platform
Rankings
Left and right hand
Results
Source verified
Stack
Next.js
Year
2026
Built by
Ravion Moyers
thegrimgrippers.com
The Grim Grippers homepage with a reaper-versus-athlete armwrestling badge logo and the headline 'Houston's Home for Competitive Armwrestling'
The Grim Grippers homepage on mobile showing the badge logo, headline, tagline 'Grip 'Til You're Grim' and a Find an Event button
The brief

What this had to solve.

Give a local armwrestling scene one home for events, athlete records, and rankings. The hard part was trust: in a sport where rankings start arguments, every number had to show where it came from, and every correction had to leave a trail.

Scope

What was built.

Technology

  • Next.js
  • React
  • Caddy
  • HTTP/3
  • Nonce-based Content Security Policy
  • Role-based access

Verified from the live site where publicly detectable.

  1. Separate left hand and right hand ranking boards by weight class, each marked provisional or published
  2. A written ranking methodology with appeals, and a public change log on every board
  3. A results workflow where each result carries a source and a verification status and passes through review
  4. An athlete directory with filters for area, weight class, division, skill tier, hand, and verified status
  5. Athlete profiles with event and match history, per-hand rankings, profile claiming, and corrections
  6. Event pages with divisions, formats, entry fees, placings, and registration status
  7. A practice group finder that lets organizers choose how much of their location to publish
  8. Login-protected dashboards and admin areas for athletes, promoters, and moderators
Key features

The parts that do the work.

  • Rankings that show their work

    Every board states its method, and every change to it is logged where anyone can read it.

  • Results with a source

    A result does not count until it has a source and has been reviewed, so a disputed match can be traced.

  • Athletes own their records

    Profiles can be claimed by the athlete they describe, and corrections have their own path instead of an email into the void.

  • Location privacy

    Practice groups choose between a published address, an approximate area, or contact through the organizer.

  • Locked down by default

    A strict nonce-based content security policy, role-gated admin areas, and embeds that only load when a visitor asks for them.

More of the build

Other pages from the site.

Texas Rankings page with separate Left Hand and Right Hand columns listing men's weight-class boards marked Provisional or Published
FIG. 02Texas Rankings page with separate Left Hand and Right Hand columns listing men's weight-class boards marked Provisional or Published
Texas Right Hand Men's 176 lb ranking board with a standings table showing position, athlete, record and points beside a methodology panel
FIG. 03Texas Right Hand Men's 176 lb ranking board with a standings table showing position, athlete, record and points beside a methodology panel
The outcome

What it does now that it could not before.

Houston armwrestling has a single place built to hold its events, athletes, and results, with rankings that can be checked rather than taken on faith. Results carry a source and pass through review before they count, every ranking board shows its methodology and a change log, and athletes can claim their own profiles and request corrections. The platform is built and public, and is waiting on real events to fill it.

For your project

Different business, same capability.

  • A data-heavy community platform rather than a brochure site
  • Designing for trust where the numbers are contested
  • Role-based access for athletes, promoters, moderators, and admins
  • Privacy decisions built into features instead of bolted on
  • Security headers set deliberately, not left at defaults