Engineering

Engineering case studies

Detailed write-ups of systems I have built and operated, detailing technical constraints, architectural decisions, and operational outcomes across HPC, data engineering, and distributed backend services.

10+ years shipping 8 case studies Fortran → TypeScript HPC → live events

Case 01 · Scientific computing & HPC

Re-engineering an ocean transport model in Fortran/OpenMP, now for sediment too

IHCantabria · Oceanology Group · 2023 – present · Santander, Spain

50×

more particles

The constraint

IH-TESEO is the group's hydrocarbon-spill model: Fortran, OpenMP, Lagrangian particles carrying weathering chemistry. Its particle budget was the ceiling on every study it was used for — resolving slick boundaries and filaments around complex coastlines requires high particle density. Increasing capacity required preserving numerical precision and physical behavior exactly, ensuring weathering chemistry results remained identical to the original model.

What I did

  • Re-engineered the particle core so the model simulates ~50× more particles than its predecessor, with the weathering processes fully validated against the original with full numerical accuracy.
  • Reworked the parallel execution in OpenMP so existing simulations finish up to 4× faster while scaling to substantially larger particle ensembles.
  • Implemented netCDF input and output, so runs now interoperate directly with standard ocean-data and geospatial tooling (xarray, GDAL, QGIS) without bespoke converters.
  • Wrote the model's automated test suite and wired it into CI/CD with GitHub Actions — regression-guarding the numerics on every commit.

What I am building now

The same engine is being extended beyond hydrocarbons into sediment transporthindered settling and bedload transport. Hindered settling depends on the local concentration of particles, and a purely Lagrangian model has no concentration field of its own.

So I implemented a Lagrangian → Eulerian → Lagrangian framework: particles are binned onto a grid to produce the Eulerian fields the concentration-dependent physics needs, the process is evaluated there, and the result is carried back onto the particles. Lagrangian resolution is preserved where trajectories matter, while the model gains awareness of the plume around each particle.

Outcome

Higher-resolution hydrocarbon-spill studies run reliably, model outputs integrate directly into standard analysis stacks, and automated CI tests catch numerical regressions before code merges. The same foundation now carries a second class of physics.

Particle capacity · predecessor

Particle capacity · re-engineered≈50×

Weathering physics validated across all runs with full numerical accuracy.

Runtime · predecessor1.00 t

Runtime · re-engineered0.25 t

Up to 4× faster execution on the same studies.

LANGUAGEFortran + OpenMP
I/O FORMATnetCDF (CF-style)
NUMERICS GUARDAutomated tests in CI
IN PROGRESSSediment transport · L→E→L

FIG. 1 — Capacity and runtime, before and after. Bars are drawn to the figures I can defend; the capacity bar is scaled so the predecessor stays visible.

FortranOpenMP netCDFCMake / Make GCC & Intel compilersGitHub Actions Numerical validationLagrangian transport Sediment transportHindered settling BedloadLagrangian ↔ Eulerian

Case 02 · Operational data engineering

Automated operational ocean forecast pipeline

IHCantabria · Oceanology Group · 2023 – present

100 GB

ingested daily, unattended

The constraint

Operational forecasting requires continuous, reliable execution without manual intervention. The pipeline must gracefully handle upstream data delays, partial downloads, and automated quality checks to prevent faulty input from triggering cascading model failures.

What I did

  • Built and operate an automated forecasting system running unattended in production, ingesting and processing up to 100 GB of high-resolution oceanographic data per day.
  • Produce daily ocean-current and sea-level forecasts for two distinct regimes: the open Cantabrian coast and the estuarine environment of Santander Bay.
  • Containerised the hydrodynamic models with Docker — ROMS and Delft3D here, SFINCS for the climate-scenario work in Case 03 — ensuring reproducible execution across machines and consistent results over time.
  • Post-processed model output with GDAL and the Python geospatial stack, publishing products that downstream users can open in standard tools.

Outcome

Daily forecasts run automatically and publish on schedule. Containerising the hydrodynamic models ensures reproducibility across environments and protects against dependency drift over time.

