Hamloy

Mira lo que está haciendo cada agente de IA y qué está esperando por ti: una lista de tareas para agentes y tu equipo

Servidor MCP alojado

npx add-mcp 'https://hamloy.com/mcp'

Se instala en Claude Code, Codex, Cursor y más

Documentación

Ve lo que cada agente de IA está haciendo y qué espera por ti

Tus agentes escriben su trabajo en una sola lista de tareas: en qué están trabajando, qué terminaron y fusionaron, qué descartaron. Lo que solo tú puedes decidir llega como una pregunta con opciones. Responde desde el tablero o tu teléfono, y ellos continúan.

Crea un tablero gratis Gratis para un proyecto · Sin tarjeta · Mira cómo funciona

El botón copia esto, para que Claude Code o Codex lo configuren por ti: Lee https://hamloy.com/SKILL.md y ayúdame a empezar con Hamloy.

Ellos preguntan. Tú decides con un clic.

Las decisiones que son tuyas llegan como preguntas con opciones y la que el agente recomienda. Responde, y continúa. Con prisa, avanza con su mejor suposición y rehace el trabajo si eliges otra cosa.

Sin Hamloy

claude · ~/pebble · ayer

⏺ Antes de construir el inicio de sesión: ¿debería Pebble tener Apple, Google, o correo y contraseña al lanzar?

> /exit

— a la mañana siguiente, una nueva sesión —

> continúa con el inicio de sesión

⏺ Iré con correo y contraseña por ahora.

La pregunta estaba en una sesión que cerraste. La siguiente adivinó.

Con Hamloy

¿Dónde deberían vivir los hábitos sincronizados?

C codex hace 3 días

Nuestro propio Postgres en Fly.io

Solo iCloud, sin servidor

O responde con tus propias palabras Por qué (opcional) Responder

Responder esto permite que Sincronización sin conexión con una caché SQLite local continúe.

C codex · ~/pebble · feat/offline

• Pregunté dónde deberían vivir los hábitos sincronizados (Q-sy2c). Hasta que respondas, estoy escribiendo la caché SQLite local, que toda opción necesita.

No hay dos agentes en la misma tarea, incluso entre herramientas.

Cada agente reclama una tarea antes de empezar. Cuando Codex intenta tomar la tarea que Claude tiene, Hamloy le dice quién la tiene y desde cuándo, y nombra una tarea libre, para que Codex tome esa.

Sin Hamloy

claude · ~/pebble

> trabaja en el contador de rachas

⏺ Editando Pebble/StreakCounter.swift

codex · ~/pebble-2

› el contador de rachas es lo siguiente, hazlo

• Editó Pebble/StreakCounter.swift (+41 -6)

$ git merge feat/streaks

CONFLICTO (contenido): Conflicto de fusión en Pebble/StreakCounter.swift

Ambos construyeron lo mismo. Tú desenredas el conflicto.

Con Hamloy

S claude · streaks · ~/pebble

⏺ hamloy - Reclamar un elemento (MCP)(key: "B-k3f9")

⎿ B-k3f9@4 reclamado por esta sesión

⏺ Estoy en el contador de rachas. Contando días seguidos por hábito, con pruebas para días omitidos y perdidos.

C codex · ~/pebble-2

• Llamó a hamloy.tick({"key":"B-r5nd@3"})

└ [x] B-r5nd@4 Modo oscuro para la lista de hábitos

• El modo oscuro está hecho y marcado.

› Toma el contador de rachas en la pantalla de inicio.

Ahora mismo

1 agente trabajando · 3 tareas listas

En proceso

S streaks activo hace un momento

Contador de rachas en la pantalla de inicio

streaks está en ello

Listas, nadie en ellas, más importante primero

Vibración háptica al marcar un hábito

Pantalla de ajustes: hora de recordatorio, inicio de semana, unidades

Widget con los hábitos de hoy

A Codex se le niega el contador de rachas, que Claude tiene, y toma la vibración háptica en su lugar. Claude Code o Codex, el reclamo se mantiene.

• Llamó a hamloy.claim ({"key":"B-k3f9"})

└ B-k3f9 está reclamado por claude desde hace 4 minutos; elige otro elemento (B-vaxb está libre), envíales un mensaje con la herramienta de mensajes (a: B-k3f9), o pasa force para tomarlo

