Career Profile

Decision Science leader with 15+ years bridging academia and industry. I translate advanced analytics into measurable business value, aligning data-driven initiatives with operational KPIs, guiding cross-functional teams, and scaling solutions from pilot to enterprise adoption across mining, manufacturing, and services.

Track record: +100 TPH throughput gains in SAG milling, measurable copper recovery improvements, 15% reduction in environmental alerts, field-data workflows compressed from days to hours. I lead solution design, stakeholder alignment, and technical delivery, ensuring analytics investments produce auditable, sustainable operational results.

separatorimage

separatorimage

Certifications

Generative AI on AWS

2024
AWS

People Leadership Credential

2024
Accenture

Modelos de Peligro Sismico en Mineria usando Machine Learning

2023
Industry Course

Projects

Selected projects spanning research, industry, and education.

OreFlow, a Grinding and Separation Circuit Read as One Balance - Open mineral-processing workbench that links the stages of a concentrator in one calculation: every stream carries the mass flow of every mineral in 63 size classes plus water, the grinding circuit is closed (an energy-specific population-balance ball mill with Plitt cyclones), separation runs through flotation banks, a gravity bleed, magnetic drums or desliming, and every unit closes within 1e-9. Twelve authored ore and plant cases with 72 variants; a TypeScript port in a Web Worker held to the Python engine within 1e-6 re-solves the circuit on every control change; kinetic fits, a constrained optimizer, Latin-hypercube uncertainty, Sobol sensitivity and five learned surrogates (leave one case out, autoencoder guard) are baked offline. 341 Python tests, 165 frontend tests, a 684-check browser gate. Authored scenarios, not a calibrated plant; the measured lanes (HZDR RODARE 336, GeoMet Zenodo 7051975) are kept apart. Part of the Faena hub. MIT.
Inverse Earth Studio, a Geophysical Inversion Workbench on Original Synthetic Earths - Bilingual geophysics research workbench: 3D potential fields (SimPEG kernels), layered magnetotellurics with a live browser solve, acoustic full-waveform inversion (an executed Deepwave CUDA adjoint), learned inverses (CNN and autoencoder on 800/160/160 independent realizations) and joint cross-gradient inversion, on twenty geological constructors under six conditions each: 120 artifacts and 324 method results replayed with an inversion scrubber and a 3D scene. Numerics checked against independent Choclo and SimPEG prism computations; both hosts match the local build byte for byte. Original synthetic examples, no field validation, no posterior uncertainty or novelty claim; version 2 replaced a first version I rejected, and 0.03.000 gave the visual layer back to the shared shell. Apache-2.0 code, CC-BY-4.0 content; lifecycle building.
Neuraxis and reflexmesh, an Event-Driven Software Controller with Learned Metacontrol - A fast, typed controller for software, files, tools and agents that recruits slower language-model reasoning only where the outcome justifies it. reflexmesh, public on PyPI from its own repository, owns the Rust/PyO3 admission layer, the typed event model and the learned control; Neuraxis, the private app, does real work on supplied files (verify a software release in nine verified steps, reconcile CSV records, audit sources) with independently checked outputs and the originals untouched. The corrected evaluation, 19,488 episodes, does not establish learned superiority: M12 reached 1,160 of 1,200 core successes against 1,200 of 1,200 for the exact baseline, both fitted allocation gates chose never to defer, and four fixed gates matched it. No AGI or biological claim; the first version was rejected and rebuilt.
Fragmenta, Blast Fragmentation Prediction Where the Learned Arms Explain Nothing on an Unseen Site - Twelve arms (six classical closed forms from Kuznetsov to two published regressions, six learned from a Levenberg-Marquardt network to gradient boosting and a stack) predict the mean fragment size of a bench blast over sixteen cases from 116 published blasts, scored under three split protocols. The headline is negative and on the front page: under leave-one-site-out not one learned arm explains any variance (best -0.034 against a null at -0.216), while the two fixed-coefficient arms, the published regression at 0.802 and Kuznetsov at 0.311, are the only positives; the kill criterion written before the run fired. Engine blastfrag published separately on PyPI; reproducibility stated as measured (byte-identical within an environment, better than 3e-08 relative across operating systems). Part of the Faena hub; lifecycle building. MIT.
Floraria, a Continuous Botanical Scene from Museum Scans to Cells - One continuous scene from the whole flower to tissues, cells and compartments, opened by scroll or pinch, with three floral constructions, four connected pathways and twelve guided investigations. Five Smithsonian CC0 bloom specimens (outer surfaces only) and two authored educational component models stay in visibly labelled lanes in the interface and in every export; no internal organ, segmentation or measurement is claimed from a scan. English and Spanish, keyboard and touch, bookmarks, shareable selections, JSON and PNG export. Rebuilt twice on my own verdict with every earlier release kept reachable; 160 frontend and 56 Python tests and a 126-check browser suite. Apache-2.0; lifecycle building.
Plega, a Rigid-Paper Mechanism Workshop from Editable Design to Actual-Size Cut Files - One editable design connected to a moving rigid-paper view, explicit geometric diagnoses (lane overlap, collision, separation), finite pinned repair comparisons, assembly progress and calibrated actual-size PDF, SVG, FOLD and JSON export, every coordinate in millimetres. Two mechanism families, up to six separated lanes, twelve cutwork compositions, six starters and two deliberately invalid repair cases. The model is rigid zero-thickness panels and says what it does not predict: material stiffness, fold forces, glue, printer calibration, assembly success. Each release recorded with its exact commit and verified Quality and Pages run; 105 frontend and 24 Python tests. Apache-2.0 code, MIT design data; lifecycle building.
Conectoma, a Fly Connectome Used as a Frozen Vision Network, Measured Against Its Own Nulls - The Janelia MaleCNS v1.0 wiring of the male fruit fly (166,691 neurons, 11,691 cell types, CC-BY) compiled by a compiler identical to flyvis's and frozen as the architecture of a vision network for depth from a moving camera and figure-ground segmentation; synapse counts and signs never change. Three regimes (readout only, the published 734 per-type biophysical parameters, per-edge gain) and three null controls built from the same wiring (degree-preserving rewiring, size-matched random sparse graph, sign shuffle), 22 methods over 16 video cases with 6 physical variants each. Reservoir plus trained readout, paired per clip: +0.197 against the random graph, +0.136 against the sign shuffle, -0.017 against the degree-preserving rewiring, so what the biology adds over a random graph it does not add over a rewiring that keeps every cell's degree. Six compiler defects found and fixed, two inherited. Live with 1,183 checks against the HTTPS URL; MIT; superseded by Destello on my own verdict; lifecycle planned, the plan not validated.
Destello, the Whole Fly Nervous System Working Through Its Two Real Eyes - Successor of Conectoma, ordered on my own verdict that it showed a type-level abstraction of one eye: the MaleCNS v1.0 connectome (166,700 neurons, brain and nerve cord, CC BY 4.0) driven through both real compound eyes (879 left and 892 right measured columns) with the published neuron models and nothing learned inside the wiring, so a visitor can watch real neurons fire at real positions and intervene. Built engine first: four verified dossiers, a plan, then flycns, its own package, complete in Python and in the browser (CPU and WebGPU, held to the reference) and published on PyPI and npm at 0.07.000, with four coupled models measured on MaleCNS; a flash reaches the nerve-cord motor neurons; the eye model's vertical was found one lattice step off and fixed. Then the visual world: an analytic renderer of both eyes and the 13 cases with 222 stimuli and exact truth. The engine runs over the cases, the export and the web product are not built; nothing is deployed; version 0.01.001; lifecycle planned.
Rajo, Open Pits Seen from Orbit - An open observatory of thirty of the world's great open-pit mines and lithium evaporation ponds over four decades: a MapLibre globe with real relief, a yearly time-lapse per site from Landsat 1985 to Sentinel-2 today, nine spectral and mineral indices computed live in the browser from the raw cloud-optimized GeoTIFFs, a random forest and a U-Net (held-out test IoU 0.378) exported to ONNX and run on WebGPU or WASM, change points on the mined-area series, and the elevation difference between the 2000 radar surface and the 2011 to 2015 Copernicus surface. 7,107 baked and checksummed files replayed by a static site; no backend, no account, nothing uploaded. Sourced facts per site (Cochilco, operator disclosures, USGS); derived polygons stay CC BY-SA, the basemap is non-commercial and the product says so. Own visual identity; live since 2026-09-03, version 0.02.007; the plan keeps the lifecycle at planned.
Laminario, an Open Collection of Microscope Slides in the Spirit of iNaturalist - A public collection where every case is a real microscope slide shown as the glass object it is, its format, the specimen under the coverslip and a label with a scannable QR, and behind the glass the micro imagery in deep zoom over IIIF, from one photomicrograph to a whole-slide scan with focal planes and polarised pairs. Three realms, 18 collections, 129 sub-collections with 185 designed icons; visitors browse without an account, invited contributors upload multi-gigabyte scanner files resumably, the community agrees on identifications by a two-thirds rule; source, author and licence per asset and a base collection of at least 300 openly licensed slides. FastAPI over SQLite, a durable worker queue, libvips with OpenSlide, iipsrv for IIIF Image API 3 and a Presentation 3 manifest per slide, React with OpenSeadragon and MapLibre. Version 0.01.000 (2026-09-25): the data model and both contracts; nothing deployed; lifecycle planned.
Sondara, a Local-First Drillhole Intelligence Workbench - Collar, survey, assay and geology sources desurveyed and rendered as a WebGL subsurface reconstruction in the browser (borehole tubes, assay supports, an ore continuity shell, geology contacts, depth slicing), no login, uploaded data staying on the machine. A support-weighted estimate with uncertainty, cross-validation and the grade profile is recomputed locally; the spatial-conditioning engine is geocond (support-aware conditioning, covariance estimation, sequential simulation), published on PyPI from its own repository. Not a production resource estimate: QA and QC, compositing, variogram fitting, full covariance, categorical simulation and competent-person review are stated as outside the public workbench. Public alpha, lifecycle building.
QMine, Quantum Computing Measured on Real Mining Problems - Private research app that measures what today's quantum providers can do on real mining problems: every case runs the same ladder on real engines (OR-Tools CP-SAT, HiGHS, exact decomposition, field heuristics, dwave-samplers annealing and tabu, simulated bifurcation, QAOA variants, VQE, PennyLane, a quantum kernel) plus eleven credential-gated provider lanes, with a money-denominated cost ledger and a verdict computed per instance. Sixteen cases, 121 variants, 3,255 declared solver cells, baked completely with every skip explicit. Measured today: problem-aware gate variants reach the proven optimum on tiny pits; a tie on supply packing with the classical solver three times faster; ridge beats both quantum models on a flotation soft sensor. No quantum advantage is claimed. Lifecycle building. MIT.
Fragua, Ensembles of Phenomenological Models for Mining and Industrial Processes - Instead of one kinetic equation per unit process, many realizations (families x multistarts x bootstrap resamples) from a curated bank aggregated into calibrated ensembles with structural inclusion probabilities: which model describes this process and with what confidence, then what that structural doubt means for prediction beyond the training envelope. BAPE (Bootstrap-Aggregated Phenomenological Ensembles) is rung 6 of a twelve-rung ladder baked over 30 variants beside a Bayesian model average, ensemble SINDy, a Kennedy-O'Hagan hybrid and deep ensembles, with a misspecified control whose truth lies outside every family. Engine phenoforge on PyPI from its own repository; a real Pyodide live lane installs the published wheel in the browser. The concept's novelty gap was verified against literature and vendors before the build. Private research product; lifecycle building.
Porvenir, Learned World Models for Mineral Processing, Measured Against Holding the Last Value - A world model takes a proposed action sequence as an argument and returns a distribution over futures, which makes what-if, planning and regime detection expressible. Eleven rungs plus a Chronos zero-shot yardstick, from persistence and VARX through GRU-D, DeepAR, MQ-RNN, a probabilistic ensemble, a patch transformer, S4 and recurrent state-space models, every one scored per horizon against holding the last value on the CC0 iron-ore flotation record, the Tennessee Eastman archive and two in-house simulators. On the real record seven of nine learned rungs do not beat persistence, and the case says so; the first bake's numbers were withdrawn for four recorded defects and replaced by a re-bake. Engine latentplant on PyPI; a CC-BY preprint on Zenodo; a research product, not a plant control system.
CareerTwin, Single-Seeker Career Evidence and Job-Search Workbench - Self-hosted job-search workbench for one seeker: an evidence-centred profile, opportunities captured with provenance, and a deterministic match score that is a versioned alignment measure with coverage and uncertainty (required, preferred and eligibility kept apart), never a hiring probability. Bounded, evidence-cited agent workflows may only propose writes the seeker approves, and the product runs fully without a provider. FastAPI, PostgreSQL 17 with pgvector, React; ESCO 1.2.1 and O*NET 30.3 importers with a pinned retrieval benchmark. v0.14.5 live on one VPS behind 82 backend and 22 frontend tests, CodeQL, an SBOM and an 8.059 ms p95 load contract; it does not rank candidates for employers, infer protected traits, scrape, auto-apply or send outreach, and no external job-search outcome is claimed. Public, MIT.
Enunciado, How Faithfully Language Models Turn a Problem Statement into a Solvable Model - Measures how faithfully language models turn a narrative problem statement into a formal, solvable optimization model, judged by an oracle that is not a language model: executable, structural and property layers over a solver with a duality certificate. 20 authored cases across five complexity tiers, 16 models from 4 providers, 320 calls, every row complete: the best local model (phi4) is faithful on 5 of 20, and the output cap moves DeepSeek-V4-Pro from 2 of 20 at 8192 tokens to 11 of 20 at 32768. Consumes the separately published planteo (representation) and copela (harness) packages and declares none of its own. Ten defects were caught by gates rather than review; the first measurement read +0.000 and was wrong; every rate is recounted from the committed ledger in CI.
Aerovia, Underground Ventilation Design and Analysis Workbench - Underground ventilation in the browser: draw a network in 3D, solve flow, pressure, paths, recirculation, fan duty and energy, transport a conservative passive tracer with scheduled sources and a complete mass ledger, and screen designs with MLP and graph models shipped as 24 ONNX exports with their held-out approximation limits stated. Twelve authored networks, 33,792 learned dataset states and a 216-cell benchmark reproducible from public scripts; 34 Chromium journeys and 24 inference checks on the public site. The networks are planning inputs, not measured mines, and no industrial saving is claimed. A rejected first version was rebuilt in full from the product template. Apache-2.0.
GapTheo, Visual Atlas of the Three-Gap Theorem - Research and teaching instrument for the three-gap theorem: the sorted finite orbit of an irrational rotation is the primary live calculation, from an exact finite oracle, and eleven linked readings stay in sync with it (Farey cells with a continued-fraction certificate, return gaps, cyclic words, a lattice, a two-interval exchange, a finite 0D Rips topology). Twelve canonical cases, generated certificates, a benchmark, the manuscript source and a 35-tab wiki; random placement, a farthest-point allocator and a two-frequency extension are labelled contrasts, never inputs to the theorem. No new theorem is claimed; runs locally in the browser on the shared CAOS shell. Apache-2.0.
Espira, Optimal Control of Magnetization Switching in Two-Dimensional Magnets - The least-dissipation field or current pulse that flips a magnetic bit in a two-dimensional van der Waals magnet within a target time, computed by the separately published spinoct engine (analytic uniaxial and spin-orbit-torque paths, a numerical biaxial optimal-control problem, GRAPE, CRAB, free-chain control and a barrier floor). Reproduces its kickoff paper (Adv. Mater. 2026) as a verification floor, agrees with Spirit on the barrier (1.4e-06) and VAMPIRE on the equation of motion (4.7e-06), and reports costs in tesla-squared-seconds as damping bands, with FePS3 as a declared negative control. 25 of 26 cases baked, two recomputed live in the browser; two CC-BY Zenodo preprints with every table pinned to its artifact; 14 browser gates against production. MIT.
Maqueta, Real Places Rebuilt in 3D from Fused Open Geodata - Real areas rebuilt in 3D from open geodata (Overture buildings and roads, Copernicus GLO-30, ESA WorldCover, OpenStreetMap, GHS-POP, Google Open Buildings 2.5D, 3DBAG LoD2, SoilGrids) fused by the separately published geoscena package, with source, licence and per-building height provenance visible. 118 places, Santiago as 37 comunas among them; colour and filter by any fused attribute, a cloudless Sentinel-2 drape, NDVI, NDWI and NDBI per building, solar and climate per place, and an area tool that summarises the buildings inside any drawn polygon (count, footprint, coverage, density, height distribution, function and land-cover mix). Three.js on a static site; a first deploy called a toy was rebuilt to the bar the same week.
TruckVitals, Onset Detection on Haul-Truck Telemetry (Regime First, Then Residual) - Every haul-truck channel moves with payload, grade and speed, so a change detector on raw telemetry detects the truck going uphill, not a fault. TruckVitals segments the operating regime FIRST, from context channels disjoint from the monitored ones (which is what stops the segmentation absorbing the fault it exists to expose), and detects on the within-regime residual. The headline carries no detector in it, so no threshold rule or budget can move it: on six-operating-condition NASA C-MAPSS subsets the fault signature is 0.16 sigma of the pooled spread and 11.95 sigma of the within-regime spread (ratio 90.2; 62.3 on the second pair), while single-condition subsets return exactly 1.00 as a negative control nobody designed. Four scoped data lanes (C-MAPSS, SCANIA APS, SCANIA Component X over 23,550 real vehicles, and a synthetic fleet), a published NULL on onset localisation, and a WITHDRAWN false-alarm claim. The headline changed after a review commissioned to refute it broke three of its four numbers. Engine: the separately published regimecpd package. Part of the Faena hub.
PhaseFlow, Open-Pit Production Schedule with a Certified Bound - An open-pit production schedule (the constrained pit limit problem) solved with a certified bound and animated year by year over the block model: PitForge answers which blocks are worth mining, PhaseFlow answers when, under slope precedence in every period and per-period mining and processing capacity. Anchored to the published MineLib newman1.cpit solved AS PUBLISHED, on its own six periods, 8% discount rate and two capacities: the ultimate pit optimum reproduces exactly (26,086,899) and the joint LP bound lands at 24,486,184 against a published 24,486,549, with the shipped 2.49% gap stated against a published 1.26%. The bound needs no LP solver (critical multiplier algorithm, exact in O(mn log n) as parametric maximum closures), which is why a TypeScript port re-solves the whole problem live in the browser under a parity test. Two bounds run on every case and their difference is reported, because that difference is the part of a gap belonging to the bound rather than the plan. Spatial coherence is a first-class KPI. Engine: the separately published oreblocks package. Part of the Faena hub.
StockTwin, Run-of-Mine Stockpile Twin (Built Truck by Truck) - A run-of-mine stockpile built the way one actually is: by trucks, one load at a time, following a dump plan, on ground they have to be able to climb (fresh material stands at ~37 degrees and a truck climbs about two thirds of that, so a truck never stands on fresh material; unreachable tips are refused and recorded, ~17% of loads). It measures the three questions that matter, each against the right bound: homogenisation as variance reduction against the 1/N independent-layer bound (withheld where unreliable), provenance as a per-cell lot ledger summing to one on every cut, and size segregation via the Gray-Thornton kinetic-sieving model down a real face. 22 scenarios across 6 axes, 22,656 placed loads, every one relaxing to zero cell pairs over the angle of repose, gated on the actual artifact; two that would not relax were withdrawn rather than shipped broken. Physics is the separately published bedblend package; synthetic and MineLib-public data only. Not a blending optimizer and it emits no plant setpoint. The open, synthetic counterpart to a real mineral-tracking line of work. Part of the Faena hub.
GeoLab, Browser-Native Multi-Engine Geospatial Tool Platform - Browser-native, no-install geospatial platform: load a DEM / GeoTIFF / vector / point cloud, run real geoprocessing tools, chain them into reproducible JSON pipelines, and explore on a map or 3D canvas, entirely client-side (WASM in a Web Worker), your data never leaving the machine. Live today: 747 real WhiteboxTools / GeoLibre tools via the geolibre engine; multi-engine architecture (ADR-0059) aggregating GDAL, GEOS, Turf, H3, ITK, OpenCV, ONNX as adapters. Per-tool provenance; the tool count is only what genuinely runs. A CAOS lab (SimLab / PINN-Lab / QLab family).
FrothSeg, Flotation-Froth Instance Segmentation Lab (Browser ML) - Browser-native instance segmentation of flotation froth (per-bubble delineation via client-side ONNX): seven classical methods vs LamellaStar, a real published four-head model shipped as a three-seed logit-mean ensemble (N1 mean AP 0.5186, AP50 0.8279, PQ 0.7359) with SAM2 / Cellpose-SAM teachers and a distilled browser head. Data constraint: no public real froth dataset exists (the search is recorded as a null, Roboflow dropped), so froth cases are synthetic and BBBC038 (64 real dense-touching images, CC0) is an adjacent-domain transfer probe that explicitly does NOT clear the froth blocker; the transfer study refuted its own hypothesis. Part of the Faena hub.
Fisura, Materials-Damage Vision Lab (Crack Detection to Engineering Units) - Public research lab on seeing damage in built materials: one surface image in, damage detected and quantified in engineering units (pixel-to-mm width/length, orientation, density, growth between inspections, 2D digital image correlation), with a full method ladder (classical pipeline, learned SOTA segmentation, foundation models, anomaly detection) compared on the same open cases with the same metrics. Masks are only ever the input to a number. Offline heavy lane plus a client-side browser live lane. Scope: a method-comparison lab, not a certified inspection tool; under active build-out.
SymLab, Symbolic Regression Lab (Accuracy and Recovery, Reported Separately) - Public research lab on symbolic regression: recovering a readable closed-form expression from data. Reports accuracy (R2 on test) and structural recovery (did it return the true law, by edit distance) as two separate columns on every known-law case, never averaged, across genetic-programming and sparse-regression families at published budgets. Headline (Feynman Gaussian): sparse regression reaches R2 = 1 - 1.8e-09 in about zero seconds and recovers nothing; every accuracy-only benchmark scores it solved. Runs live in the browser.
CentralIA, Initiative-Management Console over a Version-Control Provider - Connection-first web console that connects to GitHub, GitLab or an offline emulator, reads a management repo through its structure map, and renders a whole portfolio of repo-mapped initiatives: a filterable grid, per-initiative 5-axis status (development, design, implementation, deployment, value), live open issues, plans, findings, history, and a hub growth graph. A real tool, not a mockup, with a genuine self-contained offline emulator; the token lives server-side (never the browser or a DB) and a server-side anonymize toggle redacts client info for screen-sharing. Single-user auth; public instance private.
ChronoScope, Univariate Forecasting Atlas with a Foundation-Model Tier - Univariate time-series forecasting atlas: 15 diagnostic cases through one 19-method ladder (classical up to four zero-shot foundation models: Chronos-Bolt, Chronos-2, TimesFM-2.5, TiRex-2), scored by backtested MASE/sMAPE/coverage, baked offline and replayed in a static SPA. On real M4-hourly a one-line SeasonalNaive (MASE 0.641) beats TimesFM-2.5 (0.729).
TailWatch, InSAR Ground-Deformation Studio for Tailings Dams & Slopes - In-browser InSAR ground-deformation studio for tailings dams and slopes: a LOS displacement cube with per-pixel OLS velocity, a Fukuzono inverse-velocity time-of-failure forecaster with split-conformal bands, and two live ONNX models, over 5 physics-simulated cases plus 1 real Sentinel-1 sample. On the held-out benchmark the classical velocity map (AUC 0.968) beats the learned anomaly autoencoder (0.898). Part of the Faena hub.
DispatchLab, Truck-to-Shovel Dispatch Bench for Open-Pit Mining - In-browser truck-to-shovel dispatch bench on a deterministic open-pit DES: nine policies (heuristic, OR-Hungarian, learned) compared under common random numbers against a closed-form capacity oracle, over cases from minehaulsim (the author's own Apache-2.0 PyPI package). The distilled Monte-Carlo rollout is a published null, winning 0 of 8 seeds under cycle-time uncertainty. Part of the Faena hub.
ChancaDEM, Crusher-Comminution Studio (Population-Balance Engine) - In-browser crusher-comminution studio: a pure-TypeScript closed-form engine (Whiten population balance solved live by LU + Evertsson capacity + Bond power) computes product gradation, throughput and power in sub-millisecond, with the secondary-cone lane calibrated to 10 published HP500 surveys (leave-one-out MAPE 12.09% beating both negative controls). Despite the name it does NOT run DEM, the 3D chamber is a kinematic animation. Part of the Faena hub.
CoreLog Vision, Drill-Core Logging & Lithology Classification Workbench - Browser-native drill-core logging workbench: a 6-class lithology CNN plus a Mahalanobis out-of-distribution flag that routes unfamiliar core to a novelty flag instead of forcing a class, run client-side on synthetic trays with a real DCID photo lane as the evaluation-only set. The 0.994 accuracy is synthetic-vs-synthetic, a label-permutation control collapses to chance, and the shipped OOD detector replaced an incumbent that scored worse than chance (0.3078). Part of the Faena hub.
PitForge, Exact Ultimate Pit Limit & Nested Whittle Pit-Shell Workbench - Open-pit mine-design workbench that solves the ultimate pit limit exactly (maximum-weight closure reduced to a Dinic min-cut, live in the browser) and derives nested Whittle shells, reproducing three published MineLib optima to <= 2e-9 relative error and self-checking against the max-flow duality identity. The learned grade-nn (R2 0.8757 vs ordinary kriging 0.9333 on a leave-one-geology-out split) trails kriging and never beats it, and the CPIT lane reproduces the published newman1.cpit LP bound to 3.7e-9 and publishes a 3.81% bound-to-feasible gap, with a separate synthetic twin at 11.29% labelled non-comparable. Both learned models are trained on synthetic seeded deposits, no real drillholes. Part of the Faena hub.
ProspectMap, Mineral Prospectivity Workbench with a Published Null Result - Mineral-prospectivity workbench computing a Weights-of-Evidence posterior live in the browser over stacked layers, with conditional-independence testing and random-vs-spatial CV inflation made first-class. On the real US Midcontinent MVT Zn-Pb belt (Lawley et al. 2022) the committed verdict is ranking_win false, PU-Conformal (0.656) loses to 1989 Weights of Evidence (0.732), and a trivial distance-to-deposit null (0.783) ties the best model, so most apparent skill is spatial proximity. Part of the Faena hub.
FragmentIQ, Post-Blast Muckpile Fragmentation Analysis Workbench - Post-blast fragmentation workbench delineating muckpile fragments by watershed in the browser and deriving a mass-weighted particle-size distribution with a Rosin-Rammler fit and P10/P50/P80, scored against generator truth on synthetic cases with 5 real Gole-Gohar photos shipped as an explicitly RELATIVE lane (no scale, no sieve truth). The over-segmentation bias is shown in the artifact (116 recovered vs 70 true), and the learned refinement gain is indicative not significant at n=8. Part of the Faena hub.
Pulso, Well-Test Diagnostic-Curve Shape Clustering and Attribution - Unsupervised catalogue of flow-behaviour classes for fractured reservoirs: it clusters the shape of pressure-transient Bourdet-derivative curves with DTW k-medoids, attributes each class to fracture-network descriptors (Random Forest + SHAP), and classifies a user curve against baked medoids with conformal prediction, reproducing and extending Kamel Targhi et al. 2026 on a real 4TU corpus (~4768 curves, silhouette 0.72/0.86 against a 0.137 single-regime null). The learned models' accuracy is against the pipeline's own k-medoids labels (training-set silhouette a weak 0.190), not external ground truth, and the aquifer transfer carries shape but not physics.
CardioPINN, Physics-Informed Cardiac Inverse-Problem Lab - Two-case lab in physics-informed cardiac reconstruction on 100% real measured data (EDGAR ECGi beats; one thoracic-aorta 4D-flow MRI), scoped as a complement to classical methods, not a replacement: calibrated per-node uncertainty (2-sigma ~0.90) and a resolved relative-pressure field, outputs a deterministic estimate cannot give, at point-accuracy parity with Tikhonov (stated in-app). Two CI-tested autograd advances (spatial 0.066 vs 4.19 mmHg; temporal dv/dt exact to ~6 frames/cycle) and three published nulls.
ADRA, Adversarial Dev Review Agent - Deterministic-first, adversarial-validation engine for the software lifecycle: deterministic tools (git, the exact CI command, bundle validation, leak scan, SQL probes) run first and become grounding the model may not contradict plus an immutable provenance log; a blocking critic tries to refute each artifact, an LLM-as-judge scores with swap-and-average, and the loop escalates to a human where nothing deterministic backs the verdict. Six skills, offline-capable, no API key. On PyPI as adra.
Croquis, On-Device 3D Reconstruction of Real Spaces on Android - Android app (Expo shell + native Kotlin/C++ core) that turns a walk-through (camera, IMU, GPS, no lidar) into a metric, consistency-gated point-cloud reconstruction computed fully on the phone, stored on the phone as a scene library with a stated uncertainty budget; imagery never leaves the device. Sensors own trajectory and scale (ARCore VIO); the neural depth model contributes geometry only. In development (v0), Apache-2.0, with a local-GPU reprocessor (Croquis Station).
CAOS Seismic, Probabilistic Earthquake Forecasting - Operational earthquake forecasting (forecasts, not predictions): space–time ETAS + smoothed Poisson null + a gated neural challenger, scored with pyCSEP (information gain in nats), calibration as a release blocker. An offline daily job commits its data to git, and a static viewer reads it.
CAOS SimLab, A Didactic Lab for Simulation (DES & ABM) - Open lab for Discrete-Event Simulation and Agent-Based Modeling: land in a running sim, tune params, watch the dynamics. Ten scenarios over six viz families; a run is a pure function of (params, seed) so replay is exact; live in-browser via Pyodide; validated vs theory (M/M/c ↔ Erlang-C).
RotorVitals, Rotating-Machinery Condition Monitoring & Prognostics - In-browser condition-monitoring and prognostics workbench for rotating machinery (bearings-first) on real measured vibration: a source selector over CWRU/Ottawa/MaFaulDa diagnosis and FEMTO/XJTU/IMS run-to-failure, a classical DSP chain, a learned WDCNN + autoencoder, and a four-model RUL ladder, all live via onnxruntime-web. It shows where the deep model loses to physics cross-rig. Part of the Faena hub.
ChargeCascade, Tumbling-Mill Charge Motion & Power Studio - Live in-browser 3D studio for tumbling-mill (SAG/ball/rod) charge motion and power: critical speed, the transition from cascading to cataracting to centrifuging, toe/shoulder, Hogg-Fuerstenau/Morrell/Bond power, closed-form physics (not DEM) recomputed on every slider, with an ONNX power surrogate (~5% vs the exact engine) and an out-of-envelope anomaly guard. Part of the Faena hub.
Faena, Mining-Analytics Hub - Open launcher cataloguing a growing set of independent, in-browser mining-analytics tools across the value chain, each its own documented product on real or validated-synthetic data. Every tile carries its lifecycle status from the registry, without rounding up: 6 live (DispatchLab, ChancaDEM, ChargeCascade, FrothSeg, StockTwin, RotorVitals), 8 in active development (deployed and try-able, not yet validated at the bar: CutoffGrade, TailWatch, CoreLog, PitForge, ProspectMap, FragmentIQ, PhaseFlow, TruckVitals), and 28 planned. React 19 and Vite single-page app, static files on GitHub Pages, bilingual, data-driven.
CutoffGrade Studio, Lane's Optimal Cut-off Grade - Open studio for Lane's optimal cut-off grade: from a grade-tonnage curve plus prices/costs/capacities it computes the NPV-maximising declining cut-off trajectory, NPV and mine life, live in-browser. The exact Lane optimizer is the authority; the learned ONNX models are for speed only, not accuracy. Synthetic base case, openly labelled. Part of the Faena hub.
Atalaya, A Watchtower over Chile's Open Data - Data-engineering + IR pipeline over Chile's Data Observatory: harvests and profiles 1,017 datasets and mines five cross-dataset relations (same-source, semantic MiniLM/ONNX, spatial, joinability via MinHash, correlation with permutation-null + FDR) into an explorable knowledge graph, with client-side semantic search. Each edge carries its evidence strength, and none is presented as causal.
MineHaul (minehaulsim), Mine-Haulage Discrete-Event Simulation - Open-source Python package (Apache-2.0, on PyPI): deterministic discrete-event simulation of open-pit and underground mine haulage on constrained road networks, with seeded parametric mine generators. Byte-deterministic, 227 tests. Real engine, synthetic mines (class-representative, not OEM). Companion generator for DispatchLab.
Lidar3D, Streaming 3D Reconstruction Lab - Early research lab for feed-forward streaming 3D reconstruction: an RGB/LiDAR stream becomes a camera trajectory, dense depth and a fused point cloud (a from-scratch depth+pose net, ~0.28 m ATE on TUM, plus a vendored model). The site replays the baked cloud across four renderers under one transform, with strict renderer parity; replay, not real-time; not SLAM.
QLab, Quantum Laboratory - Didactic quantum-computing lab running real frameworks (Qiskit, PennyLane, Cirq, Stim) on 20 cases, each next to its classical baseline. Verdict, with the costs on screen: 0/20 practical speedups, at lab scale classical still wins. Reproducible traces, simulator-only (no QPU claims).
PINN-Lab, A Runnable Catalogue of Physics-Informed Neural Networks - 19 PINN cases trained offline (DeepXDE, exported to ONNX), validated against analytic/benchmark/real-data anchors, and re-inferred live in the browser (onnxruntime-web): move a parameter and the network re-solves the PDE. Forward + inverse + UQ + operator learning; relative-L2 published per case.
ImageLab, One Image Across the Full Spectrum of Representations - Interactive lab that writes a single image in eleven representations (orthonormal Fourier/DCT/wavelet/KLT transforms, overcomplete sparse dictionaries, geometric primitives, a SIREN implicit neural field, symbolic CPPN formula art, Fourier-descriptor epicycles, and learned VAE and diffusion latents), each with its parameters editable live. The measured thesis: editability is U-shaped, peaking at the designed-structure pole (local, exact edits; KLT/wavelet locality ~1.0) and the learned-manifold pole (semantic, entangled edits) and collapsing to noise between (Fourier/DCT ~0.16-0.23), backed by a real cross-family rate-distortion and fixed-budget-fidelity benchmark. Everything is computed live in-browser (TypeScript + WebGL2) or baked by a seed-deterministic Python pipeline, with PSNR/SSIM/MS-SSIM shared across both. Sibling of PINN-Lab, QLab and SimLab; bilingual EN/ES, light/dark.
Veta, Agentic Mineral-Tracking Decision Support (private) - Private DSS for mineral processing: a voice/text question runs through a multi-stage agent pipeline to tiered solvers, with every recommendation grounded and traceable via RAG.
Mantia, Anonymized Hub of Agentic Tools for SAP Plant Maintenance (private) - An anonymized hub cataloguing a family of agentic tools oriented to SAP Plant Maintenance (PM): work-order generation, spares planning, notification triage, scheduling and more, on one shared agent core with a mock-or-real connector to the enterprise system. Delivered under confidentiality: general description only, no client data.
Mine Pile Visualizer, Stockpile & Circuit Explorer - Local-first Next.js 16 app for mining circuit topology, 3D stockpile voxels, live material state, and profiler history. React Three Fiber + Apache Arrow.
FeelIT 2.0, Haptic Accessibility Workbench - Modern web-based platform for tactile 3D object exploration, Braille reading, and haptic desktop interaction. 5 workspaces, 116 tests, hardware-optional with a native haptic-device bridge.
Crusher Liner Wear Management System - Full-stack platform for 3D point cloud analysis, cylindrical wear profiling, and remaining-life forecasting of industrial crusher liners.
Hyperspectral Mineral Analysis by Topic Modelling - Unsupervised topic models (LDA/ProdLDA/ETM) over hyperspectral mineral images; a design-space sweep of 17 representations finds MI-weighted bands (V20) most separable. From a 2022 conference paper to a live platform.
Hyperspectral Mineral Classification Platform - Supervised ML platform for mineral identification from VNIR/SWIR imagery using ensemble methods, CNNs, and compositional constraints.
Auralis, 6D Audio Embedding Visualizer - Browser app mapping audio onto seven embedding tracks (spectral, PCA/t-SNE/UMAP, Tonnetz, YAMNet, CLAP) as interactive 3D trajectories over 102 curated clips. FastAPI + Three.js.
Finn, Personal Finance & Market Forecasting - Market-analytics demo: walk-forward-validated forecasting, full risk battery, cost-aware backtests, FinBERT news sentiment, and LATAM coverage (IPSA + Chile macro). FastAPI + HTMX + Plotly.
Mining Process Optimization Platform - End-to-end ML platform for SAG milling, flotation, and thickening optimization across multiple mining divisions.
Real-Time Material Tracking & Blending - Digital twin for ore flow tracking, stockpile management, and blending optimization in mining operations.
Environmental Monitoring & Mitigation - Computer vision (24-stream) and Generative AI for pollution detection, forecasting, and natural-language recommendations.
Geotechnical Risk Prediction - ML-based prediction of rockburst and slope instability using seismic data, spatial features, and 3D block models.
HIDSAG - Hyperspectral Image Database for Supervised Analysis in Geometallurgy. Published in Scientific Data (Nature).
Cellular Potts Model Simulator - Interactive CPM simulator for zebrafish embryonic cell migration with deformable bodies and filopodia-driven motility.
3D Embryo Cell Migration Simulator - 3D simulation of collective cell migration on a spherical zebrafish embryo surface using Three.js and FastAPI.
GrainSight, Particle Size Analyzer - 3D granulometry from RGB-D data: watershed segmentation, 18 per-grain metrics, Rosin-Rammler PSD, D-values, sieve simulation.
SurfaceScope, RGB-D Surface Profiler - RGB-D depth profiling for granulometry: surface reconstruction, ISO 4287 roughness, and curvature analysis from depth camera data.
SOFI Super-Resolution Microscopy - Quantum dot fluorescence analysis via higher-order cumulants, achieving sub-diffraction resolution (up to 2.45x improvement).
Optimal Spatial Sampling (AdSEMES) - Information-theoretic framework for optimal well placement using adaptive entropy maximization with (1-1/e) guarantee.
PhD Thesis, Information-Theoretic Sampling - Doctoral thesis on optimal sensor placement in binary random fields. Introduced AdSEMES with (1-1/e) submodularity guarantee. Published in Mathematical Geosciences (2019) and Natural Resources Research (2020).
3D Haptic Simulation - Octree collision detection and spring-damper force feedback for virtual object interaction via Three.js and WebSocket.
Dynamic Holographic Optical Tweezers - Real-time holographic phase mask computation for optical particle trapping using the Gerchberg-Saxton algorithm.
Dual Photography Lab - Computational imaging reconstructing scenes from the projector's viewpoint via light transport matrices and SVD.
Robotic Writer - 5-DOF robotic arm simulation for letter placement using Denavit-Hartenberg kinematics and trajectory planning.
Micromundo, Virtual Microscopy & Science Education - Educational platform integrating virtual microscopy, collaborative teaching, and 3D-printed microscopes for schools. Team: micromundo.team | App: micromundo.app
HyClusVi - Hyperspectral clustering and visualization for mineral analysis using convolutional autoencoders and t-SNE.
separatorimage

Open Source Contributions

minehaulsim (PyPI) - Published Python package (Apache-2.0): deterministic discrete-event simulation of open-pit and underground mine haulage on constrained road networks, with seeded parametric mine generators. Byte-deterministic, 227 tests. Companion generator for DispatchLab.
oreblocks (PyPI) - Published Python package: synthetic 3D ore-body block models of the MineLib nature (seeded deposit archetypes, bench structure, grade fields), for testing and benchmarking mine-planning tooling on reproducible, license-free data.
preqts (PyPI) - Published Python package: prequential (test-then-update) streaming evaluation for stateful time-series forecasters, so a model is scored the way it would actually be used online rather than on a single frozen split.
pygeotypes (PyPI) - Published Python package: shape catalogues of physical response signals (derivative preprocessing, banded DTW, PAM k-medoids), the unsupervised curve-shape clustering core behind the Pulso well-test GeoTypes work.
adra (PyPI) - Published Python package: ADRA, an Adversarial Dev Review Agent, a deterministic-first adversarial-validation engine that verifies review findings by trying to refute them before they are reported. Live console at adra.fasl-work.com.
geoscena (PyPI) - Published Python package: an area-of-interest public-geodata acquisition plus SceneBundle fusion and meshing core for 3D area reconstruction from open geospatial sources.
regimecpd (PyPI) - Published Python package: regime-conditional change-point detection for load-varying machines, segmenting the operating regime from context channels first and detecting on the within-regime residual. The engine of TruckVitals; three defects found by an adversarial review of the product were fixed and released here.
bedblend (PyPI) - Published Python package: a bed-blending stockpile engine, repose-angle deposition truck by truck, Gray-Thornton kinetic size segregation and per-cell lot provenance. The physics of StockTwin.
milldem (PyPI) - Published Python package: cross-platform soft-sphere discrete-element simulation of tumbling-mill charge motion and power. The engine of ChancaDEM.
blastfrag (PyPI) - Published Python package: blast-fragmentation prediction from a bench pattern, the published ladder from Kuz-Ram to stacking ensembles, scored on real measured blasts with variance explained named as such. The engine of Fragmenta, consumed from PyPI since 0.04.005.
fracpta (PyPI) - Published Python package: GeoType catalogues of fractured-reservoir pressure transients, analytic ensembles, GeoDFN networks and their descriptors, open-DARTS wrappers, the clustering ladder and attribution. The engine Pulso consumes since 0.26; extracted from the product in September 2026, when the extraction also fixed a non-reproducible DFN lane.
geocond (PyPI) - Published Python package: support-aware spatial conditioning, covariance estimation and sequential simulation for drillhole data. The engine of Sondara.
spinoct (PyPI) - Published Python package: optimal control paths and energy-efficient switching pulses for classical spin dynamics (Landau-Lifshitz-Gilbert), analytic and numerical, with GRAPE and CRAB. The engine of Espira.
flycns (PyPI) - Published Python package: fly connectome releases (MaleCNS v1.0 first) compiled into signed graphs with positions and per-eye column maps, the two compound eyes, and the whole central nervous system simulated with the published neuron models on NumPy and PyTorch, held to Brian2 and flyvis by parity tests. The engine of Destello; its browser engine (CPU and WebGPU) is on npm as @fasl-work/flycns.
sreval (PyPI) - Published Python package: an evaluator for symbolic regression with triple-equivalence testing that reports its own failures, so accuracy and structural recovery are scored apart. The evaluator behind SymLab.
copela (PyPI) - Published Python package: runs narrative-to-formal translation across many language models and many solvers and scores the result with executable, structural and property oracles rather than a language model; append-only ledger and a budget guard. The harness of Enunciado.
planteo (PyPI) - Published Python package: a typed representation for a problem after it has been read and before it is solved, with dimensions on every quantity, provenance on every element and a record of what the statement left open. The representation of Enunciado.
reflexmesh (PyPI) - Published Python package: typed event-driven software control and learned metacontrol, the public core of System One.
phenoforge (PyPI) - Published Python package: the engine of Fragua, a bank of phenomenological model families with multistart fitting, bootstrap aggregation into calibrated ensembles with structural inclusion probabilities, and a Goodman-Weare sampler for the Bayesian model average.
latentplant (PyPI) - Published Python package: the engine of Porvenir, learned world models for process records, a ladder from persistence and VARX to GRU-D, DeepAR, MQ-RNN, probabilistic ensembles, patch transformers, S4 and recurrent state-space models, with ONNX export for the browser imagination lane.
SCIAN_LEO_CPM - Cellular Potts Model simulator for zebrafish embryonic cell migration.
SCIAN_EVL_SpherSIM - 3D simulation of DFC collective migration on spherical embryo surface.
CEFOP_DinHot - Dynamic Holographic Optical Tweezers with Gerchberg-Saxton algorithm.
Dual Photography Lab - Computational dual photography using light transport matrices.
Robotic Writer - 5-DOF Scorbot III robotic arm kinematics simulator.
SCIAN-Soft - Scientific image analysis software for biomedical and microscopy applications.
Micromundo App - Virtual microscopy platform for science education.

Publications

Selected peer-reviewed publications. Full list on Google Scholar.

  • HIDSAG: Hyperspectral Image Database for Supervised Analysis in Geometallurgy
  • Santibañez-Leal, F.A., Ehrenfeld, A., Garrido, F., Navarro, F., & Egaña, A.
    Scientific Data (Nature), 2023
  • Geometallurgical estimation of mineral samples from hyperspectral images and topic modelling
  • Santibáñez-Leal, F.A., Ehrenfeld, A., Garrido, F., Navarro, F. & Egaña, A.
    18th Intl. Conf. on Mineral Processing and Geometallurgy, 2022
  • A Robust Stochastic Approach to Mineral Hyperspectral Analysis for Geometallurgy
  • Egaña, A.F., Santibáñez-Leal, F.A., Vidal, C., Díaz, G., Liberman, S. & Ehrenfeld, A.
    Minerals, 2020
  • Ore-Waste Discrimination with Adaptive Sampling Strategy
  • Santibáñez-Leal, F.A., Ortiz, J.M. & Silva, J.F.
    Natural Resources Research, 2020
  • Geological Facies Recovery Based on Weighted l1-Regularization
  • Calderon, H., Santibañez, F., Silva, J.F., Ortiz, J.M. & Egaña, A.
    Mathematical Geosciences, 2019
  • Sampling Strategies for Uncertainty Reduction in Categorical Random Fields
  • Santibañez, F., Silva, J.F. & Ortiz, J.M.
    Mathematical Geosciences, 2019
  • Channelized facies recovery based on weighted compressed sensing
  • Calderón, H., Santibañez, F., Silva, J.F., Ortiz, J. & Egaña, A.
    IEEE SAM Workshop, 2016
  • Computational methods for analysis of dynamic events in cell migration
  • Castañeda, V., Cerda, M., Santibáñez, F., et al.
    Current Molecular Medicine, 2014
  • SOFI of GABAB neurotransmitter receptors in hippocampal neurons
  • Huss, A., Ramírez, O., Santibáñez, F., Couve, A., Härtel, S. & Enderlein, J.
    Proceedings SPIE, 2013
    separatorimage

    Recommendations

    Felipe combines deep technical expertise with an ability to translate complex analytics into actionable business value. His work on mineral processing optimization consistently delivered measurable throughput improvements.

    Mining Operations Director

    Senior leadership at national mining company

    An exceptional researcher who bridges the gap between theoretical information theory and practical mining applications. His doctoral work on optimal sampling strategies is both mathematically rigorous and industrially relevant.

    Academic Advisor

    Professor, Department of Electrical Engineering

    Felipe led our analytics team through multiple simultaneous projects across mining, aquaculture, and retail, delivering real production improvements in each. His technical breadth and project leadership are remarkable.

    Technology Director

    Digital solutions company

    Skills & Proficiency

    Python (NumPy, Pandas, Scikit-learn, PyTorch)

    Machine Learning & Deep Learning

    Azure (Databricks, Data Factory, Power BI)

    MATLAB & Signal Processing

    Data Engineering (Kedro, Spark, SQL)

    MLOps (CI/CD, Model Registry, Monitoring)

    Image Processing & Computer Vision

    Geostatistics & Spatial Analysis

    C++ & CUDA

    Project Management & Team Leadership