Minute93Distributed Systems Portfolio Project

Real-time football, built to scale.

Live scores, standings, stats, and instant search. A system architecture portfolio project designed and load tested for real-world scale.

Built for speed, designed for clarity

Everything you need to follow football, from live events to deep stats, in one fast, clean interface.

Live Scores

Kafka-powered event pipeline pushes updates to your browser via SSE. No refresh needed.

Standings

Auto-updated league tables backed by Redis cache-aside for instant loads.

Match Stats

Detailed match timelines with goals, cards, and substitutions from real-time event streams.

Fuzzy Search

Find any player or team instantly with PostgreSQL trigram indexing, even with misspellings.

Team Profiles

Squad lists, recent form, and upcoming fixtures served through Nginx reverse proxy.

Full Schedule

Browse past results and upcoming fixtures across all competitions with Redis-cached responses.

Under the Hood

Distributed systems, real results

Minute93 is more than a sports app. It's a distributed systems portfolio piece demonstrating event-driven architecture at scale.

  • Kafka-powered event pipeline with 4 independent consumers
  • Redis for caching, pub/sub, rate limiting, and deduplication
  • Server-Sent Events for real-time browser push
  • PostgreSQL with materialized views and trigram search
API-Football
  → Poller (dedup via Redis)
    → Kafka [match.events]
      ├─ CacheUpdater  → Redis
      ├─ PostgresWriter → DB
      ├─ StatsAggregator → Views
      └─ SsePublisher  → Browser

Ready to explore?

Dive into live matches, check standings, or search for your favorite player.