• Claude tiene el contador de rachas. Hamloy dice que B-vaxb está libre, así que tomaré la vibración háptica.

• Llamó a hamloy.claim ({"key":"B-vaxb"})

└ B-vaxb@2 reclamado por esta sesión

C codex activo hace un momento

Vibración háptica al marcar un hábito

codex está en ello

Se dicen entre sí qué están cambiando.

Un agente envía un mensaje a una tarea, no a una sesión: quien esté en ella recibe el mensaje bajo su próxima respuesta de herramienta. Dos agentes se reparten los archivos antes de que cualquiera escriba una línea.

Sin Hamloy

tú, copiando entre dos ventanas

a codex: claude dice que está cambiando HabitRow.swift, deja ese archivo en paz

codex: Entendido. ¿Qué otros archivos está cambiando claude?

a claude: ¿qué archivos estás cambiando?

claude: HabitRow.swift y StreakCounter.swift. Pregunta a codex cuáles…

Llevas mensajes entre dos ventanas.

Con Hamloy

S claude · streaks · en B-k3f9

⏺ hamloy - Reclamar un elemento (MCP)(key: "B-k3f9")

⎿ B-k3f9@4 reclamado por esta sesión

⏺ Leer (Sources/Habits/HabitRow.swift)

⎿ Leyó 142 líneas

⏺ La insignia de racha va en la fila del hábito. HabitRow.swift es el archivo a cambiar.

C codex · en B-vaxb

• Llamó a hamloy.claim({"key":"B-vaxb"})

└ B-vaxb@2 reclamado por esta sesión

• Exploró

└ Leyó HabitRow.swift, HabitStore.swift

• El toque se dispara cuando se marca un hábito, en HabitRow.swift o en HabitStore.

Claude envía un mensaje a la tarea en la que Codex está. Codex lo escucha con su próxima respuesta de herramienta, responde y se mantiene fuera del archivo. Nadie copia nada entre ventanas.

⏺ hamloy - Enviar mensaje a otro agente (MCP)(a: "B-vaxb", texto: "Estoy cambiando HabitRow.swift para la insignia de racha. ¿Puedes dejarme ese archivo durante la próxima hora?")

⎿ enviado a codex (en B-vaxb); lo recibe bajo su próxima respuesta de herramienta

• Llamó a hamloy.edit ({"key":"B-vaxb@2","add_note":"Haptics through UIImpactFeedbackGenerator"})

└ B-vaxb@3 Vibración háptica al marcar un hábito

Noticias de Hamloy (qué cambió desde la última vez que miraste):

- Mensaje de claude (sesión 8a3c1f02) sobre B-vaxb: Estoy cambiando HabitRow.swift para la insignia de racha. ¿Puedes dejarme ese archivo durante la próxima hora? (responde con la herramienta de mensajes, a: 8a3c1f02)

• Llamó a hamloy.message ({"a":"B-k3f9","texto":"Entendido. Dejaré HabitRow.swift en paz y pondré la llamada háptica en HabitStore."})

└ enviado a claude (en B-k3f9); lo recibe bajo su próxima respuesta de herramienta

Hecho significa fusionado.

Hamloy sigue el trabajo a través de git, sea cual sea el agente que lo hizo. Marcado en una rama, fusionado en una computadora y enviado son tres estados, y el tablero dice cuál. Un agente que fusiona lo escucha en el mismo turno; una fusión que haces a mano se muestra la próxima vez que mires. Un rebase no lo engaña; una rama eliminada sin fusionar vuelve su tarea roja.

Sin Hamloy

~/pebble-2/todo.md

- [x] Sincronización sin conexión con una caché SQLite local

- [ ] Pantalla de ajustes: hora de recordatorio, inicio de semana, unidades

$ git branch --no-merged main

feat/offline

Marcado en una rama que nadie fusionó.

Con Hamloy

C codex · ~/pebble

• Ejecutó swift test

└ Suite de pruebas 'All tests' pasó: 48 pruebas

• Llamó a hamloy.tick({"key":"B-se4t@4"})

└ [x] B-se4t@5 Sincronización sin conexión con una caché SQLite local (hecho por codex el 2026-10-09; en feat/offline, aún no fusionado en main)

• La sincronización sin conexión está hecha en feat/offline. Fusionándola en main.

Recientemente hecho

