Skip to content
View XanderCalvert's full-sized avatar
💭
probably coding PHP
💭
probably coding PHP

Block or report XanderCalvert

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
XanderCalvert/README.md

Matt Calvert — Full Stack Web Developer

I'm a Full Stack Web Developer specialising in WordPress engineering and API-driven applications — building systems designed to be maintainable, scalable, and long-lived.

I came to the industry via gym management during the lockdown years, and have since worked deeply across PHP, JavaScript (React), SQL, and modern WordPress architecture — from custom themes and Gutenberg blocks to backend systems, integrations, and performance optimisation.

My focus is on backend-heavy work that improves and evolves existing systems: refactoring, standards compliance, edge cases, and the architectural decisions that make future development faster and safer.

I’m particularly interested in:

  • Backend-heavy WordPress development
  • Custom plugins and Gutenberg blocks
  • API design and system architecture
  • Tooling, automation, and developer experience
  • Building products alongside client work

🗺️ Flagship Project — Course Atlas

Course Atlas is a full-stack golf course discovery platform built with an API-first architecture.

It's designed to help users explore, filter, and evaluate golf courses through a performant, map-first interface, while maintaining a clean separation between frontend and backend systems.

🧠 What it demonstrates

  • Designing and building a production-ready Laravel API
  • Creating a map-first frontend using Next.js and Leaflet
  • Implementing geospatial filtering and search (bounds + radius)
  • Structuring and validating large JSON datasets for ingestion
  • Building authentication flows (Google SSO + session-based auth)
  • Applying security and performance considerations (rate limiting, payload separation, caching strategies)
  • Designing for multi-platform consumption (web-first, mobile-ready API)
  • Modelling stateful business processes (claim lifecycle with audit trail)
  • Implementing AI governance policies at the data layer

⚙️ Tech Stack

  • Frontend: Next.js (App Router), React, Tailwind
  • Backend: Laravel (API-first), Sanctum authentication
  • Database: PostgreSQL
  • Mapping: Leaflet / OpenStreetMap
  • Admin: Filament (internal tooling)
  • Testing: Playwright (E2E critical-path coverage)

🚀 Key Features

  • Map-based discovery with clustering and dynamic bounds querying
  • Advanced filtering (course type, holes, slope range, facilities)
  • Structured listing pages across courses, golf shops, and virtual venues
  • Course claiming workflow — submission, admin review, approval, and revocation with full audit trail
  • User accounts with saved courses and custom lists
  • JSON-driven data ingestion pipeline with validation tooling
  • Versioned API (/api/v1) for long-term stability

🧩 Architecture Highlights

  • API-first design with strict frontend/backend separation
  • JSON-canonical + DB-projection pattern — JSON is the source of truth; the database is a runtime projection, with a sync log to reconcile divergence after workflow events
  • AI enrichment governance layer — per-listing ai_automation_level controls (unrestricted / human_review_required / locked) gate automated data enrichment and PR creation
  • Independent endpoints for map data vs list data (performance optimisation)
  • Snapshot-based state restoration for map/search UX
  • CLI tooling for dataset validation, completeness scoring, enrichment, and sync management
  • Secure redirect handling and sanitised external linking

🔮 Coming Soon

  • API key authentication and external developer access
  • Course comparison feature
  • Affiliate integrations (booking and equipment)
  • Public API documentation (auto-generated via Scribe)

🔗 Link


🔌 Featured Project

HTTP 410 (Gone) Responses

A lightweight WordPress plugin for correctly handling permanently removed URLs using HTTP 410 responses — with thousands of active installs and actively maintained to WordPress standards.

  • Actively maintained
  • Thousands of active installs
  • Focused on correctness, simplicity, and WordPress standards

👉 https://github.com/XanderCalvert/410-for-WordPress

WordPress Plugin Active Installs WordPress Plugin Downloads WordPress Plugin Version WordPress Plugin: Tested WP Version License


🧪 Current Focus

I'm currently developing Course Atlas into a production-ready platform, while building out the technical foundation for a small product-focused web agency — with a reusable WordPress toolkit, improved testing and deployment workflows, and a long-term goal of building products alongside client work.


💻 Tech I Work With

WordPress PHP JavaScript React MySQL PostgreSQL NodeJS Composer WP-CLI Git Docker


🌐 Find Me Elsewhere


📊 GitHub Stats

GitHub Stats

Pinned Loading

  1. Pokemon-Red-Definitive Pokemon-Red-Definitive Public

    Repo for the Gmeboy Pokémon Red video game

    Assembly 2 1

  2. php-dnd-errors php-dnd-errors Public

    Turn PHP errors into D&D encounter messages.

    PHP

  3. sqlon sqlon Public

    SQL Object Notation — because NoSQL was too flexible.

    Go

  4. Pokemon-Text-Adventure Pokemon-Text-Adventure Public

    A Pokémon Text Adventure

    Python

  5. YouTube-Clean-Thumbnails YouTube-Clean-Thumbnails Public

    Hides the YouTube video preview overlay and makes it click-through to improve the user experience.

    JavaScript 1

  6. Godot-Dodge-the-Creeps Godot-Dodge-the-Creeps Public

    GDScript