← /projects

Fotbalový Inspektor

Match-day journal for Czech amateur football. Rate the klobása, the atmoška, and the 47th-minute klenot — keep every inspection forever.

Stack

  • SvelteKit
  • Svelte 5
  • TypeScript
  • tRPC
  • TanStack Query
  • Drizzle ORM
  • Postgres
  • better-auth
  • Zod
  • Tailwind
  • bits-ui

Overview

A match-day journal for Czech amateur football. Inspectors rate each fixture across three categories — food (klobása & beer), atmoška (crowd, chants, quotes), and the 47th-minute klenot — then write a short post-match note. Every inspection rolls into a public feed, a personal diary, and a team directory that doubles as institutional memory for local football culture.

  • Three-axis rating — food, atmosphere, standout moment (0.5–5 stars)
  • Match metadata — home/away teams, score, league, kraj
  • Personal diary at /me plus a public chronological feed
  • Team directory scraped from official league sources (regional through fourth division)
  • Google sign-in via better-auth

What it solves

Official match statistics flatten everything that makes amateur football worth showing up for — the queue at the bufet, the one guy with the trumpet, the goal nobody filmed. Fotbalový Inspektor is the opposite of a stats sheet: a subjective, on-the-spot record of what the match actually felt like, written in the ten minutes after the final whistle.

Each inspection is short by design. Three star ratings, a couple sentences, and a result. The aggregate is a living archive of Czech grassroots football — searchable by team, by kraj, by inspector.

Highlights

  • SvelteKit + Svelte 5 runes with tRPC mutations replacing form actions for inspection edits and deletes
  • PostgreSQL + Drizzle ORM schema covering leagues, teams, inspections, photos, and better-auth tables
  • Cheerio + Playwright scrapers that seed the team directory from official league sites (fetch-league, fetch-kraj)
  • Tailwind 4 design system built on cream paper, pitch green, and amber tokens — feels like a programme, not an app
  • sveltekit-superforms + Zod for type-safe inspection submission flows
— Start of archive
Next →Sonuslab