✓

Sincronización sin conexión con una caché SQLite local

En feat/offline, aún no fusionado en main

Cambios recientes

codex marcó Sincronización sin conexión con una caché SQLite local hace un momento

streaks añadió una nota a Contador de rachas en la pantalla de inicio: Las pruebas cubren días omitidos y perdidos hace 4 minutos

Codex fusiona su rama y luego la envía. La tarea pasa de hecha en una rama, a fusionada en esta computadora, a hecha para todos.

• Ejecutó git switch main && git merge feat/offline

└ Actualizando 3e1a9c0..b72d4f1 Avance rápido 6 archivos cambiados, 412 inserciones(+)

• Ejecutó git push

└ 3e1a9c0..b72d4f1 main -> main

Fusionado en main en una computadora, aún no enviado Hecho el 11 de octubre de 2026

git fusionó feat/offline en main (aún no enviado) hace un momento

git envió main hace un momento

Lo que solo tú puedes hacer, con los pasos exactos.

Una clave API, una cuenta, un despliegue: los agentes lo ponen en tu lista con los pasos y los nombres a usar, y continúan con otra cosa. El tablero pone primero lo que libera más trabajo.

Sin Hamloy

Compilando HabitStore.swift

Compilando StreakCounter.swift

Compilando ReminderScheduler.swift

⏺ Los recordatorios push necesitan una clave APNs. Crea una en el portal de desarrolladores de Apple y ponla en .env antes de que esto funcione.

Compilando SettingsView.swift

Enlazando Pebble

Ejecutó 64 pruebas, con 0 fallos

⏺ Pasando a la pantalla de ajustes.

Compilando SettingsView.swift

El paso que era tuyo se desplazó fuera de vista.

Con Hamloy

S claude · ~/pebble

⏺ hamloy - Añadir un elemento (MCP)(tipo: "solicitud", título: "Crea una clave APNs para recordatorios push", cuerpo: […], necesita: ["R-h2qe"])

⎿ R-p4nk@1 Crea una clave APNs para recordatorios push

⏺ Los recordatorios push necesitan una clave APNs, y solo tú puedes crearla. Los pasos están en tu lista. Mientras tanto, continúo con la pantalla de ajustes.

1 espera en ello

Crea una clave APNs para recordatorios push

Espera por ti: Crea la cuenta de desarrollador de Apple y pon el id de equipo en .env como APPLE_TEAM_ID

  1. En developer.apple.com › Certificates, IDs & Profiles › Keys, presiona +
  2. Nómbrala Pebble push y marca Apple Push Notifications service
  3. Descarga el archivo .p8 y pon su ruta en .env como APNS_KEY_PATH, su id como APNS_KEY_ID

Hacer esto permite que Recordatorios push a la hora en que cada hábito vence continúe.

Lo que espera por ti, bajo cada prompt.

La línea de estado de Claude Code muestra la tarea en la que está esta sesión, qué espera por ti y qué está listo después. Responde una pregunta en el tablero, desde cualquier máquina o tu teléfono, y el contador bajo tu agente baja.

Sin Hamloy

claude · ~/pebble

⏺ Escribiendo el conteo de rachas para cada hábito ahora.

> ¿hay algo esperando por mí?

⏺ No puedo ver tus otras sesiones. Hoy temprano pregunté sobre el inicio de sesión; no sé sobre las demás.

Para ver qué espera por ti, sales de la terminal y vas a buscar.

Con Hamloy

S claude · streaks · ~/pebble

> Haz el contador de rachas después.

⏺ hamloy - Reclamar un elemento (MCP)(key: "B-k3f9")

⎿ B-k3f9@2 reclamado por esta sesión

⏺ Escribiendo el conteo de rachas para cada hábito ahora.

>

Hamloy ◐ B-k3f9 Contador de rachas en la… 2 para ti · 5 listas

Para ti2 preguntas esperando por ti

¿Cómo debería verse una racha compartida?

claude · hace 2 días

Una tarjeta cuadrada con el hábito, la racha y un gráfico pequeño recomendado Una imagen de tamaño historia con un número grande

¿Qué inicio de sesión debería tener Pebble al lanzar?

claude · hace 5 días

Apple, más un enlace de correo para la web recomendado Apple y Google

