Portrait of Dennys Heras

I build AI systems that explain themselves and can be audited.

7 years in fiber optics
Remote · UTC-5 · Spanish native · English B1

Code

$ cat ruleset.v1.json
{ "id": "R-02",
  "name": "intentos-en-rafaga",
  "action": "Limit", "limitMinutes": 15,
  "condition": { "type": "burst",
    "min": 10, "maxWindowSeconds": 60 } }

$ audit static-example
rule        R-02 v1.0.0
decision    Limit
used        account, failed attempts,
            time window
not used    name, nationality, language,
            device type, gender, source IP
review      PendingReview

Real data from the demo: the public ruleset and the static audit example.

Work in production

Telegram bot for ISP technicians. A children's football championships site for a client.

opens a new page

Open Projects →

Live demo

An automated decision, with the rule used, the explanation and its audit.

opens a new page

Open the demo →

From fiber to AI

Seven years in fiber-optic networks, where things have to work in the field.

opens a new page

Open Journey →

How I work

People

  1. Tests first, then code.
  2. Nothing is assumed without evidence: an output, a passing test.
  3. Adversarial review of security, tests and correctness before publishing.
  4. Real data only. What I do not have is marked as not yet confirmed; never invented figures or achievements.
  5. I authorize commits and publishing. No agent publishes on its own.
  6. Every decision is written down: date, alternatives and reason.
  7. No AI model call per visitor click.

Machines

# Working rules (llms.txt format)
- Tests first, then code.
- Nothing is assumed without evidence: an output, a passing test.
- Adversarial review of security, tests and correctness before publishing.
- Real data only. What I do not have is marked as not yet confirmed; never invented figures or achievements.
- I authorize commits and publishing. No agent publishes on its own.
- Every decision is written down: date, alternatives and reason.
- No AI model call per visitor click.

Interest

Sports: jiu-jitsu

I have also done triathlon and obstacle courses (cycling, swimming and track), a few times, not consistently.

What if, in a few years, we could connect the brain to AI and strengthen what is human? I do not know if it will be possible. I think so. (An idea, not a capability.)

Live demo: an automated decision, explained

One click simulates a suspicious access. The system decides, explains why, shows the rule it used, keeps a full audit trail and lets you take control.

Try the demo

The software factory with agents

The way I build: an orchestrator splits the work into delegated tasks with limits, each result passes an automatic review, and a person verifies what the agents report.

Diagram of the software factory with agentsFive steps in a row: orchestrator, delegated tasks with limits, automatic review, tunnel and access with Cloudflare, human verification.OrchestratorDelegated tasksAutomatic reviewTunnel and accessHuman verification
  1. OrchestratorClaude Code orchestrator running on an Ubuntu laptop.
  2. Delegated tasksEach task has explicit limits: what it may touch and what it may not.
  3. Automatic reviewEvery result is reviewed automatically before it is accepted.
  4. Tunnel and accessRemote access goes through a Cloudflare tunnel with access control.
  5. Human verificationA person verifies what the agents report. Reports are not taken as proof.

Public evidence (repository, captures) is being prepared.

How I work with AI

Using AI is not the point. Governing it is. These are the working rules, short and checkable.

  1. Tests first, then code.
  2. Nothing is assumed without evidence: an output, a passing test.
  3. Adversarial review of security, tests and correctness before publishing.
  4. Real data only. What I do not have is marked as not yet confirmed; never invented figures or achievements.
  5. I authorize commits and publishing. No agent publishes on its own.
  6. Every decision is written down: date, alternatives and reason.
  7. No AI model call per visitor click.

This site was designed spec-first. The design, plan and decision log are written down before the code.

Demonstrated work

Each item is marked in production or in development, nothing else.

In production

Telegram bot · Caja Cercana

Development and launch (2025) of a Telegram bot for ISP technicians that finds the nearest network box to their location. Used internally at the company. Python, SQLite, pytest.

Repository: to be confirmed

In production

Super Gol Kids

Platform for children's football championships. Public website for a client; I developed the site.

Visit the site

In development

Naunturia

Project in development.

In development

Telegram bot · Box registry

Registers network boxes from the field, with location and evidence, to build a more reliable technical inventory.

Repository

In development

Telegram bot · Telecom reports

Technical telecom reports from Telegram: incidents, inspections and follow-up.

Repository

In development

Accounting system · React + Flask

Web accounting system with financial dashboard, clients, suppliers, inventory, invoices, payroll and journal entries. MySQL.

Repository

In development

Football Manager

Web app to manage matches, teams and players, with filters, profiles and statistics.

Repository

In development

HARDLOCK · Android/Kotlin

Android project in Kotlin; its scope is still to be documented.

Repository

Skills

Grouped by what I can do. "Shown" means there is proof above; "declared" means I use it but have no public proof yet.

Bots and automation

Shown

  • Python
  • Telegram bots
  • SQLite
  • pytest

Declared

  • Webhooks
  • REST APIs

AI systems

Declared

  • LLM APIs
  • Claude
  • OpenAI
  • Gemini
  • Whisper
  • AI agents

Data and back end

Shown

  • SQLite

Declared

  • PostgreSQL
  • MongoDB
  • Go
  • Node.js

Operations

Declared

  • Docker
  • Cloudflare
  • Linux
  • SSH
  • Git and GitHub

Journey

  1. 7 years in the field working with fiber optics.
  2. There I ran into problems that software could solve.
  3. I learned Python to solve them myself.
  4. Today I build AI systems that explain themselves and can be audited.

Criden

For businesses and websites: Criden. A separate product from this site. Link coming soon.

Contact

  • Email: [email protected]
  • LinkedIn · GitHub
  • Download CV (PDF)
  • I look for work with artificial intelligence: designing and building systems under human control.
  • Long-term interest: how AI relates to the human brain. An interest, not a demonstrated skill.
  • Remote, from anywhere in the world. · UTC-5
  • Spanish: native. English: B1.
  • to be confirmed