Building tools that developers and players actually use. Construyo herramientas que devs y jugadores usan de verdad.

AI agents, developer tooling and the infrastructure behind competitive Minecraft servers. Documented and in production.Agentes de IA, herramientas para desarrolladores y la infraestructura detrás de servidores competitivos de Minecraft. Todo documentado y en producción.

Selected workTrabajo destacado

Open it right now. Ábrelo ahora mismo.

Not mockups. Public repositories with green CI and a log of the bugs found and fixed.No son maquetas. Son repositorios públicos, con CI en verde y un registro de errores encontrados y corregidos.

Zordon

Run several coding agents at once. Every task gets its own branch, its own working directory and its own process, so no agent touches what another one is doing.Corre varios agentes de código a la vez. Cada tarea recibe su propia rama, su propio directorio de trabajo y su propio proceso, así que ningún agente toca lo que está haciendo otro.

GoGit
  • One dashboard shows every agent with its changes liveUn panel los muestra a todos con sus cambios en vivo
  • Approve or discard with two keysCon dos teclas apruebas o descartas
  • Single Go binary, CI on Ubuntu and macOSBinario único en Go, CI en Ubuntu y macOS
View repositoryVer el repositorio
Zordon dashboard with three agents working in parallel

Nexo

A self-hosted AI chat app, similar to claude.ai, that works with any model provider.Una app de chat con IA self-hosted, parecida a claude.ai, que funciona con cualquier proveedor de modelos.

TypeScriptNext.jsPostgreSQLKubernetesMCP
  • Claude, GPT and any OpenAI-compatible API, with per-user keysClaude, GPT y cualquier API compatible con OpenAI, con claves por usuario
  • MCP connectors, web search, memory and live artifactsConectores MCP, búsqueda web, memoria y artifacts en vivo
  • Nexo Code: a coding agent in the browser with a cloud workspace per userNexo Code: un agente de código en el navegador con un workspace en la nube por usuario
View repositoryVer el repositorio
NNexo

Chart last month's sign-upsGrafica los registros del último mes

Done. Sign-ups grew 38% in the second half:Listo. Los registros subieron un 38% en la segunda quincena:

Now open a PR with the queryAhora abre un PR con la consulta

agent-from-scratch

A coding agent built one step at a time, one file per step. It shows why an agent's loop is eight lines, and what actually breaks: parallel results, history trimming, the ceiling on each tool's output.Un agente de código construido paso a paso, un archivo por paso. Enseña por qué el bucle de un agente son ocho líneas, y sobre todo qué se rompe de verdad: los resultados en paralelo, el recorte del historial, el techo de la salida de cada herramienta.

PythonAnthropic
  • No frameworks, just the SDK and the standard librarySin frameworks, solo el SDK y la librería estándar
  • A chapter per step on what it adds and what it costsUn capítulo por paso sobre lo que añade y lo que cuesta
  • Around 200 lines of Python in totalUnas 200 líneas de Python en total
View repositoryVer el repositorio
steps/03_loop.py
while True:
    response = client.messages.create(
        ..., tools=TOOLS, messages=messages)
    messages.append({"role": "assistant",
                     "content": response.content})

    if response.stop_reason != "tool_use":
        return messages

    results = [run_tool(b.name, b.input)
               for b in response.content]
    messages.append({"role": "user", "content": results})

stowage

Store files without marrying any provider. Write the code once and run it against disk, memory, S3 or R2 by changing one line. It can also run on its own as a REST API.Guardar archivos sin casarte con ningún proveedor. Escribes el código una vez y lo usas contra el disco, la memoria, S3 o R2 cambiando una línea. Y si no quieres montar nada, se levanta solo como API REST.

TypeScriptnpmCloudflare R2S3
  • Works with S3, R2, MinIO, disk and memoryFunciona con S3, R2, MinIO, disco y memoria
  • Zero runtime dependenciesCero dependencias en runtime
  • Local disk in dev, S3 or R2 in productionDisco local en dev, S3 o R2 en producción
View repositoryVer el repositorio
storage.ts
import { createStorage, s3Driver } from 'stowage'

const storage = createStorage({
  driver: s3Driver({ bucket: 'uploads' }),
})

await storage.put('avatars/rico.png', file)
const url = await storage.url('avatars/rico.png')

✓ 1.2 MB uploaded in 184 ms

Everything elseTodo lo demás

More than what fits in public. Más de lo que cabe en público.

Most of what I build lives in private repos, mine or my teams'. I can't share the link, but I'll gladly walk you through it on a call.La mayoría de lo que hago está en repos privados, míos o de los equipos con los que trabajo. El enlace no te lo puedo pasar, pero en una llamada te lo enseño sin problema.