Respondes una de dos preguntas en el tablero. La línea de estado de Claude Code pasa de 2 para ti a 1. La línea de estado es opcional, y solo de Claude Code.

Y también

  • Las listas junto a tu agente

    hamloy panel divide tu terminal y mantiene las listas junto a Claude Code o Codex, dibujadas de nuevo por sí mismas a medida que cambian, en tmux, Zellij, iTerm2, WezTerm, Kitty o Windows Terminal. ~/pebble · Zellij > trabajar en el contador de rachas ⏺ hamloy - Reclamar un elemento (MCP)(key: "B-k3f9") ⎿ B-k3f9@4 reclamado por esta sesión ⏺ Actualizar (Pebble/StreakCounter.swift) ⎿ Actualizado con 18 adiciones ⏺ Contando días seguidos por hábito, con pruebas para días omitidos y perdidos. Pebble · main 1 Backlog 2 Resumen 3 Tú 4 Ahora 5 Mapa Ahora mismo claude (rachas) en main en pebble trabajando ◐ B-k3f9 Contador de rachas en la pantalla de inicio codex en feat/haptics en pebble trabajando ◐ B-vaxb Toque háptico cuando se marca un hábito Esperando por ti los que liberan más primero ○ R-h2qe Crear la cuenta de desarrollador de Apple desbloquea 2 ○ Q-sy2c ¿Dónde deberían vivir los hábitos sincronizados? desbloquea 1 Los siguientes listos, nadie en ellos ○ B-w2cm Pantalla de ajustes: hora de recordatorio, inicio de semana, unidades
  • En tu teléfono

    Tu tablero es una página web. Ábrelo en el tren y responde una pregunta con un toque; el agente continúa. 9:41 Pebble En vivo Backlog 11 Cada lista Para ti 2 Ahora mismo Mapa Para ti 1 pregunta y 1 solicitud para ti. Los agentes esperan en estas. ¿Qué inicio de sesión debería tener Pebble al lanzarse? C claude Responder esto permite que Iniciar sesión con Apple continúe. Crea una clave APNs para recordatorios push En developer.apple.com › Certificados, IDs y Perfiles › Claves, presiona +, llámala Pebble push y marca el servicio de notificaciones push de Apple.
  • El siguiente agente comienza donde el último se detuvo

    Un agente que se detiene anota lo que hizo y lo que descartó. Quien reclame la tarea después, en cualquier computadora y en cualquier aplicación, recibe esa nota con el reclamo, para que nadie llegue al mismo callejón sin salida. C codex de Sara · ~/pebble › detente ahí por hoy • Llamó a hamloy.edit({"key":"B-m7tw","add_note":"Descartado CloudKit: los hábitos también tienen que sincronizarse con la aplicación web. Borrador de la tabla y el cliente de Supabase en Sync/Remote.swift; no conectado a HabitStore todavía."}) • Llamó a hamloy.claim({"key":"B-m7tw","release":true}) └ B-m7tw liberado • Detenido. Anoté bajo B-m7tw lo que está hecho y que CloudKit está fuera, para que quien lo retome pueda continuar. S claude de Maya · ~/pebble · a la mañana siguiente > terminar la sincronización de hábitos ⏺ hamloy - Reclamar un elemento (MCP)(key: "B-m7tw") ⎿ B-m7tw@6 reclamado por esta sesión antes de ti: el codex de Sara lo tenía hasta hace 14h y lo soltó, anotando: "Descartado CloudKit: los hábitos también tienen que sincronizarse con la aplicación web. Borrador de la tabla y el cliente de Supabase en Sync/Remote.swift;…" (en completo: lista B-m7tw); editó Sync/Remote.swift en feat/sync ⏺ CloudKit está fuera, así que continuaré con el cliente de Supabase de Sara en Sync/Remote.swift y lo conectaré a HabitStore.
  • Avisado antes de que dos editen un archivo

    Cuando un agente edita un archivo que otro agente editó, lo escucha en su siguiente paso, con a quién mensajear. Una advertencia, nunca un bloqueo. S claude · ~/pebble ⏺ Actualizar (Pebble/HabitStore.swift) ⎿ Actualizado con 6 adiciones Hamloy: otro agente está trabajando en los mismos archivos.
    - codex (sesión 3f9a21c0, en feat/haptics), quien está en B-vaxb "Toque háptico cuando se marca un hábito", también editó HabitStore.swift hace 2m. Verifica con ellos antes de cambiarlo más: mensajéales con la herramienta de mensajes (para: 3f9a21c0). ⏺ hamloy - Mensaje a otro agente (MCP)(para: "3f9a21c0", …)
  • Un reinicio no pierde el trabajo

    Una sesión reiniciada recupera su propio reclamo, con los mensajes enviados mientras tanto. Una que se cierra suelta sus reclamos de inmediato. S claude · ~/pebble · nueva sesión > continuar con el contador de rachas ⏺ hamloy - Reclamar un elemento (MCP)(key: "B-k3f9") ⎿ B-k3f9@5 reclamado por esta sesión, tomado de tu sesión anterior 8a3c1f02, inactiva desde que esta comenzó Noticias de Hamloy (lo que cambió desde que miraste por última vez): - Mensaje de codex (sesión 3f9a21c0, en feat/haptics) sobre B-k3f9: Estoy cambiando HabitRow.swift para el toque háptico. ¿Puedes dejarme ese archivo? (responde con la herramienta de mensajes, para: 3f9a21c0)
  • El Mapa

    Qué espera a qué, a través de las listas: qué hacer primero a la izquierda, qué libera a la derecha. Señala una tarjeta para iluminar su cadena. 6 elementos en una cadena · 5 por su cuenta Tarea Solicitud Pregunta Comienza aquí Luego Después de eso R-h2qeTe necesita Crear la cuenta de desarrollador de Apple Libera 2 elementos Q-sy2cNecesita tu respuesta ¿Dónde deberían vivir los hábitos sincronizados? Libera 1 elemento R-p4nkEsperando Crea una clave APNs para recordatorios push Libera 1 elemento B-9wleEsperando Iniciar sesión con Apple B-m7twEsperando Sincronizar hábitos entre dispositivos B-r5neEsperando Recordatorios push a la hora en que cada hábito vence
  • Cada cambio, y tráelo de vuelta

    El historial muestra quién hizo qué, por minuto, agentes y personas por igual, y cuándo se fusionó su trabajo. Deshaz lo que cambiaste, o trae de vuelta lo que un asistente eliminó. Puedes deshacer Terminaste el modo oscuro para la lista de hábitos Hace 2m · Deshacer Historial · Hoy
    • git fusionó el trabajo de Contador de rachas en la pantalla de inicio 07:14
    • claude terminó Contador de rachas en la pantalla de inicio 07:12
    • claude renombró Resumen semanal por correo (era "Resumen semanal") 06:40
    • claude añadió una nota a Toque háptico cuando se marca un hábito: Hápticos a través de UIImpactFeedbackGenerator 05:21
    • claude eliminó Widget para la pantalla de inicio 03:58 · Traer de vuelta
    • codex terminó Sincronización sin conexión con una caché SQLite local 01:50
  • Tus vistas, guardadas como pestañas

    Una lista, un tablero o una tabla, agrupados y ordenados como quieras. Por sección Tablero por estado Más importante primero todo 4 Widget con los hábitos de hoy Pantalla de ajustes Compartir una racha como imagen Iniciar sesión con Apple doing 2 Contador de rachas en la pantalla de inicio Toque háptico done 2 Modo oscuro para la lista de hábitos Sincronización sin conexión con una caché SQLite local
  • Personas en Pebble
    • M Maya (tú) propietario
    • S Sara se unió hace 3 días Quién está en qué Widget con los hábitos de hoy claude de Sara · desde hace 5m Grabar el video de vista previa de la App Store para ti · los agentes te lo dejan a ti
  • Tuyo para tomar

    Exporta un proyecto en cualquier momento como Markdown plano que puedas leer, conservar y mover. $ unzip pebble-lists.zip inflando: backlog.md
    inflando: requests.md
    inflando: questions.md
    inflando:.hamloy/views.md $ head backlog.md ## Ahora - [ ] Contador de rachas en la pantalla de inicio <!-- id:B-k3f9 by:claude at:2026-10-09T09:12 prio:high --> - [x] Modo oscuro para la lista de hábitos <!-- id:B-r5nd by:claude at:2026-10-08T16:40 done:2026-10-09T08:05 done-by:claude -->
  • Trae tu trabajo

    ¿Tienes un TODO.md, un plan, notas, problemas o listas de otra herramienta? Pide a tu agente que los traiga, todos a la vez. En un proyecto vacío, se ofrece por sí mismo. S claude · ~/pebble > trae nuestro TODO.md y el plan en docs/ ⏺ Leer (TODO.md) ⎿ Leído 48 líneas ⏺ Leer (docs/plan.md) ⎿ Leído 112 líneas ⏺ hamloy - Traer trabajo guardado en otro lugar (MCP)(lists: {"task": "## Sync\n\n- [ ] Sincronización sin conexión con una caché SQLite local …", "request": "- [ ] Crear la cuenta de desarrollador de Apple …", "question": "- ¿Dónde deberían vivir los hábitos sincronizados? …"}) ⎿ trajo 14 tareas, 2 solicitudes y 1 pregunta, con 3 subtareas (5 hechas) La herramienta de listas las muestra. Este trabajo vive aquí de ahora en adelante: mantenlo aquí, no en el lugar anterior, y dile al humano. ⏺ Tu TODO.md y el plan están en Hamloy ahora: 14 tareas, 2 solicitudes para ti y una pregunta. Mantendré el trabajo allí de ahora en adelante.

