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.
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.
drag a node, come closer with the pointer, or scroll down: the constellation lands in the index
From rehabilitation to the daily operation of a company. Scroll and the room moves; open any of them to read its full dossier.

Rehabilitation measured with the browser camera; every metric knows its own noise.


Meals and glucose on the iPhone, local-first; the AI analyzes off the phone.

A local command center for Claude Code, Codex, OpenCode and Cursor — on the Mac, the iPhone and a Stream Deck.

The day in audio → transcription → analysis → Obsidian. A cognitive mirror.

The commercial and logistics operation of a real company, in production.

Earthquakes, weather and 116 of Chile's critical assets crossed in near real time.

Fraud campaigns in Chile detected and correlated from public sources.
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.
KINELABRehabilitation measured with the browser camera; every metric knows its own noise.HealthPrototype
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.
JavaScript · MediaPipe
Local-first · Known noise
MDC95 calculado por usuario
In rehabilitation, a small variation can be progress or just camera noise. Without knowing that error floor, the number becomes more convincing than true.
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.
It is an instrument of trend and adherence, not a certified goniometer or a diagnosis. The video never leaves the device.
NexoMeals and glucose on the iPhone, local-first; the AI analyzes off the phone.HealthIn progress

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.
SwiftUI · Swift 6
Local-first · Human gate
~270 tests unitarios
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.
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.
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.
GARMINA personal health panel that ends in a PDF to bring to the doctor.HealthMature
Heart rate, HRV, sleep and glucose consolidated into reports a doctor can read. Alerts are deterministic; the model only writes.
Python · pandas
Known noise · Rules + AI
4 señales → 1 informe médico
Heart rate, HRV, sleep and glucose arrive in separate formats and don't form, by themselves, a story a doctor can review quickly.
Python and pandas consolidate the four signals, apply verifiable rules and produce a readable PDF; the model only helps write the summary.
It neither diagnoses nor invents alerts. The public image is limited to an anonymous statistical output — no names, dates or individual clinical values.
NUTRICOA label scanner for Chile's food-warning law (20.606).HealthSeed
OCR plus verifiable rules for classification; the LLM only suggests alternatives.
Expo · Open Food Facts
Rules + AI
Ley 20.606 convertida en reglas
Reading a label and relating it to the Chilean warning-seal law takes more than recognizing text: the thresholds must be reproducible and explainable.
OCR captures the data, rules encode Law 20.606 and Open Food Facts completes the record. AI comes in afterwards, only to suggest alternatives.
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.
Agent Mini DeckA local command center for Claude Code, Codex, OpenCode and Cursor — on the Mac, the iPhone and a Stream Deck.Agent operationsIn production
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.
Node.js · HID · PWA · Tailscale
Local-first · Human gate · Rules + AI · Build
4 agentes · 3 superficies
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.
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.
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.
PROJECT ATLASClaude, Codex and Grok deliberate blind on a shared board; every decision is ratified by the human.Agent operationsActive
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.
Python · JSON Schema · Claude Code · Codex CLI · Grok
Known noise · Human gate · Rules + AI · Build
3 modelos · máx. 2 rondas
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.
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.
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.
Segundo CerebroThe day in audio → transcription → analysis → Obsidian. A cognitive mirror.Personal AIActive
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.
Whisper · pyannote · Obsidian
Local-first
1 día de audio → 1 registro
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.
Lapel audio, Whisper, speaker separation and classification turn the day into a structured record inside Obsidian.
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.
TRANSCRIPTORA meeting copilot — live transcription and questions about what was said.Personal AIMature
Live ASR on the Mac, with model routing: the mechanical to local models, the hard to large ones.
MLX Whisper · NeMo
Local-first · Rules + AI
2 micrófonos · audio local
In a long meeting you lose names, agreements and the exact minute backing a decision. A flat transcript doesn't make verification easy either.
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.
Recording requires informed consent. Audio is processed locally, and any query to an AI provider is an explicit choice.
HERMESA four-channel voice copilot, running locally.Personal AIIn production
Voice in, voice out, with an LLM brain — in daily production.
Python · Whisper · TTS
Local-first
4 canales de uso
While driving, reading news or typing queries breaks attention. The information must also remain available when the connection fails.
A daily briefing and three conversational channels combine fresh sources, Whisper and local voice with Claude or Codex; Qwen stands by for offline stretches.
The channels don't execute arbitrary commands or write to the system. The site shows only the architecture — never real conversations or credentials.
YOUTUBEDiscovers, transcribes and distills AI videos in a single pass.Personal AIActive
A curation pipeline: from dozens of videos a week to a distillate of applicable techniques.
yt-dlp · Python
Build
12 videos → 1 informe diario
Dozens of AI videos compete for attention, but few justify a full hour, and many claims come with no clear route to evidence.
The pipeline discovers, transcribes, classifies and analyzes; it separates short pieces from deep dives and builds a daily report with verifiable timestamps.
A timestamp proves the video said something — not that the claim is true. The report explicitly keeps that difference.
MargenAn academic brain on the iPad — read, annotate by hand, index everything and ask the AI that lives on the Mac.Personal AIActive
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.
Swift · PDFKit · PencilKit · SQLite FTS5 · Tailscale
Local-first · Human gate · Build
5 formatos · 3 motores de IA
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.
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.
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.
Visor de TempsA native macOS app that relates temperatures, fans, memory and Ollama models to measure local AI.Personal AIMature
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.
Swift · SwiftUI · Swift Charts · SMC/IOHID · Ollama
Local-first · Known noise · Build
solo lectura · historial 5–30 min
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.
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.
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.
GPS 3.0The commercial and logistics operation of a real company, in production.WorkIn production
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.
React · Express · PostgreSQL
Human gate
+1.500 commits
Sales, routes, drivers, collections and inventory become isolated systems as a company grows; the cost shows up as double entries and context-free decisions.
React, Express and PostgreSQL sustain a multi-tenant platform with tracking, planning, field portals, collections and ERP modules connected through explicit states.
Authorizing and registering remain decisions of people with permission. This personal site publishes no production screens while they contain operational data.
dereyes.clA complete ecommerce — payments, electronic invoicing and stock synced from the warehouse.WorkIn production
A public store plus wholesale credit customers. Stock is proposed from the warehouse every morning; a person confirms.
Next.js · Webpay · SII
Human gate
+18 años de operación digitalizada
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.
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.
The published capture comes only from the public homepage. Credit, invoicing and internal operations stay behind their access controls.
Agente documentalA photographed invoice becomes importable data — with a human gate.WorkIn production
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.
Python · OCR
Human gate · Rules + AI
4 estados de salida
Typing a photographed invoice into a management system is slow, but automating a wrong value can be worse than keeping manual entry.
OCR extracts the text and the agent classifies its own output into four states before proposing importable data for review.
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.
ENTRENADORSpeed and angle of my son's shots, with computer vision.FamilyMature
A homemade sports coach: measurable metrics for every shot, to train by playing.
YOLO · MediaPipe
Known noise · Build
velocidad + ángulo por tiro
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.
YOLO and MediaPipe watch the trajectory and turn every attempt into speed and angle to compare training sessions.
This site publishes no names or identifiable faces. The chosen frame shows the session from behind, keeping the sporting context without exposing the child.
Isla de los SabiosAn educational game made to measure for my kids.FamilyDone
Learning by playing, with specs designed for two specific children — not for a market.
HTML5 · Canvas
Build
3 misiones diarias
A generic educational game teaches an abstract audience; this one had to answer the interests, rhythms and challenges of two specific children.
HTML5 and Canvas bring together daily missions, memory, arithmetic and minigames like Comet Race in a tailor-made experience.
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.
SISMOEarthquakes, weather and 116 of Chile's critical assets crossed in near real time.Public dataActive
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.
Node.js sin dependencias · MapLibre · 20+ APIs públicas
Known noise · Rules + AI · Build
116 activos · fuentes cada 5 min
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.
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.
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.
FRAUDEFraud campaigns in Chile detected and correlated from public sources.Public dataIn production
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.
Python · SQLite · launchd · STIX
Human gate · Rules + AI · Build
+1.100 campañas · ciclo cada 15 min
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.
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.
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.
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.
Local time in Concón
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.