AH
All projects

SetOps

  • FastAPI
  • Python
  • PostgreSQL
  • React
  • Vite
  • Docker
  • Docker Compose
  • Nginx
  • Linux
  • Prometheus
  • Grafana
Visit site

The problem

Building operations and maintenance work — equipment, service calls, contractors, tenants and reporting — is commonly tracked across disconnected spreadsheets, phone calls and messages, with no single record of what was reported, who handled it and what happened.

The goal

Build one system covering the operational picture of a building: its structure, its equipment, the service calls raised against it, and the people responsible for handling them.

The architecture

  • Multi-tenant SaaS with company data isolation
  • FastAPI (Python) backend services
  • PostgreSQL schema designed around buildings, equipment and service calls
  • React + Vite front end
  • Nginx reverse proxy terminating TLS — Transport Layer Security
  • Docker Compose running frontend, backend and database as containers
  • Authentication with role-based permissions scoped per company
  • Monitoring and infrastructure logging across the platform
React + Vite

Nginx

FastAPI (Python)

PostgreSQL

Prometheus → Grafana
SetOps architecture diagram

My approach

Model the building itself — floors, rooms and areas, equipment and critical systems — then build the operational workflows on top of that structure, with every query scoped by company so tenants can never see each other's data. Run the whole platform as containers behind a reverse proxy, and treat monitoring and alerting as part of the product rather than an afterthought.

Implementation

  • Building structure: buildings, floors, rooms and areas
  • Equipment and systems, including critical equipment
  • Service call workflow with contractor assignment
  • Tenant portal and guard functionality
  • Company management, role-based permissions and data isolation
  • Authentication and security hardening
  • Reporting, billing and onboarding workflows
  • Containerized deployment with container networking and persistent storage
  • Environment configuration kept out of the image
  • Scheduled metrics collection with historical storage and a platform-health view
  • Log-driven alerting with thresholds, cooldowns and escalation

Operations

Monitoring pipeline

  1. Server / containers

  2. Scheduled collection (cron)

  3. System & container metrics

  4. Historical metric storage

  5. Admin dashboard — platform health

Scheduled collection feeds historical metrics into the administration dashboard.

Alerting & incident flow

  1. System event

  2. Threshold

  3. Incident

  4. Alert — Zoho Mail API

  5. Cooldown / critical escalation

  6. Recovery

  7. Summary

Application and infrastructure logs drive thresholds, notification cooldowns and recovery summaries.