01Genesis
Tastemakers is a social restaurant discovery platform where users and “tastemakers” discover, review, tag, and curate restaurant lists. The project started as an iOS app with a Laravel API backend — built by a solo developer learning to ship a full-stack product. It has since expanded to Android, a Next.js web frontend, and a WordPress marketing site.
I’m now rebuilding and auditing the full stack with Claude Code — working entirely from the terminal, with AI handling the heavy lifting of code auditing, boilerplate generation, and cross-repo consistency checks. This page is a living record of that process: what was built, how it was built, and what it would cost to replicate.
02By the Numbers
LOC by Project
03What Would This Cost to Build?
04AI Development Workflow
CLAUDE.md as Cross-Session Memory
6 CLAUDE.md files across the monorepo — one per project plus the root. They document the API contract, port registry, implementation plans, and 50+ tracked issues. Claude Code reads these on every session start, so each conversation begins with full project context.
Session Structure
Each session begins with Claude Code reading context files, then the human sets the goal. Exploration first (read, audit, document), then targeted changes. No autonomous large-scale refactors without human review.
Feedback Loops
Direct exploration ('read every controller and list security issues'), review findings, then approve or redirect specific changes. Claude Code proposes diffs, each is reviewed before accepting. Findings are captured in todos/ for cross-session persistence.
Human vs AI Responsibilities
Delegated to AI: reading and auditing code, generating boilerplate, finding inconsistencies across repos, writing documentation. Directed by human: architecture decisions, security fixes, API contract changes, anything that touches production.
Terminal-Only Development
Built entirely via Claude Code CLI in the terminal — no IDE GUI, no drag-and-drop, no visual editor. Every file is created and edited through text commands. This /tech page's 1000+ lines of inline-styled React was written without previewing in a browser.
Documentation-First Strategy
Spent the first two sessions reading and documenting the existing codebase instead of writing new code. This surfaced 50 issues including critical security vulnerabilities — saving weeks of building on a broken foundation.
05Architecture Overview
Loading diagram...
All clients (iOS, Android, Web) consume the same Laravel API. The web frontend proxies /api/* requests through Next.js rewrites to avoid CORS. External services (Foursquare, FCM) are called via raw cURL from the backend — no SDK abstractions.
06Tech Stack
Frontend
Mobile
Backend
Database & Auth
Data & Integrations
Testing & Quality
Infrastructure
07Database Schema
15 tables · PostgreSQL · Laravel Eloquent · Click to expand each domain group.
- All pivot tables use explicit
idPKs (not composite keys) - Soft deletes on: users, restaurants, tags, countries
restaurant_tagis a 3-way pivot (user + restaurant + tag)lat/lngstored as strings, not numeric types- No FK constraints in migrations — only column definitions
users.role_idisinteger, all other FKs arebigInteger