Engineering · product · research

Jeronimo Muñoz Larreta.

Full-Stack & Machine Learning Engineer

I build full-stack software and machine learning systems. At Farmium, I work across interfaces, backend services and integrations; my machine learning work covers signals and images, from data preparation to evaluation.

Experience you can
explore and inspect.

Each case connects a problem, my contribution and concrete evidence: original product software, public data or an evaluation tool.

Radio signals & drones

DroneRF / classification & evaluation

Real public data
Archived results

Choose a recording and compare its reference with the archived prediction.

Explore an archived evaluationDroneRF

Waveformnormalized amplitude

Spectrogramnormalized frequency / time

ReferenceBackground
Archived outputBackground

Archived mean votes

Loading archived example…

My contribution, model and data

From signal
to evaluation.

Problem
Distinguish background and signals from three drone types using temporal and spectral features.
My contribution
Temporal and spectral feature extraction, model comparison and an HGB, MLP and Random Forest ensemble evaluated with a file-based split.
Evidence
Four selected public fragments, one per class, connect waveform, spectrogram, reference and the ensemble's archived prediction.
Input per window
16,384 samples
Features
289 temporal / spectral
Classes
Background + 3 drone types
Evaluation
File-based split

Choose a recording and compare its reference label with the ensemble output.

RFHGB / MLP / Random ForestSpectral featuresFile-separated evaluation
Data, method and attribution

DroneRF, Al-Sa’d and colleagues (2019). Signals were normalized for display; the spectrogram shows relative energy per fragment. Evaluation is offline and votes are not calibrated probabilities. Dataset and authors · CC BY 4.0.

The exploratory refit uses 211 development and 103 evaluation windows, with 51 correct predictions among those 103. The displayed selection illustrates all four classes; it does not summarize overall performance or establish field validation.

Computer vision

Thermal imaging & inspection

PyTorch / ThermalNet
Inspecting correct and missed cases

Choose a crop to compare its reference, score and decision.

Inspect archived resultsInfraredSolarModules
Public thermal crop, sample 024 × 40 · original crop enlarged

InfraredSolarModules / 0

Anomaly prioritised

Archived score0.2630
Threshold0.0792
0threshold1

Dataset reference: Offline-Module

Choose an example and compare its reference with the archived decision.

My contribution, method and limits

Prioritise anomalies.
Inspect decisions.

Problem
Identify thermal anomalies while keeping false alarms and missed cases visible.
My contribution
Preprocessing and inference with ThermalNet/PyTorch, retaining the score, threshold and checkpoint.
Evidence
Four public crops: two correct results, a false alarm and a missed anomaly.
Model, input and evaluation
Problem
Prioritise anomalous thermal crops while inspecting false alarms and cases that fall below the threshold.
My contribution
A preprocessing and inference workflow using ThermalNet in PyTorch, checkpoint tracking and tools to compare reference labels, scores and decisions.
Evidence
Four original InfraredSolarModules crops with archived results: true positive, true negative, false positive and false negative.
Input
24 × 40 pixels
Model
CNN · 3 convolutional blocks
Output
Anomaly / no anomaly
Traceability
Score, threshold and checkpoint

Compare the false alarm with the missed case. The scores fall on opposite sides of the same threshold.

PythonPyTorchInferencePreprocessingEvaluation
Dataset and viewer scope

InfraredSolarModules — Raptor Maps (2020), MIT. Public 24×40 crops. The model shown prioritises anomaly/no-anomaly; archived scores are neither temperatures nor calibrated probabilities. Public source · MIT.

Product & systems

Farmium / platform & workflows

Co-founder
Frontend · Backend · APIs

Drag the nodes and traverse the dependencies of this local workflow.

Compose and traverse a workflowDAG / local computation
My contribution, architecture and APIs

Building a product,
end to end.

