Blog ·

De localhost:3000 a un link que tu jefe sí abre: paso a paso con Claude Code

Paso a paso: una herramienta hecha con Claude Code pasa de localhost a un link permanente con código de invitación, con una comprobación en cada paso.

Este es el compañero práctico de la guía No puedes mandar un link de localhost. La guía explica por qué el link no viaja y cuándo basta con un túnel. Este post sigue una app pequeña de punta a punta, de un portátil a un link que un jefe abre en el celular, con lo que escribes, lo que deberías ver y cómo comprobar cada paso. No hace falta más habilidad de terminal que pegar.

El punto de partida

Digamos que le pediste a Claude Code una herramienta pequeña para llevar las solicitudes de clientes: un formulario que llenan tus compañeros, una lista de lo que entró, un estado por solicitud. En algún momento el asistente dice algo como "tu app está corriendo en http://localhost:3000". En tu pantalla funciona. Pegas el link en el chat del equipo y la primera respuesta es "a mí no me abre".

Es lo esperado. La app vive en tu portátil y el link apunta a quien lo lea. Para compartirla, la app tiene que vivir en otro lado. El resto de este post es esa mudanza.

Qué necesitas antes de empezar:

  • La carpeta donde Claude Code estuvo trabajando, con la app corriendo.
  • Una cuenta de GitHub. Es el "Google Drive de los programadores": ahí queda tu código, en tu cuenta, y lo puedes bajar en .zip cuando quieras.
  • Una cuenta de White Ghost en el plan gratis (3 apps despiertas, una persona, todas las funciones).
  • Claude Code abierto en esa carpeta.

Minuto 0: lo que le dices a Claude Code

Pega esto en la conversación:

Instala el CLI de ghosty (npm install -g ghosty-cli), inicia sesión con ghosty login y corre ghosty init en esta carpeta para crear la app y su repositorio. Sube el código y corre ghosty deploy hasta que la app quede en vivo. Usa salida --json y dime la URL final.

Desde aquí el asistente hace la parte técnica y se detiene cuando te necesita.

Minuto 1: el inicio de sesión

La primera parada es ghosty login. Se abre un link en tu navegador; entras con un link al correo, Google, GitHub o passkey, y apruebas la conexión una sola vez. De vuelta en la conversación, el comando termina con una línea de "listo" que trae tu correo.

Cómo comprobarlo: abre console.whiteghost.ai en el navegador. Estás con la sesión iniciada y el panel está vacío, esperando la primera app.

Minuto 2: la entrevista

ghosty init hace unas pocas preguntas: un nombre para la app, una línea de qué hace, si el backend es Node o Python, y si necesita base de datos. Para el seguimiento de solicitudes la respuesta a la última es que sí: una lista que tiene que estar mañana es un sistema de registro, y eso necesita dónde vivir.

También pregunta quién puede abrir la app. Para una herramienta de equipo la opción honesta es el código de invitación compartido: un solo código para todos, así que trátalo como una contraseña compartida. Pública quiere decir cualquiera con el link. Tu propio inicio de sesión quiere decir que la app pide un login que Claude Code le programa después.

Cómo comprobarlo: aparece un repositorio nuevo en tu cuenta de GitHub, y la app aparece en el panel de la consola con sus nueve piezas (pipeline de despliegue, base de datos, repositorio de código y demás), cada una con su estado.

Minuto 3: el código se muda

Claude Code mueve el proyecto a la estructura que espera la plataforma, apunta el código a la base de datos que la app ya tiene, y lo sube. No tienes que explicarle el proyecto: cada app tiene además un botón "Open in Claude Code" y un prompt "Copy the instructions" con la URL de la app y la del repositorio, para el día en que empieces desde la consola.

Cómo comprobarlo: la pestaña Deploys muestra un build en curso, con su commit y su log.

Minuto 5: el primer build

Los builds reales de una app completa con frontend y backend han tardado 53 segundos y 1 minuto 27 segundos. Cuando el build queda en verde, ghosty deploy reporta la dirección donde ahora vive la app. Es una URL permanente que no cambia y no depende de tu portátil; si tienes un dominio propio, lo apuntas a la app después y el certificado se emite y renueva solo.

La prueba que importa

Toma tu celular, apaga el wifi, abre la URL. Pide el código de invitación, lo escribes, y el seguimiento de solicitudes carga. Esa es la prueba que localhost nunca pasa: la app está corriendo en un lugar que no es tu computador.

Ahora pon el portátil a dormir y vuelve a probar desde el celular. Sigue ahí.

Mandar el link

Manda la URL y el código de invitación al equipo, idealmente en dos mensajes separados. Nadie necesita cuenta de Claude, tienda de aplicaciones ni instalar nada. La primera visita después de un rato tarda un momento: la app se apaga cuando nadie la usa y despierta con la primera petición.

El siguiente cambio

Dos días después alguien pide un campo de "prioridad". Se lo pides a Claude Code en la misma carpeta, lo sube, corre el build, y todos ven la versión nueva en la misma dirección. Si algún cambio daña algo, ghosty rollback o el botón Redeploy sobre cualquier build anterior devuelve la versión buena mientras lo arreglas.

Cuánto costó

Nada hasta aquí: el plan gratis cubre 3 apps despiertas para una persona, con base de datos, secretos y modos de acceso incluidos. Solo (US$19 al mes) sube a 10 apps despiertas, dominios propios y 10 GB de archivos. El detalle está en la página de precios.

Esto aplica igual en Colombia, México o Chile: la plataforma no cambia por país.

Dónde termina este recorrido

  • El código de invitación es uno solo para todos, no cuentas por persona. Para cuentas con nombre, pídele a Claude Code que agregue el inicio de sesión propio de la app.
  • Cambiar el modo de acceso después implica editar y volver a publicar, no mover un interruptor.
  • Los links de preview de cada pull request son URLs públicas; no pongas datos reales ahí.

Relacionado

Preguntas frecuentes

¿Cuánto tarda la primera publicación con Claude Code y White Ghost?

Una conversación. El inicio de sesión y la entrevista corta piden un par de minutos de tu atención; el primer build de una app real con frontend y backend ha tardado 53 segundos y 1 minuto 27 segundos. La mayor parte del tiempo se va en leer lo que el asistente te reporta.

¿Qué hago si el build falla?

Abre la pestaña Deploys: cada build guarda su log. Pega las últimas líneas del log en Claude Code y pídele que arregle la causa y vuelva a subir. Si un cambio posterior daña una app que funcionaba, ghosty rollback o el botón Redeploy sobre el build anterior devuelve la versión buena mientras lo arreglas.

¿Puedo seguir cambiando la app después de publicarla?

Sí, ese es el flujo normal. Le sigues pidiendo cambios a Claude Code en la misma carpeta; cada subida queda en vivo en la misma dirección, así que la gente con la que compartiste el link ve la versión nueva sin hacer nada.

¿La persona que abre mi link tiene que instalar algo o tener cuenta de Claude?

No. La app es una página web normal en una URL normal. Con el modo de código de invitación compartido escribe el código una vez; con el modo público simplemente la abre.

¿Lista tu app para ponerse a trabajar?

Descríbela, dale forma con tu asistente y publícala con White Ghost.

Empezar gratis