← All projects

Side project · 2026

Pitch Finder SA

A map-based app for finding soccer pitches in South Australia. It shows surface, lighting, access, facilities and whether a pitch is likely to be free, so you can find somewhere to play without driving around.

Role
Solo, design to deploy
Year
2026
Back end
Laravel 13
Front end
Vue 3, Inertia, TypeScript

Preview

Pitch Finder SA: a map of Adelaide with clustered pitch markers, and a sidebar of ranked pitches with scores, surface, floodlight and access tags

The problem

When you want somewhere to play, you need to know a few things: what the surface is, whether there are lights, whether you can get in, and whether anyone is likely to be using it. Pitch Finder puts all of that on one map, for every pitch in the state.

What it does

Map of every pitch

Browse all 306 pitches on a Leaflet map, coloured by club, school or park ground, and search by name, suburb, council or school.

Likely to be free

Each pitch shows whether it's likely to be free, so you don't turn up to a full ground.

Ranked results

Pick what matters most to you (condition, access, lighting or facilities) and each pitch gets a weighted score out of 100.

Clubs and home grounds

Local clubs are linked to the grounds they play at.

How it's built

OpenStreetMap import

Every SA pitch is imported from OpenStreetMap through the Overpass API, so the data covers the whole state from day one.

  • Overpass API
  • Laravel

Photo pipeline

User photos are resized to WebP, stripped of GPS data and held for admin approval before they go public.

  • WebP
  • Moderation

Quality gate

One command runs Pint, PHPStan, vue-tsc and the test suite before every push, the same checks I rely on at work.

  • Pint
  • PHPStan
  • vue-tsc

Stack

  • Laravel 13
  • Vue 3
  • Inertia
  • TypeScript
  • Tailwind CSS
  • Leaflet
  • OpenStreetMap
Next project Νηστεία (Nisteia) →