Problem
Connect accounts, media assets, planning and metrics in a single content operation.
My contribution
Full-stack development as co-founder: product interfaces, backend services, APIs, integrations and a visual workflow editor. I also worked on media pipelines with Python, GPU and FFmpeg.
Evidence
Original product interface and five navigable tools in the demo: dashboard, analytics, calendar, media library and workflows.
Frontend
Vue 3 · TypeScript
Backend
NestJS · Prisma
Services
Redis · S3-compatible storage
Media
Python · GPU · FFmpeg

The DAG on this page is a local model: drag nodes and traverse their dependency order. The full product demo is linked below.

Vue 3TypeScriptNestJSWebSocketsAPIs
Explore the full product
View a workflow editor reference
Farmium workflow editor with demo data
Original workflow editor interface with demo data.
POST /jobs
{
  "type": "media.process",
  "input": "asset_demo",
  "callback": "webhook_demo"
}

Illustrative contract for exploring an input, its status and an output event.

Research and evaluation: concrete contributions.

Technical contributions to review, reproduction and evaluation, focused on conclusions the evidence can support.

Technical contribution

ZX Oncology / method review

Technical review of imaging methods: I compared definitions, thresholds and cross-cohort behaviour, and built tools to explore biomarker stability and errors.

Methodological contribution and reference reproduction.

Data engineering

Experimental data & baselines

Import and validation, group-level aggregation and simple baselines. Units, timing and missing data are part of the contract before results are compared.

Data checks and reproducible comparisons.

Event evaluation

Alerts, delays and missed events

I build evaluators to compare alerts by zone, type and interval, inspect idempotent duplicates, measure delivery delays and record missed events.

Independent prototype using synthetic events.

Labs
and tools.

Local-computation prototypes for exploring estimation, image comparison, search strategies and relationships between ideas.

Lab · perception and tracking

Sensor fusion

Kalman filter
Interactive 2D model

Tracking movement
through noise.

A target moves while each sensor contributes a measurement with a different noise level. The Kalman filter combines those signals and updates its position and velocity estimate.

This model uses synthetic sensors and local computation. Explore what changes as measurements are added, removed or steered.

Toggle S1–S4, move your pointer over the field, or switch AUTO/MANUAL to steer the target.

Sensor fusionEstimationKalmanMatrices
Target, measurements and estimatelocal simulation
EstimateTargetSensors

Lab · image processing

Image comparison and sensitivity

SSIM · L∞ · L2
Local computation

Change the image.
Measure the difference.

This lab explores how a perturbation changes a synthetic image and what different comparison measures capture.

It computes an SSIM measure and L∞ and L2 distances as epsilon changes or the divider moves. Processing runs in the browser.

Move the divider and adjust epsilon. The metrics describe the difference between these two images.

SSIML∞L2CanvasImage processing
View the editor interface
Farmium editor with video generation, captioning and export
A reference from the actual editor, using a demo workflow.
Explore image sensitivitySSIM / L∞ / L2

Synthetic imagery and image-comparison calculations in the browser.

Lab · numerical optimisation

Search strategies

Himmelblau function
Local computation

Compare paths
to a solution.

A lab for observing how different strategies search for minima on the same function. It exposes candidates, the best value and each method’s progress.

Choose a method, change its starting point and compare the path. The guide explains each element in the field.

HimmelblauOptimisationCanvas

Lab · graphs and reasoning

Relationships & assumptions

Interactive graph
Force simulation

Making connections
visible.

In applied research, I also contributed technical reviews, method reproduction and evaluation criteria.

This graph organizes families of critique and their connections: a way to explore structure, relationships and the questions worth making explicit.

Drag a node, inspect its label or perturb the network to see the layout reorganize.

AnalysisGraphsReproductionEvaluation
Explore a network of ideasinteractive

Tools & areas of work

TypeScriptVue 3Node.jsNestJSAPIsWebSocketsPythonPyTorchGPUFFmpegComputer visionRF signalsExperimental evaluation

Product · software · machine learning

Let’s keep
talking.

To discuss a software or machine learning role, product development or a technical project.