Skip to content
EDDARDS.DEV

Felipe Herrera · Concón, Chile · 32°55′S

Health is my profession. I build tools for the people around me: from rehabilitation to the daily operation of a company.

Explore the work 19 works · 6 territories

drag a node, come closer with the pointer, or scroll down: the constellation lands in the index

local-firstevery number knows its own noisethe robot proposes, the human confirmsrules where they suffice, AI where it helpsbuild instead of waiting
All the works · 01—19

§1 19 systems. One practice.

Health, personal AI, work and family. Explore each project: what needed solving, how it works and where its limits are.

HealthMeasuring without inventing certainty. Tools that explain their noise and their limits.

01KINELABRehabilitation measured with the browser camera; every metric knows its own noise.HealthPrototype
Interfaz real de KINELAB con la configuración de ejercicio, las pestañas de medición y el análisis articular.
Real interface
The piece

It measures joint angles, counts repetitions and tracks progress using only the camera. A change is only asserted when it exceeds what noise can explain (MDC95, Theil–Sen). The video never leaves the device.

Tools

JavaScript · MediaPipe

Principles applied

Local-first · Known noise

The number

MDC95 calculado por usuario

01 · Problem

What needed solving

In rehabilitation, a small variation can be progress or just camera noise. Without knowing that error floor, the number becomes more convincing than true.

02 · System

How it works

MediaPipe detects 33 landmarks on the device; filters, personal calibration, MDC95 and a Theil–Sen trend turn the signal into angles, repetitions and defensible changes.

03 · Limit

What it refuses to do

It is an instrument of trend and adherence, not a certified goniometer or a diagnosis. The video never leaves the device.

02NexoMeals and glucose on the iPhone, local-first; the AI analyzes off the phone.HealthIn progress
Pantalla de bienvenida real de Nexo explicando su enfoque local-first.Pantalla principal real de Nexo con una curva de glucosa y sus eventos asociados.
Real interface
The piece

No account, no cloud of its own: everything lives in a versioned JSON on the device. AI analysis runs on a Mac through an iCloud folder. Clinical guardrails: never doses, never future glucose.

Tools

SwiftUI · Swift 6

Principles applied

Local-first · Human gate

The number

~270 tests unitarios

01 · Problem

What needed solving

An isolated glucose reading doesn't explain what happened. Understanding it means joining meals, measurements and context — without turning health data into yet another cloud account.

02 · System

How it works

SwiftUI keeps a versioned JSON on the iPhone; an iCloud folder connects to the analysis on the Mac, and a suite of ~270 tests protects the clinical and sync rules.

03 · Limit

What it refuses to do

It doesn't compute doses, doesn't predict future glucose and requires no account. The AI analyzes off the phone, but makes no clinical decisions.

03GARMINA personal health panel that ends in a PDF to bring to the doctor.HealthMature
Mapa de correlaciones real generado por GARMIN entre pasos, frecuencia cardíaca, estrés, sueño, HRV y readiness.
Real output
The piece

Heart rate, HRV, sleep and glucose consolidated into reports a doctor can read. Alerts are deterministic; the model only writes.

Tools

Python · pandas

Principles applied

Known noise · Rules + AI

The number

4 señales → 1 informe médico

01 · Problem

What needed solving

Heart rate, HRV, sleep and glucose arrive in separate formats and don't form, by themselves, a story a doctor can review quickly.

02 · System

How it works

Python and pandas consolidate the four signals, apply verifiable rules and produce a readable PDF; the model only helps write the summary.

03 · Limit

What it refuses to do

It neither diagnoses nor invents alerts. The public image is limited to an anonymous statistical output — no names, dates or individual clinical values.

04NUTRICOA label scanner for Chile's food-warning law (20.606).HealthSeed
Fotografía real de una tabla de información nutricional usada como entrada para explorar el escaneo de etiquetas.
Real photo
The piece

OCR plus verifiable rules for classification; the LLM only suggests alternatives.

Tools

Expo · Open Food Facts

Principles applied

Rules + AI

The number

Ley 20.606 convertida en reglas

01 · Problem

What needed solving

Reading a label and relating it to the Chilean warning-seal law takes more than recognizing text: the thresholds must be reproducible and explainable.

