← ProjectsCase Study

Majadu Tools

Glicko-1 Rating Engine & Frameworkless Go API

CategoryCommunity systems
StatusBackend
Stack Go · Postgres · OpenAPI
Live Site API →
01 / Context

Overview & Problem

Majadu powers local sports session operations—generating balanced doubles matchups, live court scoring, tournament brackets, and cross-season skill rating tracking.

Casual sports sessions suffer from subjective player seeding, manual paper scorekeeping, and network drops during live matches in sports halls with weak cellular coverage.

02 / System

Architecture

A monorepo with a React 19 PWA frontend and a zero-dependency Go 1.26 backend API using PostgreSQL 18 with schema-based multi-tenancy.

03 / Decisions

Engineering Trade-offs

01

Frameworkless Go backend

Built using Go standard library net/http and pgx/v5. Sub-millisecond response times and instant cold starts inside rootless Podman containers.

02

Glicko-1 rating with confidence decay

Replaced raw win/loss tallies with a custom Glicko-1 rating engine (Glicko-1-lite) that factors in victory margin and increases rating deviation when players skip seasons.

03

Schema-isolated multi-tenancy

Community databases use PostgreSQL search paths per seasonal domain rather than row-level tenant IDs, simplifying backup and data isolation.

04 / Outcome

Key Takeaway

Standard-library Go code paired with a disciplined mathematical rating model delivers high production reliability with near-zero server resource usage.

Explore more systems in the Qouver umbrella.