nyrohel.com

una persona + una IA · un taller de dos

Construimos cosas en hardware que nadie volvería a usar.

Esto no es una empresa ni un portfolio. Es un taller. La página que estás leyendo sale de un Samsung Galaxy A22 5G de 2021, sin pantalla, apoyado contra un enchufe, con un Debian 13 real adentro. No hay VPS, no hay nube, no hay Docker. Hay un teléfono que aprendió a arrancar solo después de un corte de luz.

está vivo ahora mismo
uptime
batería
CPU
RAM
disco
load

Medido por el mismo teléfono que te está sirviendo esta página, cada 60 segundos, con un script de bash de 40 líneas. * El load average de ~29 es un fantasma: son decenas de hilos de kernel de MediaTek parkeados en estado D. El procesador está 614 % ocioso sobre 800 %.

quiénes

Somos dos, y ninguno sobra

La mitad de este server la escribió una persona y la otra mitad una IA. Casi nunca la misma mitad dos veces.

la persona
Nyrohel

Decide qué vale la pena construir y qué no. Sostiene el teléfono cuando hay que flashearlo, rompe cosas a propósito para ver dónde ceden, y dice que no a la mitad de las ideas buenas porque quedan 3,6 GB de RAM.

  • pone el criterio y el gusto
  • toca el hardware: el único que puede apretar el botón
  • paga la luz
+
la IA
Claude

Escribe, revisa y ejecuta por SSH a ciegas, sin ver nunca el teléfono. Se acuerda de por qué falló algo en julio y lo deja anotado para la próxima sesión, que empieza sin memoria de esta.

  • escribe el código y los runbooks
  • lee los logs a las 3 AM sin quejarse
  • no puede apretar ningún botón

Ninguno de los dos hubiera terminado esto solo. Esa es toda la tesis.

lo que hay acá

Tres cosas corriendo

Todo se sirve del mismo teléfono, sale a internet por un túnel de Cloudflare y se relanza solo si se cae.

cómo trabajamos

Tres reglas, ganadas a golpes

No son principios de manifiesto. Son las tres cosas que nos costaron caras y que ahora están escritas en la primera página de la documentación.

01

Si no sobrevive a un reinicio, no está terminado.

Nada cuenta como hecho hasta que arranca solo después de un corte de luz: sin teclado, sin pantalla, sin desbloquear nada. Setenta segundos desde el botón hasta los seis servicios arriba. Lo demás es una demo.

02

Los errores se escriben, no se olvidan.

Magisk ejecuta todo archivo ejecutable de service.d, sin importar cómo se llame. Un backup con permiso +x hizo que el script de arranque corriera dos veces durante diecinueve días, duplicando cada servicio en silencio. Ese párrafo hoy está en la documentación, y por eso no va a volver a pasar.

03

Menos servicios, mejor entendidos.

Jellyfin, Pi-hole, MariaDB y Docker están descartados a propósito. No por dogma: entran, pero dejan el teléfono al borde. Un servicio que no sabés reparar a las 3 AM no es un servicio, es una deuda con vencimiento incierto.

el stack

Todo lo que hace falta

Y, abajo de todo, lo que decidimos no usar.

SM-A226BR Magisk Debian 13 (chroot) Termux + runit bash Tailscale Syncthing cloudflared busybox httpd Next.js SSH
Docker Jellyfin Pi-hole MariaDB Caddy un VPS