02 · System

How it works

OCR captures the data, rules encode Law 20.606 and Open Food Facts completes the record. AI comes in afterwards, only to suggest alternatives.

03 · Limit

What it refuses to do

It is at seed stage. The legal classification is not delegated to a model, and no suggestion replaces professional advice.

Agent operationsLocal control, evidence and continuity for working with several agents without losing the human gate.

05Agent Mini DeckA local command center for Claude Code, Codex, OpenCode and Cursor — on the Mac, the iPhone and a Stream Deck.Agent operationsIn production
Interfaz real de Agent Mini Deck en la página Comandos, controlando una sesión del propio proyecto con accesos a agentes, modelo, revisión, contexto y hooks.
Real product
The piece

It turns agent work into an operable surface: it shows what every session is doing, keeps context across devices and makes visible the points where a person must step in. Not another chat — the control-and-evidence layer that joins four agents with three physical surfaces.

Tools

Node.js · HID · PWA · Tailscale

Principles applied

Local-first · Human gate · Rules + AI · Build

The number

4 agentes · 3 superficies

01 · Problem

What needed solving

When several agents work at once, their state, questions, permissions, plans and evidence end up scattered across terminals. The operator loses continuity exactly when deciding matters most.

02 · System

How it works

Hooks from Claude Code, Codex, OpenCode and Cursor feed one shared state. The same daemon turns it into Stream Deck controls, a private iPhone PWA and the deck CLI — with sessions, races, handoffs and observable verification.

03 · Limit

What it refuses to do

Mini Deck doesn't self-authorize destructive actions and never confuses an answer with verified work. The important gates still demand evidence and an explicit human decision.

06PROJECT ATLASClaude, Codex and Grok deliberate blind on a shared board; every decision is ratified by the human.Agent operationsActive
Salida real de PROJECT ATLAS — el pizarrón de un ciclo con sus zonas HEADER, THREAD y AGREEMENTS y los turnos anonimizados por alias.
Real output
The piece

Not another system of agents chatting: a measuring instrument. Three model families answer blind, critique each other by alias, and a human ratifies with the dissent in view; every approval is a gold label that says when deliberating paid off and when a single model would have been enough.

Tools

Python · JSON Schema · Claude Code · Codex CLI · Grok

Principles applied

Known noise · Human gate · Rules + AI · Build

The number

3 modelos · máx. 2 rondas

01 · Problem

What needed solving

Asking several models the same thing produces parallel chats nobody audits: there is no way to know when multi-model deliberation beats a single model, and no record of what was approved, why, and with what dissent.

02 · System

How it works

One Markdown board per cycle, written only by a mechanical orchestrator; agents drop turns validated with JSON Schema. A Delphi protocol: a blind round, alias-based critique and a rotating critic issuing pairwise verdicts. Every cycle runs a single-model baseline and feeds a ledger anchored to the director's approval.

03 · Limit

What it refuses to do

No agent executes or builds anything without the director's explicit approval; "done" is always a human verdict. The ledger still has too few cycles to separate signal from noise, and the real boards of each campaign are not published.

Personal AIListening, remembering and distilling without giving up control of the data.

07Segundo CerebroThe day in audio → transcription → analysis → Obsidian. A cognitive mirror.Personal AIActive
Vista gráfica real de un vault de investigación procesado por Segundo Cerebro en Obsidian.
Real interface
The piece

A lapel microphone and a pipeline that transcribes the day, identifies who spoke, classifies and pours it into a vault. The ambition: not just what I say, but how I say it.

Tools

Whisper · pyannote · Obsidian

Principles applied

Local-first

The number

1 día de audio → 1 registro

01 · Problem

What needed solving

Everyday conversations and decisions get lost, and a chronological memory isn't enough to recognize patterns in what one says and how one says it.

02 · System

How it works

Lapel audio, Whisper, speaker separation and classification turn the day into a structured record inside Obsidian.

03 · Limit

What it refuses to do

The audio stays local, and the system works as a cognitive mirror — not as a record of others to publish, nor as automatic truth about a person.

