aldhairmartinez.com
Observability

How this site is observed

This page is meant to stay accurate, not aspirational — it's updated as each piece actually ships, not before.

01

Pipeline

Current status of each stage in the long-term architecture.

Browser

live

Next.js / TypeScript / React, statically exported

Grafana Faro

integrated, not yet connected

Frontend instrumentation SDK, gated by env var

Python / FastAPI backend

planned

Application layer for backend telemetry

PostgreSQL / Redis / Kafka

planned

Data and messaging layer

OpenTelemetry / Grafana Alloy

planned

Collector and pipeline layer

Grafana Cloud

planned

Metrics, logs, traces, profiles backend

02

Implemented today

live

The site itself is statically exported and served from Cloudflare Pages' CDN.

integrated, not yet connected

The Grafana Faro Web SDK is integrated in the codebase, in components/analytics/FaroInit.tsx, and only initializes when NEXT_PUBLIC_FARO_URL is set. That variable is currently unset in production, so no frontend telemetry is being collected from real visitors yet.

03

Planned

  • Connect Faro to a real Grafana Cloud Frontend Observability collector, enabling real user monitoring, frontend error tracking, and Core Web Vitals.
  • Add a Python/FastAPI backend service as the first non-static piece of the stack.
  • Introduce PostgreSQL, Redis, and eventually Kafka as backend state and messaging needs arise.
  • Deploy an OpenTelemetry Collector (Grafana Alloy) to receive and route telemetry from both frontend and backend.
  • Add synthetic monitoring for availability and deployment health.
  • Add k6 load testing once there's a backend worth load testing.
  • Introduce Docker, Kubernetes/EKS, and Terraform as the backend and infrastructure footprint grows.
04

Why build it this way

Most portfolio sites either skip observability entirely or fake it with a screenshot of someone else's dashboard. Neither is interesting. This page exists so the site's own telemetry story is something a visitor — or another engineer — can actually verify against the code, not just take on faith. No credentials or collector endpoints are hardcoded anywhere in this repository; everything above is configured through environment variables, and this page will be updated as each stage moves from planned to real.