Ed McCormic Source on GitHub
All specs

System design builds

Local Eats (Yelp)

Business search and reviews with PostGIS geo queries and Postgres full-text search, from the Hello Interview Yelp breakdown.

View code on GitHub

Problem

“Find good tacos near me” mixes geographic search, text search, and ranking, and reviews have to keep each business’s average rating consistent while many people write at once.

Goals

  • Geo search with PostGIS, plus text search using full-text and pg_trgm
  • Write reviews and keep the business’s rating aggregate correct
  • Server-rendered business pages for speed and SEO
  • A how-to README covering every feature

Requirements

  • Search by location, category, and text
  • Write reviews; applyRating updates the aggregate
  • Photo uploads via presigned S3 URLs
  • JWT authentication

Tech stack

Layer Choice
Frontend Next.js 16 (App Router, React 19, Tailwind 4)
Backend Spring Boot 3.5 (Java 21), Spring Security, JPA + JDBC, Flyway
Data PostgreSQL 16 + PostGIS, S3
Deploy Docker Compose locally; Terraform to ECS Fargate, RDS, ALB

AI build notes

  • Asked Claude to implement applyRating directly, since the concurrency of rating updates was the part I wanted to read closely.

Changelog

  • 2026-09-25: Built