Documentation
One page per system: what it is, how it works, what to do when it breaks.
13 systems. Each one is a single file in config/systems/ that carries both its documentation and its monitors, so the page you read and the checks that run can never drift apart.
Our apps
Things we build and deploy.
Atrium website
criticalThe public marketing site: home, services, work, pricing, about, resources, contact.
3 live checks@atrium/website#next#marketing#static
Restaurant Growth Grader
highLead-gen tool: scans a restaurant and returns a scored growth report.
2 live checks@atrium/grader#next#lead-gen#paid-apis
Status app
normalThis app: the health of every agency system, plus the documentation for each one.
0 live checks@atrium/status#next#observability
Infrastructure
Things we run that everything else stands on.
Asset CDN
criticalcdn.atriumad.com — client photos and reels on Hostinger shared hosting.
2 live checks@atrium/cdn#hostinger#rsync#assets
Upstash Redis
highThe durable store behind this dashboard — every check run, uptime figure and incident.
2 live checks#storage#redis#load-bearing
Postgres (Prisma)
lowSchema, repositories and mappers exist. No app calls them yet.
0 live checks@atrium/infrastructure#prisma#dormant
Third parties
Things we pay for and cannot fix ourselves.
Cloudinary
highLegacy media delivery for the case studies that have no CDN override.
1 live checks#media#cdn
Google Places API v1
highEvery piece of business data in a grader scan — and the only paid call per scan.
1 live checks#google#paid#grader
PageSpeed Insights
normalLighthouse scores for the website half of a grader scan.
1 live checks#google#grader#performance
ScrapeCreators
lowPublic social profile data for the optional social step of a grader scan.
1 live checks#social#grader#optional
LLM providers
normalOpenRouter, Anthropic or Google — whichever writes the grader's narrative.
1 live checks#ai#grader
Cal.com booking
highEvery call-to-action on the site ends here. If it is down, inbound stops.
1 live checks#booking#conversion
Client sites
Client-facing properties we are responsible for.
Adding a system
Copy config/systems/_template.ts, fill in the documentation and the monitors, then add one line to config/systems/index.ts. The dashboard, this index, the cron, the uptime maths and /api/health all pick it up with no further changes. The registry refuses to load on a duplicate monitor id or a monitor disabled without a reason.