08TRANSCRIPTORA meeting copilot — live transcription and questions about what was said.Personal AIMature
Interfaz real de TRANSCRIPTOR con el transcript en vivo y el copiloto de reunión, antes de comenzar una grabación.
Real interface
The piece

Live ASR on the Mac, with model routing: the mechanical to local models, the hard to large ones.

Tools

MLX Whisper · NeMo

Principles applied

Local-first · Rules + AI

The number

2 micrófonos · audio local

01 · Problem

What needed solving

In a long meeting you lose names, agreements and the exact minute backing a decision. A flat transcript doesn't make verification easy either.

02 · System

How it works

Silero segments by utterance, Whisper transcribes locally with a glossary that learns, and two microphones can separate speakers by channel; every conclusion links back to its temporal evidence.

03 · Limit

What it refuses to do

Recording requires informed consent. Audio is processed locally, and any query to an AI provider is an explicit choice.

09HERMESA four-channel voice copilot, running locally.Personal AIIn production
Forma de onda real de un briefing de voz generado por HERMES para escuchar durante un viaje.
Real audio
The piece

Voice in, voice out, with an LLM brain — in daily production.

Tools

Python · Whisper · TTS

Principles applied

Local-first

The number

4 canales de uso

01 · Problem

What needed solving

While driving, reading news or typing queries breaks attention. The information must also remain available when the connection fails.

02 · System

How it works

A daily briefing and three conversational channels combine fresh sources, Whisper and local voice with Claude or Codex; Qwen stands by for offline stretches.

03 · Limit

What it refuses to do

The channels don't execute arbitrary commands or write to the system. The site shows only the architecture — never real conversations or credentials.

10YOUTUBEDiscovers, transcribes and distills AI videos in a single pass.Personal AIActive
Portada real de un informe diario generado por el pipeline YOUTUBE a partir de doce videos.
Real output
The piece

A curation pipeline: from dozens of videos a week to a distillate of applicable techniques.

Tools

yt-dlp · Python

Principles applied

Build

The number

12 videos → 1 informe diario

01 · Problem

What needed solving

Dozens of AI videos compete for attention, but few justify a full hour, and many claims come with no clear route to evidence.

02 · System

How it works

The pipeline discovers, transcribes, classifies and analyzes; it separates short pieces from deep dives and builds a daily report with verifiable timestamps.

03 · Limit

What it refuses to do

A timestamp proves the video said something — not that the claim is true. The report explicitly keeps that difference.

11MargenAn academic brain on the iPad — read, annotate by hand, index everything and ask the AI that lives on the Mac.Personal AIActive
Interfaz real de Margen en el iPad, con un documento abierto en el lector, la barra lateral de la biblioteca y el panel del tutor.
Real interface
The piece

The place where studying happens and where what was learned is found again: the folder is the unit of study, everything produced gets indexed, and searching means being able to narrow down. Not a PDF reader with extras — the iPad's academic brain, with an AI that proposes and a person who decides.

Tools

Swift · PDFKit · PencilKit · SQLite FTS5 · Tailscale

Principles applied

Local-first · Human gate · Build

The number

5 formatos · 3 motores de IA

01 · Problem

What needed solving

Studying on an iPad leaves the material as a pile of PDFs: notes, highlights and handwriting can't be found again months later. A note you can't retrieve is a note you never wrote.

02 · System

How it works

A native iPad app for PDF, Markdown, HTML and blank notes; Apple Pencil ink, highlights, notes and tutor answers all enter the same SQLite index, with faceted and semantic search. It adds spaced review, mirror backups and a bridge to Obsidian; the AI runs on the Mac over Tailscale.

03 · Limit

What it refuses to do

Reading, annotating, organizing and searching work offline; only the tutor needs the Mac. Codex and Claude credentials never leave the Mac, the AI proposes without applying anything on its own, and the site shows no real documents or notes.

12Visor de TempsA native macOS app that relates temperatures, fans, memory and Ollama models to measure local AI.Personal AIMature
Interfaz real de Visor de Temps con las temperaturas, los ventiladores, la memoria y los modelos de Ollama cargados en el Mac.
Schematic art
The piece

One concrete question — does an earlier fan curve yield more tokens per second? — and a tool built to answer it with data instead of intuition. It measures, compares and touches nothing: the decision about the curve stays with the person.

