~/work / earthquake-tracker

Morocco Earthquake Tracker

A public earthquake tracker for Morocco, built and hosted by me. It passed 10 million visits without an interruption.

Type Personal projectRole Design, build, hostingReach 10M+ visits

Architecture

Morocco Earthquake Tracker architectureVisitors reach Cloudflare, then an Nginx reverse proxy that load-balances two Express.js API instances backed by a MySQL or MariaDB database, all hosted on the RocmineLabs Proxmox homelab.Hosted on RocmineLabs · Proxmox VEVisitors10M+ visitsCloudflareprotectionNginxreverse proxy · LBExpress.js APIinstanceExpress.js APIinstanceMySQL / MariaDB

Simplified request path. Two API instances are drawn to show the load-balancing layer.

What I built

  • An Express.js back end exposing a REST API, backed by MySQL / MariaDB.
  • Nginx as reverse proxy, load-balancing traffic across the application instances.
  • Cloudflare in front of the origin for protection against abusive traffic.
  • Self-hosting on RocmineLabs, my homelab: Dell enterprise servers running Proxmox VE.

Stack

  • Express.js
  • REST API
  • Nginx
  • Load balancing
  • Cloudflare
  • MySQL
  • MariaDB
  • Proxmox VE
  • Linux

Outcome

More than 10 million visits, served from a home datacenter with no interruption.

Next project Datacenter: 3-Tier vs HCI