20+ years across three of the most demanding industries there are: aerospace (Embraer, Azul) → mining (Vale) → subsea oil & gas NPD (OneSubsea / SLB).
I work at the intersection of reliability engineering, data science, and functional safety: life-data and degradation analysis, failure and root-cause investigation, and designing critical systems so that the safe state is the default state.
Everything below is public, licensed, and reproducible unless it says otherwise. Each entry opens with the result; expand it for the method and the caveats.
Reliability on a public dataset built for anomaly detection. One air leak every 43.8 operating days, 90% interval 19.1 to 128.3, no detectable trend. MTTR and availability are published as not estimable, and the reason is stated.
Method and caveats
An agent over the public MetroPT-3 dataset: seven months of the air production unit on a Metro do Porto train, with four air leaks dated by the operator. A historian, an event log, a topology graph and a note base, served to an LLM as MCP tools.
The layer that dataset supports and most public datasets do not is reliability: four recurrent events on one repairable unit, on an operating-time clock, with the right censoring carried explicitly. MTTR is not estimable because one report has no maintenance record and another dates the repair a month before its own failure.
Two data findings decide those numbers before any model does. The logging gaps are the machine off rather than lost telemetry, which moves the failure rate by 22%. And ten acquisition freezes, where five analogue channels hold a single value each while a digital channel toggles on a fixed 40 s square wave, fabricate 63 load cycles per hour and outrank every reported failure until they are masked.
Python · DuckDB · MCP · MIT · data CC BY 4.0, credit Davari, Veloso, Ribeiro and Gama
📐 relengy
Reliability engineering in Python, with the method decisions written down where the code makes them. Where the standard authorities disagree, the library says which side it took, and why.
Scope
Life data analysis, reliability growth, accelerated testing, RBD, FMEA and fault trees, built against Abernethy's The New Weibull Handbook.
Python · MIT
The capacitor rule that life doubles every 10 °C of cooling is an undeclared Arrhenius model, and the activation energy it implies varies 77% (0.549 to 0.971 eV) depending on where on the temperature scale you apply it.
Why it still works, and where it stops working
Over the usual 105 °C → 40 °C extrapolation the rule embeds Ea = 0.707 eV, within 4% of
the only published value for that exact capacitor technology. So it is right by coincidence,
not by construction: nothing in it stops you carrying it to a neighbouring technology, where
the same error runs from 2.40× optimistic to 0.13× conservative.
Three competing manufacturers confirm the bound in their own technical notes. Closed-form, reproducible with the standard library, and a scope error in an earlier version of the analysis is corrected in the open rather than quietly.
Python · MIT
60 units, 79,371 accumulated hours, zero failures. A two-parameter Weibull has nothing to
fit, so the answer rests on a decision, the assumed shape β, as much as on data. This study
quantifies how much.
How the data stays closed and the numbers stay checkable
It publishes the sufficient statistics instead of the individual lifetimes, which keeps
the underlying data closed while leaving every calculation verifiable: verify.py reproduces
every published number with no access to the raw lifetimes and no dependencies.
Python · MIT
🔬 FLARE26
An auditor that knows when not to answer. It abstains when the requested information is genuinely absent, or of the wrong type or scope, then decides consensus vs. divergence with a deterministic judge.
The error it is built against
A neuro-symbolic, glass-box system for multi-document audit. The most expensive error there is a false-positive divergence: a disagreement the system invents by hallucinating an answer the document never gave.
Reported transparently, negative results and limitations included.
Python · MIT · live demo (no API key) · DOI: 10.5281/zenodo.20881699
The load-bearing result is negative: the fitted Weibull shape, and the Weibull-over-Exponential model choice itself, are artefacts of the reconstruction geometry rather than evidence of wear-out.
Context
Reliability modelling for a PhD thesis on shell-and-tube heat exchangers. OREDA-2015 reports only aggregate exposure time and failure counts, never unit-level histories, so we reconstruct statistically consistent time-to-failure sequences via a Poisson renewal process, select a lifetime model by likelihood-based criteria, and derive RCM maintenance intervals.
Because the shape is an artefact, it is carried as an explicit sensitivity assumption instead of reported as a finding.
Collaborator and co-author. Manuscript in preparation.
| Reliability | RAM analysis · FMEA/FMECA · RCA · FTA · RCM · life data & degradation analysis · accelerated life testing · optimum replacement interval |
| Safety | functional safety · HAZOP · design for reliability |
| Data | Python (pandas, numpy, scipy, reliability, matplotlib) · R (WeibullR) · SQL · DuckDB · MCP servers for agent-facing data |
| Commercial | ReliaSoft Weibull++ · BlockSim · ALTA |
| Standards | ISO 14224 · MIL-STD-1629A |
Certified Reliability Professional (CRP) · Certified Functional Safety Professional · Reliability Consultant
Specializations: Reliability Engineering (UTFPR) · Big Data & Data Science (Mackenzie) · Aviation Safety (ITA) · Engineering Innovation & Entrepreneurship (UNESP)
I write about reliability, failure, and the logic behind the data on LinkedIn.


