A beautiful, Discord-inspired status page for monitoring Rift platform services. Built with TypeScript and Node.js using the node:http module for zero dependencies.
- Discord-style Dark Theme — Modern UI matching Rift's visual identity with gradient accents
- Service Monitoring — Real-time status indicators for API, Gateway, Media, and Database services
- Incident Tracking — Display historical incidents with resolution status and update timeline
- SVG Icon Library — Crisp, scalable icons without emoji
- JSON API — Programmatic access to status data via
/api/statusendpoint - Mobile Responsive — CSS Grid-based design that adapts to all screen sizes
- TypeScript Strict Mode — Type-safe implementation with zero any's
- Pure Node.js — No frameworks, no build tooling (aside from TypeScript)
node:http Server → HTML Template → CSS Styling → SVG Icons
→ JSON API → Status Data
cd /root/rift/status
pnpm installpnpm devServer runs on http://localhost:9000 with hot reload via tsx.
pnpm buildCompiles TypeScript to dist/server.js.
pnpm startpnpm type-checkPORT— Server port (default: 9000)
Returns the HTML status page.
curl http://localhost:9000/Returns JSON status data.
curl http://localhost:9000/api/status | jq .Response:
{
"status": "operational",
"services": [
{
"name": "API Server",
"status": "operational",
"uptime": 99.98
}
],
"incidents": [],
"timestamp": "2026-07-30T00:30:00.000Z"
}- operational — Green, service is running normally
- degraded — Yellow, service is experiencing issues
- offline — Red, service is unavailable
Edit /src/server.ts to:
- Modify service names and status in the
servicesarray - Add or update incidents in the
incidentsarray - Change colors in the
statusMapandincidentStatusMapobjects - Customize styling in the CSS section of
renderHTML()
- No external dependencies (except TypeScript for development)
- No JSX, React, or frameworks — Pure HTML string rendering
- SVG icons generated inline for zero external requests
- CSS-in-HTML for single-file deployment
- HTTP caching headers for performance optimization
Proprietary — See LICENSE file