Pulso — Structural Health Monitoring (OFITECO)
Web platform that auscultates bridges and buildings via vibrations: automatic operational modal analysis (OMA), tracking and damage alerts. In production.
The problem
Structures age silently. Today they are checked mostly by visual inspection: expensive, slow, subjective and surface-only — by the time a crack is visible, the damage has been there for a while. Pulso flips the approach: instead of looking, it listens. A healthy structure vibrates in a specific way; when it is damaged, that “signature” changes. Pulso measures that change automatically, separates it from environmental noise (temperature, traffic) and warns before it becomes visible.
What I built
A web platform — designed and developed from architecture to production — that turns accelerometer signals into structural diagnosis in the browser, chaining 7 steps of operational modal analysis (OMA) into a single call:
- SVD-FDD: from the time domain to the frequency domain; peaks are the natural tones.
- Peak + MAC: selection of the real modes (MAC measures whether two shapes are the same mode).
- EFDD + damping: damping of each mode.
- AEFDD: automatic peak detection with quality metrics that discard false positives.
- COV-SSI + AOMA: robust identification in the time domain, clustering stable poles with HDBSCAN.
- SPR: separates environmental effects (temperature, traffic) from real damage to avoid false alarms.
- Tracking: fixes a reference and compares campaign to campaign — warns of lost modes or frequency drift.
The output: natural frequencies, mode shapes animated over a 3D model, damping, damage control charts and a PDF report ready to deliver.
Technical metrics (verifiable)
- 227 frontend tests (coverage ≥80%) + 253 backend tests, plus E2E (Playwright) and accessibility (axe, WCAG 2.1 AA).
- httpOnly cookie + CSRF auth, RBAC and audit logging; rate limiting and security headers.
- Clean Architecture (4 layers, DDD),
mypy strict, Ruff, knip, madge. - Version v1.13.3, deployed on-premise in production (development and production environments).
Stack
Frontend: Svelte 5 · TypeScript · Tailwind 4 · Three.js/Threlte · pdfmake. Backend: FastAPI · uvicorn · Python 3.11+ · NumPy · SciPy · HDBSCAN · PyJWT.
Professional project at OFITECO (VINCI Group) · private repository. The demo uses real field data from an instrumented bridge (18 accelerometer channels at 100 Hz).
Other work with a related technical focus:
xdata-bim — Infrastructure Digital Twin (OFITECO)
Web-based digital-twin platform (BIM + GIS + IoT) for monitoring critical infrastructure in real time. Built solo, from architecture to production.
Computer vision on autonomous 4G cameras (OFITECO)
Full-stack service to operate autonomous 4G cameras (solar, no fixed IP) and analyse events with computer vision over distributed critical infrastructure.
Executive monitoring dashboard (OFITECO)
Strategic-management panel for infrastructure monitoring: advanced data table, cascading filters, reactive KPIs and interactive maps, in 4 languages, WCAG AA.