A Laravel application that surfaces real-time geophysical data from USGS and the National Weather Service — earthquakes, volcano activity, and active flood alerts — visualised with interactive charts and maps.
Live at cronospulse.com.
- QuakeWatch — Real-time and historical seismic events from the USGS ComCat catalogue, with magnitude, depth, PAGER alert level, and felt reports.
- VolcanoWatch — Current alert levels and aviation colour codes for all monitored US volcanoes via the USGS Volcano Hazards Program API.
- HydroWatch — Active NWS flood watches, warnings, and advisories mapped as GeoJSON polygons by affected zone, filterable by state and severity.
- PHP / Laravel
- Livewire + Alpine.js for reactive UI
- Tailwind CSS via
@tailwindcss/vite - Chart.js for data visualisation
- Leaflet.js for maps
- MySQL + Redis
- Vite for asset bundling
- PHPUnit for testing
The project uses Laravel Sail for local development.
# Start containers
./vendor/bin/sail up -d
# Run migrations
./vendor/bin/sail artisan migrate
# Build frontend assets
./vendor/bin/sail npm run dev
# Run tests
./vendor/bin/sail php artisan test
# Run Pint (code style)
./vendor/bin/sail php ./vendor/bin/pintCopy .env.example to .env and generate an app key before first run:
cp .env.example .env
./vendor/bin/sail artisan key:generateThe site is public by default. Authentication is optional and unlocks additional features — data viewing is never gated behind a login wall.
Production runs on a DigitalOcean droplet with Docker Compose. Traefik handles routing via the external proxy network.
bash deploy.shThe deploy script pulls the latest code, installs dependencies, runs migrations, warms caches, rebuilds frontend assets, and restarts PHP-FPM. See CLAUDE.md for full infrastructure details.
All PHP must conform to PSR-12. Run Pint after every file change:
./vendor/bin/sail php ./vendor/bin/pintPrivate — all rights reserved.