TypeScript
The default language for my newer apps, from FactoryFlow's simulation engine to Sentinel's services and dashboard.
The tools and services behind each project.
The default language for my newer apps, from FactoryFlow's simulation engine to Sentinel's services and dashboard.
Backs Davey Maps' terrain generation: Perlin noise and heightmaps served over an Axum + Tokio HTTP API.
Lightweight server-side rendering for this dashboard and PokeVote, including the live server stats endpoint.
In-browser 3D: procedural terrain in Davey Maps and the interactive factory floor in FactoryFlow.
UI for Sentinel's observability dashboard and GH Resolver's profile lookup and cache inspector.
Powers the Sentinel dashboard, with server-rendered views over uptime, API health, and incident data.
Fast dev server and production bundler for GH Resolver's frontend and the FactoryFlow static build.
Utility-first styling for the Sentinel dashboard.
Runs Sentinel's agent, collector, checker, and API services (gRPC, Express, Socket.IO) and GH Resolver's edge and origin servers.
Relational storage for PokeVote's votes and rankings and Sentinel's metrics, checks, and incidents.
Type-safe database access and migrations shared across Sentinel's services.
Runs each app in its own isolated container, so deployments behave the same on every VPS.
Serves GH Resolver's built frontend inside its container.
The front door for every app: virtual hosts, TLS, and reverse proxying, plus FactoryFlow's static hosting.
The VPS host OS, with stable Linux tooling for running and operating every service.