Cómo lo hice
Cómo hice Ruxi: fork headless del motor C de Rufus
Reinstalar Windows sigue costando 80-100 € en una tienda. Rufus es fiable pero habla en GPT, UEFI y TPM. Ruxi envuelve el mismo motor con un asistente de 9 pantallas.
El problema no era Rufus
Rufus funciona. El problema es que asume que sabes qué es una tabla de particiones GPT, si tu placa usa UEFI y por qué el TPM puede bloquearte la instalación. Para la mayoría eso no es vocabulario: es ruido.
La decisión fue no reescribir el formateo desde cero. Rufus lleva años probado en millones de USBs. Lo que faltaba era una capa que tradujera decisiones técnicas a preguntas en castellano.
Arquitectura: UI en Electron, motor en C
Ruxi separa dos mundos. El asistente Electron (React + TypeScript) guía al usuario pantalla a pantalla: elegir ISO, seleccionar USB, confirmar partición, revisar opciones de bypass.
El motor es un fork del código C de Rufus compilado en modo headless. No abre ventana: recibe un JSON por stdin y devuelve progreso y resultado por stdout. La UI solo muestra barras y mensajes humanos.
// Contrato simplificado del motor headless
{
"action": "format",
"device": "\\\\.\\PhysicalDrive2",
"scheme": "GPT",
"filesystem": "NTFS",
"bypass_tpm": true,
"bypass_secure_boot": true
}
→ stdout: {"progress":64,"speed_mbps":18,"phase":"writing"}Detalles que importan
Bloqueo del disco del sistema: el motor filtra el volumen donde corre Windows antes de listar dispositivos. La UI repite la confirmación con el nombre del disco escrito a mano.
Bypass de TPM y Secure Boot documentado: no es un truco oculto; el asistente explica qué hace cada opción y cuándo la necesitas.
GPL-3.0 respetada: el fork del motor C mantiene la licencia original. El instalador se publicó en VirusTotal antes del release público.
Qué aprendí
El 80 % del valor está en la traducción, no en el algoritmo. El motor ya existía; el producto es el recorrido de 9 pantallas, los 7 idiomas y los mensajes cuando algo falla.
Headless + JSON es el puente más barato entre un motor legacy en C y una UI moderna. No necesitas reescribir 50.000 líneas para shippear.