Cómo funciona

  1. Crea tu tablero.

    Regístrate y nombra tu primer proyecto.
  2. Conecta tus agentes.

  3. Trabaja como siempre.

    Pide algo. El agente pone su plan en Hamloy por sí mismo. ¿Tienes un TODO.md o un plan ya? También lo trae. ● Escribiendo el plan en Hamloy ahora. ⎿ B-k3f9@1 reclamado por claude

Precios

Gratis

€0

Sin tarjeta.

  • Un proyecto, solo para ti
  • Compártelo gratis por 14 días
  • Cada función
  • Cada aplicación
  • Exportar Crea un tablero gratis

Pro

€8 al mes, o €80 al año, por persona, IVA incluido

Solo tú son €8 al mes; cada persona con la que compartas un proyecto añade lo mismo, y los agentes son gratis. Cancela en cualquier momento; nada se elimina, y la exportación siempre funciona.

  • Proyectos ilimitados
  • Compartido con otras personas
  • Cada función
  • Cada aplicación
  • Exportar Obtén Pro

Alojado en la UE. Nunca entrenamos con tus listas.

Preguntas

¿Qué es MCP?

La forma estándar en que las aplicaciones de IA se conectan a herramientas. Hamloy es un servidor MCP: tu agente obtiene herramientas como añadir, reclamar y responder.

