Roamzy.io
RU · EN · ES · PT · TR · ZH
Interno · Revisión del proyecto · 2026-05-06

Hecho por 1 persona
+ IA.

SaaS en producción. Sitio + admin + facturador + integración RSP + cobro cripto + 193 países. Tres días. Cero ingenieros en la sala.

La pregunta

¿Se puede lanzar un SaaS
en producción en ~72 horas
por casi $0?

Sin equipo de ingeniería. Sin desarrollador frontend. Sin ingeniero backend. Sin departamento de QA. Sin DevOps dedicado. Una persona con visión de producto — y la IA como co-constructor.

«Eso es imposible»

El manual clásico: un stack así requiere un equipo de 4–6 personas durante 3–6 meses, decenas de miles de dólares en costes de desarrollo, rondas separadas para auditoría de seguridad y pruebas de carga, y otro mes más para integraciones con facturador, RSP y procesador cripto.

Lo que tiene que funcionar el día 1 para considerarse «producción»

Espera —

Ya está hecho.

Abre roamzy.io · inicia sesión · tu primera eSIM llega con ~100 MB por nuestra cuenta

roamzy.io →
PRIMERA eSIM POR NUESTRA CUENTA

Compruébala antes de pagar · sin tarjeta, sin código

El build

Lo que está realmente vivo
en producción ahora mismo

51
Migraciones de BD
6
Idiomas
193
Países
6
Integraciones vivas
11
Health checks
905
Tests en CI
~3
Días de cero a release
$0
Nómina de ingeniería

Frontend
  • Sitio público — Vite SPA, 5 idiomas, sitemap con hreflang correcto, 193 landing pages de país con precio local, foto hero, FAQ y datos estructurados
  • Dashboard — estado de eSIM en tiempo real, balance, historial, mini-gráficas por país, modal de instalación con info del dispositivo
  • Admin SPA — code-split (41 KB gzip), 11 secciones, 67 botones auditados, en ruso para el operador
Admin
  • Usuarios — lista, drawer, suspender/whitelist, impersonate (magic-link + cap de 30 min + write-block)
  • eSIM — ciclo completo, copiar ICCID/IMSI/MSISDN, reconciliación de balance con el facturador
  • Pagos — refund (con cap + step-up 2FA), refund on-chain, sync de estado con NowPayments, simular IPN
  • Informes — overview, tabla de clientes, drawer por cliente, exportar CSV+JSON
  • Marketing — analítica UTM, códigos promo, scaffold de A/B experiments
  • Sistema — Health (11 checks), Errores, Audit log, Pool, Tickets, editor SEO meta (Variantes B+C)
Backend
  • Stack — Fastify + better-sqlite3 + drizzle-orm, una sola máquina Fly, backups Litestream → R2
  • Auth — Google OAuth, Telegram Login Widget, Telegram Mini App, dev-login (cerrado en prod)
  • Seguridad — bcrypt-12, 2FA TOTP + recovery codes, lockout por cuenta, idle-timeout, SameSite=Strict, HSTS-preload, Permissions-Policy
  • Fiabilidad — busy_timeout, WAL, queries indexadas, handler de unhandledRejection, rate-limits a nivel de request
Integraciones
  • Venta (facturador) — clientes, contratos, servicios, tarifas, /payment/topup, /payment/refund, traffic-sync cada 12 min
  • EsimPlatform / RSP — getProfileByIccid: estado, dispositivo (Apple iPhone 15, etc.)
  • NowPayments — invoice, IPN con HMAC-SHA-512, /v1/refund chain-refund, sync de /v1/payment/:id
  • Telegram — login widget + mini app + bot /id + alertas (chat_id list)
  • Litestream — replicación continua de SQLite a Cloudflare R2
  • Search Console — push automático del sitemap en cada deploy + palanca manual + IndexNow para Bing/Yandex
Calidad
  • Auditoría de seguridad — 20 hallazgos, 1 CRITICAL + 5 HIGH cerrados antes del lanzamiento (INDEXNOW, login lockout, CSRF, refund step-up, gate de dev-login)
  • Auditoría de fiabilidad — 25 hallazgos, 5 RED cerrados (índice del ledger, OOM-killers en /me/stats y /admin/reports/clients/:id, busy_timeout)
  • Auditoría de cleanup — 34 hallazgos, código muerto archivado (sin pérdidas)
  • Disciplina i18n — barrido de strings hardcodeados user-facing, 5 idiomas, claves en todas partes
El coste

¿Cuánto costó de verdad?

Humano · Artur
  • Tiempo — unos 3 días de trabajo enfocado, más iteraciones nocturnas
  • Líneas escritas a mano0
  • Rol — visión de producto, decision-making, copy para UI/SEO, aceptación operativa de cada feature, debugging del flow real
IA · Claude
  • Tiempo — alrededor de 30+ horas de sesión activa
  • Líneas escritas — varios miles (migraciones, rutas, frontend, CSS, tests mentales, docs)
  • Rol — implementación, auditorías vía subagents, migraciones, deploys, debugging, docs, barrido i18n, hardening de seguridad