AboutSobre mí

From Minecraft plugins to coding agents. De plugins de Minecraft a agentes de código.

I started writing plugins for PvP servers: anticheats, bots, cosmetics, custom server forks. That's where I learned to care about latency, tick budgets and code that holds up with thousands of players at once.Empecé haciendo plugins para servidores PvP: anticheats, bots, cosméticos, forks del servidor. Ahí aprendí a preocuparme por la latencia, el presupuesto de cada tick y el código que aguanta a miles de jugadores a la vez.

Now I spend most of my time on AI tooling: running several agents in parallel without them stepping on each other, and building the pieces so I can review what they do before it ships.Ahora paso la mayor parte del tiempo en herramientas de IA: poner a varios agentes a trabajar a la vez sin que se pisen, y construir las piezas para revisar lo que hacen antes de que llegue a producción.

20+projects shippedproyectos entregados
3teams and studiosequipos y estudios
6languages in productionlenguajes en producción
1.8–1.21Minecraft versionsversiones de Minecraft

Codenix Studios

Premium Minecraft plugins and tooling: cosmetics and secure plugin loading.Plugins y herramientas premium para Minecraft: cosméticos y carga segura de plugins.

Destroyed Studios

PvP-focused work: practice bots, a tuned server fork and Practice systems.Trabajo centrado en PvP: bots de práctica, un fork del servidor afinado y sistemas de Practice.

RBW.gg

Ranked Bedwars network: custom server fork, anticheat and the infrastructure around it.Red de Ranked Bedwars: fork propio del servidor, anticheat y toda la infraestructura.

ToolboxHerramientas

What I reach for. Con lo que trabajo.

How I workCómo trabajo

No surprises at the end. Sin sorpresas al final.

  1. 01

    First, what's eating your timePrimero, qué te está costando tiempo

    Before writing a line I want to know which part of your week goes into something that should already be solved.Antes de escribir una línea quiero saber qué parte de tu semana se va en algo que debería estar resuelto.

  2. 02

    A price, and what I wouldn't doTe digo el precio y lo que no haría

    A clear quote. And if part of the job isn't worth it, I tell you before charging for it, not after.Un presupuesto claro. Y si algo del encargo no merece la pena, te lo digo antes de cobrarlo, no después.

  3. 03

    Delivered in pieces you can tryEntrego en trozos que puedes probar

    No vanishing for three weeks. Each part arrives working and you can run it the same day.Nada de desaparecer tres semanas. Cada parte llega funcionando y la puedes ejecutar el mismo día.

  4. 04

    Everything explainedTe queda todo explicado

    Documented code and written-down decisions, so you or anyone else can carry on when I'm gone.El código va documentado y las decisiones escritas, para que puedas seguir tú o con quien quieras cuando yo ya no esté.

Fair questionsDudas razonables

What I'd ask. Lo que preguntaría yo.

What if you disappear halfway through?¿Y si desapareces a mitad del proyecto?

I deliver in pieces, and each piece works. If we stop at any point, what's there is usable. And the repository is yours from day one, not mine.Entrego por trozos, y cada trozo llega funcionando. Si paramos en cualquier punto, lo que hay ya sirve. Además el repositorio es tuyo desde el primer día, no mío.

Will I understand the code after you leave?¿Voy a entender el código cuando te vayas?

That's part of the job, not an extra. Look at agent-from-scratch: it's written so someone can read it top to bottom and follow every decision. Your project ships the same way.Esa es parte del encargo, no un extra. Mira agent-from-scratch: está escrito para que alguien lo lea de arriba abajo y entienda cada decisión. Tu proyecto se entrega igual.

Do you use AI agents to write my code?¿Usas agentes de IA para escribir mi código?

Yes, and that's why I build the tools above: so I can review what they do before it lands anywhere. What ships has been read by me, and I answer for it as if I typed every line.Sí, y por eso construyo las herramientas de arriba: para poder revisar lo que hacen antes de que llegue a ninguna parte. Lo que se entrega lo he leído yo y respondo de ello igual que si lo hubiera tecleado entero.

How much does it cost?¿Cuánto cuesta?

It depends on the job, and I'd rather tell you with your problem in front of me than post a rate that means nothing. The first conversation is free.Depende del encargo, y prefiero decírtelo con tu problema delante antes que poner aquí una tarifa que no significa nada. La primera conversación no se cobra.

Tell me what's eating your time. Cuéntame qué te está costando tiempo.

Two lines about what you need is enough. I'll answer with what I'd do, what I wouldn't, and what it would cost.Escríbeme dos líneas sobre lo que necesitas. Te contesto con qué haría, qué no, y cuánto costaría.