sadowyj.net

Projects


Multi-Datacenter Monitoring Solution

victoria-metrics-cluster-diagram

Built a monitoring platform that surfaced infrastructure problems before they turned into outages. Over 300 alerting rules covered everything from database replication lag to network saturation, so most issues were caught while they were still trending the wrong way rather than after something broke.

I designed the whole stack: VictoriaMetrics for metrics storage, Grafana for dashboards, and custom exporters for some pretty niche Triton SmartOS environments. The entire platform ran on Kubernetes using ArgoCD’s “Apps of Apps” pattern, so every component was declarative and version-controlled. Each of the 300+ alerts shipped with its own AI-generated playbook, which meant whoever got paged started with a runbook instead of a blank page.

Under the hood:


Two-day CDN Migration

cloudflare-logo

Turned what would have been weeks of manual console work into a two-day Terraform symphony. I had designed the configuration to be fully convergent for exactly this scenario: it could tear the entire setup down and bring itself back up with no manual bootstrapping in between, which is what let 100+ domains across multiple environments move in two days instead of a quarter.

I built the whole thing with Terraform modules for DNS management and CDN configurations that made the migration repeatable and auditable. The documentation was detailed enough that new team members could make DNS and CDN changes without inheriting tribal knowledge first.

Under the hood:


Terraform GitOps Conversions

terraform-gitops-diagram

Converted hand-managed infrastructure to a GitOps workflow, which put an end to configuration drift and surprise changes - every change was code-driven, reviewed, and version-controlled.

I implemented automated Terraform workflows with plans on pull requests and applies on merge, plus SOPS encryption for secrets. The CI/CD pipeline was smart enough to detect exactly what changed and only rebuild those specific components. I’d rather spend an afternoon writing a module than make the same manual change twice - if it can be automated, it should be automated.

Under the hood:


PostgreSQL Automations

postgres-cake

Built PostgreSQL clusters that rode out network interruptions without manual intervention, with cross-datacenter replication for the failure modes that could take an entire site offline.

I wrote Ansible playbooks that knew their way around database replication, automated the backup process to allow for seamless point-in-time recovery, and built monitoring that warned us well before replication lag turned into an incident.

Under the hood:


nsc

nsc diagram

Given a phone number, the NetSapiens Console (NSC) application traverses through PBX call routes, and dynamically generates an IVR chart. NSC has saved the organization hundreds of hours over the course of many years, and it is still being used to this day as far as I know.

I wrote the backend Node.js and the front-end in React. It was the first project I ever worked on as a software engineering intern.

LingQML

lingqml diagrams

My computer science capstone project exploring how machine learning can identify vocabulary gaps for language learners. The application analyzed a user’s known words exported from LingQ and applied K-Nearest Neighbors on FastText word embeddings to suggest semantically related words that might be missing from their vocabulary.

Key Components

Under the hood:

What I Learned