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. These past years I learned to build the tools I needed instead of waiting for them: an entire company running on my code, and over a dozen personal projects where health, AI and family intersect.
Everything is explored right here. Each card shows the product and, when opened, explains the problem, the system and the limit — nothing to download, nothing handed over.
Measuring without inventing certainty. Tools that explain their noise and their limits.
Real interface01KINELABRehabilitation measured with the browser camera; every metric knows its own noise.MDC95 calculado por usuarioIt 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.
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.
JavaScript · MediaPipe
Local-first · Known noise

Real interface02NexoMeals and glucose on the iPhone, local-first; the AI analyzes off the phone.~270 tests unitariosNo 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.
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.
SwiftUI · Swift 6
Local-first · Human gate
Real output03GARMINA personal health panel that ends in a PDF to bring to the doctor.4 señales → 1 informe médicoHeart rate, HRV, sleep and glucose consolidated into reports a doctor can read. Alerts are deterministic; the model only writes.
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.
Python · pandas
Known noise · Rules + AI
Real photo04NUTRICOA label scanner for Chile's food-warning law (20.606).Ley 20.606 convertida en reglasOCR plus verifiable rules for classification; the LLM only suggests alternatives.
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.
Expo · Open Food Facts
Rules + AI
Local control, evidence and continuity for working with several agents without losing the thread — or the human gate.
Real product05Agent Mini DeckA local command center for Claude Code, Codex, OpenCode and Cursor — on the Mac, the iPhone and a Stream Deck.4 agentes · 3 superficiesIt 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.
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.
Node.js · HID · PWA · Tailscale
Local-first · Human gate · Rules + AI · Build
Listening, remembering and distilling without giving up control of the data.
Real interface06Segundo CerebroThe day in audio → transcription → analysis → Obsidian. A cognitive mirror.1 día de audio → 1 registroA 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.
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.
Whisper · pyannote · Obsidian
Local-first
Real interface07TRANSCRIPTORA meeting copilot — live transcription and questions about what was said.2 micrófonos · audio localLive ASR on the Mac, with model routing: the mechanical to local models, the hard to large ones.
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.
MLX Whisper · NeMo
Local-first · Rules + AI
Real audio08HERMESA four-channel voice copilot, running locally.4 canales de usoVoice in, voice out, with an LLM brain — in daily production.
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.
Python · Whisper · TTS
Local-first
Real output09YOUTUBEDiscovers, transcribes and distills AI videos in a single pass.12 videos → 1 informe diarioA curation pipeline: from dozens of videos a week to a distillate of applicable techniques.
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.
yt-dlp · Python
Build
Systems that sustain the daily operation of a real company.
Real interface10GPS 3.0The commercial and logistics operation of a real company, in production.+1.500 commitsTracking, 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.
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.
React · Express · PostgreSQL
Human gate
Real site11dereyes.clA complete ecommerce — payments, electronic invoicing and stock synced from the warehouse.+18 años de operación digitalizadaA public store plus wholesale credit customers. Stock is proposed from the warehouse every morning; a person confirms.
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.
Next.js · Webpay · SII
Human gate
Real interface12Agente documentalA photographed invoice becomes importable data — with a human gate.4 estados de salidaIt 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.
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.
Python · OCR
Human gate · Rules + AI
Games and tools made for specific people, not an abstract market.
Real session13ENTRENADORSpeed and angle of my son's shots, with computer vision.velocidad + ángulo por tiroA homemade sports coach: measurable metrics for every shot, to train by playing.
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.
YOLO · MediaPipe
Known noise · Build
Real interface14Isla de los SabiosAn educational game made to measure for my kids.3 misiones diariasLearning by playing, with specs designed for two specific children — not for a market.
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.
HTML5 · Canvas
Build
Watching the territory through open sources: every datum declares its origin and freshness.
Real image15SISMOEarthquakes, weather and 116 of Chile's critical assets crossed in near real time.116 activos · fuentes cada 5 minMonitoring 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.
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.
Node.js sin dependencias · MapLibre · 20+ APIs públicas
Known noise · Rules + AI · Build
Real interface16FRAUDEFraud campaigns in Chile detected and correlated from public sources.+1.100 campañas · ciclo cada 15 minHomemade 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.
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.
Python · SQLite · launchd · STIX
Human gate · Rules + AI · Build
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.
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.