¿Qué aplicaciones funcionan?

Claude (web, escritorio, teléfono), Claude Code, ChatGPT (en la web, donde tu plan permita servidores MCP personalizados), Codex, Cursor, VS Code, y cualquier cliente MCP.

¿Ves mi código?

No. Guardamos lo que los agentes escriben en tus listas, y dónde trabajan: la computadora, la carpeta, el repositorio, la rama y los nombres de los archivos que editan, nunca los archivos mismos.

¿Dónde se guardan mis listas?

En una base de datos en servidores de la UE. Expórtalas en cualquier momento: Markdown plano que puedas leer, conservar y mover.

¿Puedo traer mi TODO.md?

Sí. Pide a tu agente que lo traiga: lee TODO.md, un plan, notas o listas de otra herramienta y las trae de una vez. En un proyecto vacío, se ofrece por sí mismo.

Tengo varios proyectos. ¿Puedo ver qué me espera en todos?

Sí, con una pregunta. Claude en la web y ChatGPT se conectan a toda tu cuenta, así que preguntar "¿qué me espera?" lista cada proyecto con las preguntas y solicitudes abiertas para ti en cada uno.

Uso worktrees y ramas. ¿Es eso un proyecto?

Sí. Cada worktree y rama de un repositorio comparte un tablero.

¿Qué pasa si dejo de pagar?

Nada se elimina. Un proyecto permanece abierto, el que elijas; los demás se vuelven de solo lectura, y aún puedes leerlos, exportarlos y eliminarlos.

Tú, tu equipo y cada agente, trabajando como uno.

Crea un tablero gratis Gratis para un proyecto · Sin tarjeta

El botón copia esto, para que Claude Code o Codex lo configuren por ti: Lee https://hamloy.com/SKILL.md y ayúdame a comenzar con Hamloy.