High-resolution ocean data Automated ingest · validation ROMS · Delft3D netCDF post-processing · GDAL Daily currents & sea level up to 100 GB / day runs unattended in production containerised with Docker — reproducible rasters · transforms · joins Cantabrian coast · Santander Bay

FIG. 2 — Operational forecast pipeline from automated data ingest through containerised hydrodynamic models to daily published forecasts.

PythonDocker ROMSDelft3D netCDFGDALLinux Operational reliability

Case 03 · Distributed computation at scale

A coastal flooding digital twin across ~20k climate scenarios

IHCantabria · Oceanology Group · 2023 – present

~20k

simulations, all on HPC

The constraint

A country-wide digital twin of coastal and estuarine flooding, built to assess exposure under climate change rather than to forecast day to day — nothing here runs on a daily cycle. Coverage means sweeping a scenario space: roughly 500 climate-change scenarios per region, ~20,000 simulations in total. At that size, scenario generation, cluster scheduling and raster post-processing all have to be automated or they become the bottleneck.

What I did

  • Prepared and executed the SFINCS flood model across ~20k scenarios entirely in an HPC environment, scheduled with SLURM — coastal and estuarine flooding, region by region, climate scenario by climate scenario.
  • Drove the whole scenario-generation phase with GeoPandas, building roughly 500 climate scenarios per region programmatically and traceably.
  • Post-processed output with GDAL: generated flood rasters, transformed and rescaled them, and joined them with results from other regions into a single comparable surface — then analysed cases in QGIS.
  • On the pollutant side, designed and executed statistical analyses of dispersion under multiple initial and seasonal conditions using Python, Dask and xarray.

Outcome

The automated pipeline executed the ensemble and reduced ~20k scenario outputs into unified flood-depth rasters and hazard layers, giving a twin with enough coverage to support coastal planning and climate-risk analysis region by region.

0 / ~20,000 jobs
SCOPECountry-wide coastal twin
PER REGION≈500 climate scenarios
SCHEDULERSLURM job arrays
SCENARIO GENGeoPandas
REDUCTIONGDAL → QGIS
ANALYSISDask · xarray

FIG. 3 — Scenario grid visualization representing ensemble execution. Each cell corresponds to a simulation run, coloured by hazard severity.

SLURM / HPCSFINCS Digital twinClimate scenarios GeoPandasGDALQGIS DaskxarrayNumba

Case 04 · Product ownership · open source

Embedded multi-chain wallet widget and developer SDK

Yuga Labs, Inc. · 2024 – 2026 · Remote

thousands

users via third-party SDK

The constraint

Onboarding mainstream users into Web3 applications requires eliminating friction around browser extensions, network selection, and manual key management. The account abstraction layer needed to handle creation, security, and multi-chain transactions transparently within host applications.

What I did

  • Designed, built and owned Glyph end to end — an open-source embedded-wallet widget built on multi-chain EVM infrastructure, letting users create and manage wallets and transact ERC-721 NFTs and ERC-20 tokens across multiple chains (TypeScript, React, viem/wagmi, WalletConnect, Privy).
  • Shipped the open-source Glyph SDK so third-party developers could embed the wallet in their own applications.
  • Built the backend services behind it: end-user management, customer-support tooling, and usage reporting.
  • Integrated tokenproof verification into ticketing web applications for large events (e.g. ApeFest), including token-gated access to perks and merchandise under high event traffic.

Outcome

Onboarded thousands of internal users in the initial rollout, followed by thousands more through third-party integrations using the open-source SDK.

Yuga applications Third-party apps Glyph widget Privy · WalletConnect Backend services internal applications thousands of users via open-source SDK TypeScript · React · viem / wagmi embedded keys · seamless onboarding users · support · usage reporting multi-chain EVM · ERC-721 · ERC-20
OWNERSHIPEnd to end, incl. open source
CHAINSMulti-chain EVM
ASSETSERC-721 · ERC-20

FIG. 4 — System architecture: applications integrate the Glyph widget via the SDK, connecting embedded key management to backend support services.