Tools

Swift · SwiftUI · Swift Charts · SMC/IOHID · Ollama

Principles applied

Local-first · Known noise · Build

The number

solo lectura · historial 5–30 min

01 · Problem

What needed solving

When running local models on the Mac, you don't know whether heat is throttling the machine or whether an earlier fan curve would improve sustained performance. The data exists, but scattered across sensors, memory and Ollama.

02 · System

How it works

A native macOS app that reads the SMC and IOHID sensors, asks Ollama which models are loaded and uses the system's official thermal state as the throttling signal. It keeps a 5-to-30-minute in-memory history and allows an A/B test with a fixed prompt, only when a button is pressed.

03 · Limit

What it refuses to do

It is read-only: it writes no RPM or curves, loads no models and sends no prompts on its own; the curve is changed by hand in Macs Fan Control. It uses APIs Apple doesn't document, so it runs without a sandbox and isn't meant for the App Store.

Work · De Reyes AlimentosSystems that sustain the daily operation of a real company.

13GPS 3.0The commercial and logistics operation of a real company, in production.WorkIn production
Pantalla real de acceso a GPS 3.0, el sistema de gestión logística de De Reyes.
Real interface
The piece

Tracking, route planning, driver and salesperson portals, collections and ERP for a food processing company. A state machine with named human gates: authorizing and registering are decisions made by people with permission.

Tools

React · Express · PostgreSQL

Principles applied

Human gate

The number

+1.500 commits

01 · Problem

What needed solving

Sales, routes, drivers, collections and inventory become isolated systems as a company grows; the cost shows up as double entries and context-free decisions.

02 · System

How it works

React, Express and PostgreSQL sustain a multi-tenant platform with tracking, planning, field portals, collections and ERP modules connected through explicit states.

03 · Limit

What it refuses to do

Authorizing and registering remain decisions of people with permission. This personal site publishes no production screens while they contain operational data.

14dereyes.clA complete ecommerce — payments, electronic invoicing and stock synced from the warehouse.WorkIn production
Portada pública real de dereyes.cl con el catálogo de productos de De Reyes Alimentos.
Real site
The piece

A public store plus wholesale credit customers. Stock is proposed from the warehouse every morning; a person confirms.

Tools

Next.js · Webpay · SII

Principles applied

Human gate

The number

+18 años de operación digitalizada

01 · Problem

What needed solving

A store for consumers and wholesalers needs payments, credit, electronic invoicing and warehouse stock that agree with each other, not a storefront detached from the operation.

02 · System

How it works

Next.js connects the catalog with Webpay, Khipu and Chile's tax service; a daily process proposes stock from the warehouse before a person confirms the update.

03 · Limit

What it refuses to do

The published capture comes only from the public homepage. Credit, invoicing and internal operations stay behind their access controls.

15Agente documentalA photographed invoice becomes importable data — with a human gate.WorkIn production
Interfaz real del Agente documental KAME con sus flujos de compras, pedidos y carga privada de documentos.
Real interface
The piece

It classifies its own output into four states; the value that cannot be wrong (the invoice number) is always set by a person. Only text leaves the machine.

Tools

Python · OCR

Principles applied

Human gate · Rules + AI

The number

4 estados de salida

01 · Problem

What needed solving

Typing a photographed invoice into a management system is slow, but automating a wrong value can be worse than keeping manual entry.

02 · System

How it works

OCR extracts the text and the agent classifies its own output into four states before proposing importable data for review.

03 · Limit

What it refuses to do

The invoice number is always confirmed by a person, and only text may leave the machine. A real invoice is never used as the project's public image.

FamilyGames and tools made for specific people, not an abstract market.

16ENTRENADORSpeed and angle of my son's shots, with computer vision.FamilyMature
Fotograma real de una sesión de fútbol usada por ENTRENADOR para medir la trayectoria y la velocidad de un tiro.
Real session
The piece

A homemade sports coach: measurable metrics for every shot, to train by playing.

Tools

YOLO · MediaPipe

Principles applied

Known noise · Build

The number

velocidad + ángulo por tiro

01 · Problem

What needed solving

To improve a shot it isn't enough to say it looked better. It needed measurable feedback that still felt like play, not like a laboratory.

