Skip to content
Open to work

A-104 Golden Court

A concept review hub for padel courts, scored on glass, lighting, turf and facilities.

Concept

Golden Court is not a real business. It is a fictional review site invented so a data-heavy Laravel application could be designed and built end to end without a client brief. Its venues are made up, and so are all of its accounts and reviews.

The Golden Court concept site on a desktop screen: a banner saying it is a concept, the search box and the top-rated padel venues.
Client
Self-initiated concept
Year
2026
Sheet
A-104, 4 of 5
Status
Concept, no real client
Role
Sole developer and designer: Laravel backend, PostgreSQL, Vue front end and deployment
Stack
Laravel 13, PostgreSQL 17, Inertia 3, Vue 3, TypeScript, Tailwind CSS 4, Pest, Larastan, Docker

Summary

A Trustpilot-style review site for padel courts, built to show the backend of a data-heavy application rather than a brochure site. Players find a venue, read what others thought and score each court on glass, lighting, turf and facilities. Venue owners can claim a venue and reply to reviews once an admin approves the claim. There is no booking, pricing or availability. The public copy has sign-up switched off and is hidden from search.

Why

The reasons behind the stack.

  • Laravel

    I have strong experience with MVC frameworks. Laravel lets me build fast, with an emphasis on quality and reusability, because of its MVC structure.

  • PostgreSQL

    I have strong experience with SQL, which made a relational database like PostgreSQL the natural choice over most other options.

Construction notes

What I built, keyed 1 to 7.

  1. Designed the review model: four scores per review, with one review per player per court enforced by a database constraint
  2. Built venue search on PostgreSQL, by name or city with full-text search and by distance with earthdistance
  3. Recalculated court and venue scores in queued jobs behind a swappable aggregator, a Bayesian average by default
  4. Built moderation: flagging with automatic escalation after three flags, venue claims with admin approval, and an append-only audit log
  5. Wrote it in strictly typed PHP, checked by Larastan at level 8, with Data classes generating the TypeScript types the Vue pages use
  6. Server-rendered the public pages with Inertia and checked the design with axe at desktop and phone widths
  7. Deployed it with Docker Compose behind Caddy, with PostgreSQL, a queue worker and a scheduler

Outcome

A working concept with 12 fictional venues, 44 courts and 259 generated reviews that can be browsed and searched online. The venues, accounts and reviews are all made up, and the site says so on every page.

More drawings

A court page on the Golden Court concept site, with scores for glass, lighting, turf and facilities and the court reviews below.
The Golden Court concept site on a phone screen: the concept banner, the headline and the venue search.

Hiring, or want something like this?

Ask me how I built it, or tell me what you're working on, or email oscarfreeman@live.co.uk.