TypeScriptReact Next.jsNestJSviem / wagmi WalletConnectPrivy Embeddable widgetsOpen source

Case 05 · Applied cryptography · high throughput

High-throughput credential verification under peak event traffic

tokenproof, Inc. (formerly MagnaCerta) · 2020 – 2024 · Remote

thousands/min

users at peak

The constraint

Live event access control demands near-zero latency, robust offline capability, and strong cryptographic verification. Systems must process high volumes of attendees smoothly, even on low-end devices with intermittent network connectivity.

What I did

  • Designed, implemented and scaled Go microservices (REST and gRPC) to issue verifiable credentials representing accounts, event tickets and discount coupons, signed server-side with the platform's master (root) key, across tens of thousands of accounts and thousands of unique devices.
  • Built a configurable rules engine deciding eligibility at entry — verifying tokens, ticket validity, and custom criteria — running cryptographic, logical and blockchain checks in under 2 seconds.
  • Developed cross-platform Android and iOS shared libraries in Go that hold each device's own ECDSA key pair, wrap an issued credential as a Verifiable Presentation and sign that envelope with the device key, optimised for low-end hardware.
  • Verified both signatures server-side on every presentation — the envelope against the device key and the credential against the root key — so tampering and QR-code reuse both fail closed.
  • Implemented credential synchronisation between backend services and mobile devices at high sustained throughput.
  • Operated infrastructure live during major events: handling thousands of users per minute during purchases and hundreds of asset validations per second.
  • Released open-source tooling for crafting and sharing verifiable credentials.

Outcome

Maintained reliable, low-latency entry checks during peak arrival windows. The nested-signature design is what makes the gate both strict and cheap to check: the root signature establishes that the credential is genuine and unaltered, and the device signature binds it to the device presenting it, so a copied QR code is rejected without any extra lookup.

SERVER DEVICE Issue credential (VC) Wrap as presentation (VP) Verify envelope signature Verify credential signature Rules engine signed with master (root) key signed with the device's own key device key — binds it to this device root key — proves we issued it token · ticket · coupon · criteria credential presentation, scanned as a QR code Admit — both signatures checked, chain < 2 s
PEAK PURCHASESthousands / min
OWNERSHIP CHECKS100s / s
CREDENTIAL SYNChundreds / min
ACCOUNTS · DEVICEStens of thousands · thousands
SIGNATURES / ENTRY2 — root + device
DECISION BUDGET< 2 s end to end

FIG. 5 — Two keys, two signatures, both verified server-side. The root signature is what makes a forged credential fail; the device signature is what makes a copied QR code fail. The rules engine stays configurable per event to serve admission gates, coupon redemption and perk access.

GogRPCREST ECDSAVerifiable credentials X.509Rules engine Android / iOS shared libsPostgreSQL · Redis Open source

Case 06 · Data engineering at scale

Instrument data spread across tens of thousands of files, made fit for ML

Thermo Fisher Scientific · Chromatography & Mass Spectrometry · 2016 – 2018

20 GB

consolidated for ML

The constraint

Mass-spectrometry instrument data was distributed across tens of thousands of plain-text files totalling around 20 GB. Nothing downstream could use it until it was parsed, cleaned and structured into a dataset, and the per-file volume ruled out doing that serially.

What I did

  • Built ETL pipelines on AWS — S3, Lambda, Step Functions and Batch — to consolidate, parse and prepare instrument data for machine-learning workloads, processing the full dataset efficiently and scalably.
  • Used a serverless, step-orchestrated shape deliberately: the work is parallel per file, so the pipeline fans out and a malformed file fails one branch rather than the run.
  • Developed a REST service exposing instrument metadata as RDF triples against a defined ontology, enabling graph-based fleet queries.
  • Presented monthly progress to technical and non-technical stakeholders through Jupyter notebooks, keeping the work aligned with operational decisions.

Outcome

A reusable, ML-ready dataset out of what had been an archive, plus a metadata service that made the instrument fleet queryable as a graph rather than a list of serial numbers.