02 · System

How it works

YOLO and MediaPipe watch the trajectory and turn every attempt into speed and angle to compare training sessions.

03 · Limit

What it refuses to do

This site publishes no names or identifiable faces. The chosen frame shows the session from behind, keeping the sporting context without exposing the child.

17Isla de los SabiosAn educational game made to measure for my kids.FamilyDone
Captura real de Carrera Cometa llegando a la meta dentro de Isla de los Sabios.
Real interface
The piece

Learning by playing, with specs designed for two specific children — not for a market.

Tools

HTML5 · Canvas

Principles applied

Build

The number

3 misiones diarias

01 · Problem

What needed solving

A generic educational game teaches an abstract audience; this one had to answer the interests, rhythms and challenges of two specific children.

02 · System

How it works

HTML5 and Canvas bring together daily missions, memory, arithmetic and minigames like Comet Race in a tailor-made experience.

03 · Limit

What it refuses to do

It is a family project, not a school platform. Public captures exclude names, faces and any data about the children.

Public data · ChileWatching the territory through open sources: every datum declares its origin and freshness.

18SISMOEarthquakes, weather and 116 of Chile's critical assets crossed in near real time.Public dataActive
Interfaz real de SISMO con el mapa de Chile, el panel de 116 activos monitoreados por categoría y los últimos sismos registrados con su magnitud.
Real image
The piece

Monitoring Chile's critical assets: CSN and USGS earthquakes, forecasts and measured air, crossed against mines, tailings dams, ports and hospitals. Risk decisions are documented, not hidden in the pipeline — and when two agencies disagree, it alerts on the conservative side of both.

Tools

Node.js sin dependencias · MapLibre · 20+ APIs públicas

Principles applied

Known noise · Rules + AI · Build

The number

116 activos · fuentes cada 5 min

01 · Problem

What needed solving

Chile shakes every day, but knowing whether a quake matters means crossing it with what sits above: tailings dams, ports, 500 kV lines, reservoirs, hospitals. That crossing existed nowhere in one open place.

02 · System

How it works

Every 5 minutes it crosses CSN and USGS — deduplicated, keeping inter-agency disagreement as uncertainty information — against a register of 116 assets, estimates intensity per asset and adds weather, measured air quality, swells and authority alerts from 15+ public sources. Zero npm dependencies.

03 · Limit

What it refuses to do

It doesn't predict earthquakes and doesn't replace the authority (SENAPRED/SHOA is the official voice); it estimates intensities with public formulas and declares the source and freshness of every datum it shows.

19FRAUDEFraud campaigns in Chile detected and correlated from public sources.Public dataIn production
Interfaz real de operación de FRAUDE con el estado del ciclo autónomo, campañas, observaciones, relaciones pendientes y cadencias de las fuentes.
Real interface
The piece

Homemade fraud intelligence: the central entity is the campaign, and every datum enters as an observation with its provenance. Strong matches propose relations; confirming is always a human act.

Tools

Python · SQLite · launchd · STIX

Principles applied

Human gate · Rules + AI · Build

The number

+1.100 campañas · ciclo cada 15 min

01 · Problem

What needed solving

Fraud campaigns span domains, apps, social networks, phones and emails, but the signals live scattered across NIC, CSIRT, CMF and the platforms. Nobody joins them into a single case.

02 · System

How it works

It censuses .cl domains, ingests authority alerts (CSIRT, CMF), watches social networks and correlates everything into campaigns where each observation carries source, date, confidence and provenance. It runs by itself in 15-minute cycles.

03 · Limit

What it refuses to do

It never merges cases or reports accounts on its own: it proposes candidate relations and a person decides. The LLM describes; deterministic signals and the analyst rule. The panel is private — it shows active investigations.

§2 In numbers

+1,500commits in the largest system
~30automations in operation
~270tests in the glucose app
0personal data in the cloud

§3 Now

August 2026 — building Nexo, tuning the Segundo Cerebro, and serving this site from a computer at my home: no third-party cloud, no cost, behind a tunnel.

§4 Contact

This dossier remains open. If something you saw resonates — a project, a question, an idea worth building — write to me. I answer in Spanish or English.

[email protected]