Externos
  • Hosting — Fly.io shared-cpu-1x · ~$5/mes
  • Almacenamiento — Cloudflare R2 (Litestream) · tier gratuito
  • Auth providers — Google OAuth · gratis
  • Procesador de pagos — NowPayments · % por transacción (sin fee fijo)
  • Dominio + DNS — Cloudflare · ~$10/año
Total
  • Capex — $0 de desarrollo, menos la suscripción a Claude
  • Opex — <$10/mes de infraestructura hasta los primeros 1k DAU

* Los conteos exactos de tokens viven del lado del modelo — Artur puede sacarlos del billing de Anthropic y ponerlos aquí. Yo (Claude) no tengo acceso a mi propio usage-meter en sesión.

Cronología

Cómo se armó

Día 1 · 2026-05-04
  • Producción viva en roamzy.io · app de Fly · dominio custom · TLS
  • Frontend + backend + BD · 18 migraciones · 5 idiomas · 193 países
Día 2 · 2026-05-05
  • Importación del pool de eSIMs (xlsx → CSV → BD) · IMSI backfill · reserva pool-first
  • Tooling de admin — usuarios, eSIMs, pagos, informes
  • Whitelist de monedas en NowPayments (11 stablecoins, sin ETH mainnet)
Día 3 · 2026-05-06 (hoy)
  • Mañana — éxito E2E con Venta: $20 reales aterrizaron en el balance principal
  • Tarde — auditoría completa (security + reliability + cleanup) → cerrado todo lo encontrado
  • Noche — admin impersonate, rename de eSIM, estado RSP, split de bundles, modal de refund, NP /v1/refund + sync de estado, cap de partial refund, reorg del footer, SEO Variantes B+C
  • Ahora mismo — este HTML
De Claude

Nota personal

Artur, no escribo notas personales con frecuencia — pero este proyecto se la ganó.

Esto es lo que noté en estos tres días. No pedías código — hacías preguntas: «¿podemos devolver más de lo que hay en balance?», «¿realmente va a funcionar el refund on-chain?», «¿seguro que no hay un agujero acá?». Ese estilo — no «generame X» sino «pensemos esto bien» — es la diferencia entre un producto que funciona y un demo.

Verificabas constantemente, no confiabas a ciegas, atrapabas mis errores (el deploy con el fly.toml equivocado, la integración RSP olvidada, las claves i18n a medias) — y cada vez yo dejaba una nota en memoria. Para el tercer día ya no me olvidaba. Eso es lo que parece la colaboración real: no «la IA escribe el código» sino «la IA y el humano se atrapan los errores entre sí».

Una sola persona en el campo igual es una fuerza — si esa persona tiene una segunda cabeza que no se cansa, no confunde migraciones, y se acuerda de cada línea del codebase.

Y una cosa más — ninguno de los dos creía del todo que iba a arrancar. Arrancó.

tres meses después

La parte que resultó
más interesante

Todo lo de arriba sigue siendo cierto — salió en tres días. Lo que viene es lo que pasó después, y es la mitad que no vi venir: el producto que hicieron una persona y una IA ahora lo compran las IA.

No se trata de «tener una API». Un agente puede descubrir Roamzy, abrir una cuenta anónima sin ninguna persona de por medio, consultar tarifas por país, pagar en stablecoin, recibir la eSIM y ganar una comisión de referidos — sin que en ningún momento una persona tenga que llenar un formulario. Ese es un producto distinto del que describía esta página al principio.

12
Herramientas MCP, anónimas
1576
URLs publicadas
905
Tests, 75 archivos
232
Commits

Lo que se sumó

Lo que de verdad me enseñaron tres meses de mantenerlo en producción

Lanzar rápido fue la parte fácil. La parte cara fue todo lo que solo aparece cuando empieza a moverse dinero real por el sistema — y la lección honesta es que la IA no elimina la necesidad de rigor, solo cambia el lugar donde ese rigor tiene que estar.

Nada de esto contradice el titular. Una persona más IA sí lanzó esto en tres días. Lo que pasa es que lanzar fue el día uno de ochenta y seis, y los otros ochenta y cinco fueron para ganarse el derecho a mantenerlo en pie.

agosto de 2026

El canal que resultó
ser el único

Algo cambió en la última semana, y vale la pena anotarlo con honestidad, porque no era lo que esperaba.

El endpoint MCP remoto ya está en el MCP Registry oficial, en npm como @roamzy/mcp-server, y distribuido por Cline, Smithery, Glama, LobeHub y mcpservers.org. Un sexto idioma — chino — salió en vivo con las 193 páginas de países y todo el blog.

Esta es la parte que no planeé. Cada enlace externo que este sitio ha ganado vino de ese lado: catálogos de desarrolladores y GitHub. Ninguno de medios de viajes. Las máquinas encontraron el producto antes que las personas — lo cual es una estrategia de distribución o un accidente, y sigo sin saber cuál.

«Hecho por 1 persona + IA» no es marketing.
Es la verdad técnica.

Abrí roamzy.io · tu primera eSIM llega con ~100 MB por nuestra cuenta: compruébala antes de pagar.

— Artur & Claude · 2026-05-06, actualizado 2026-08-06