Instrument data S3 → Lambda → Step Functions → Batch Prepared, ML-ready datasets ~20 GB · tens of thousands of text files fan out per file · one bad file fails one branch consolidated · parsed · structured alongside: instrument metadata as RDF triples, served over REST
CLOUDS3 · Lambda · Step Functions · Batch
VOLUME~20 GB · 10,000s of files
SEMANTICSRDF triples · defined ontology

FIG. 6 — Almost all of this is data engineering. That is usually the honest ratio.

PythonAWS ETL designServerless orchestration RDF / ontologiesJupyter

Case 07 · Applied machine learning

Predictive maintenance for mass spectrometers using telemetry and LSTMs

Thermo Fisher Scientific · Chromatography & Mass Spectrometry · 2016 – 2018 · separate project

≈40%

less unplanned downtime (est.)

The constraint

A separate effort from Case 06, on its own dataset and its own pipeline. Unplanned downtime on a mass spectrometer is costly and disruptive in a way scheduled service is not, so the question was whether an instrument could signal an upcoming failure far enough ahead to act on.

What I did

  • Built the dataset and pipeline for this problem specifically — distinct from the ML-preparation work in Case 06, since failure prediction needs sequences labelled against failure events rather than general-purpose instrument data.
  • Trained an LSTM predicting instrument failure within a given time window at ~70% accuracy, turning telemetry into an actionable maintenance signal.
  • Matched the model to the decision it fed: the output schedules a service visit, so a false positive costs an early call-out rather than an outage.

Outcome

An estimated 40% reduction in unexpected downtime by moving service from reactive repairs to scheduled maintenance intervals. 70% in-window accuracy is useful for scheduling and would be unacceptable for anything that must not raise false alarms — the value came from matching the model's error profile to the decision it fed.

telemetry sequence prediction window fails here? LSTM · failure within window Scheduled maintenance ≈70% accuracy · own dataset, own pipeline ≈40% less unexpected downtime (estimated)
MODELLSTM (TensorFlow / Keras)
ACCURACY≈70% in-window
DECISIONSchedule service, not alarm

FIG. 7 — The model only has to be right often enough to beat the maintenance schedule it replaces, which is a lower bar than "reliable" and a more useful one.

PythonTensorFlow / Keras LSTMTime-series Predictive maintenanceJupyter

Case 08 · Data integration · multi-tenant security

Multi-tenant customer data integration and entity deduplication

Innomius Technologies · 2013 – 2016 · Mexico City

Per-airline

strict data isolation

The constraint

Multiple airlines, one platform, and customer records duplicated across SQL systems and a legacy SOAP service. Two key requirements: unify data access across disparate sources and guarantee strict tenant isolation so no airline can access another's records.

What I did

  • Built ETL workflows that cleaned, parsed and consolidated data from SQL databases into MongoDB and Elasticsearch, indexing records for fast queries across unified customer profiles.
  • Developed a REST service wrapping a SOAP customer-data source to power a duplicate-detection web app for airline operators.
  • Recorded operator decisions as training labels, incorporating human-in-the-loop feedback into the workflow to train a deduplication model.
  • Implemented SSO and JWT-based authentication and authorisation with strict per-airline data isolation.

Outcome

Operators resolved record duplicates through a streamlined interface, while their operational decisions systematically enriched training datasets for automated matching.

SQL sources Legacy SOAP service ETL → MongoDB · Elasticsearch REST façade → dedupe app Operator decisions multi-tenant customer records REST wrapper over legacy SOAP cleaned · parsed · consolidated SSO · JWT · per-airline isolation captured as labels → future model
STORESSQL → MongoDB · Elasticsearch
IDENTITYSSO · JWT
TENANCYStrict per-airline isolation

FIG. 8 — Integration architecture: legacy data aggregation, operator validation workflow, and automated feedback loop for model improvement.

PythonMongoDB ElasticsearchSQL RESTSOAP integration SSO · JWTMulti-tenancy

Next

Scientific computing and numerical research

Interactive demonstrations of research in geophysical fluid dynamics, quantum trap simulations, and spectral graph theory.