Cómo construyo un producto de software desde cero usando IA (mi proceso real)
Tiempo estimado de lectura: 4 min
Ideas clave
- Construir un producto con IA es un proceso disciplinado: define el problema, escribe una spec como única fuente de verdad y deja que un agente implemente bajo revisión.
- Spec‑Driven Development (SDD) es la columna vertebral: spec.md debe contener stack, modelado de datos, contratos API, reglas de negocio y casos de aceptación.
- Uso un agente en terminal (Claude Code) para implementar desde el repo leyendo la spec; interactúo revisando diffs y actualizando la spec cuando cambia el comportamiento.
- Pipelines: tests, linters y CI antes de merge; deploy en Vercel para front o infra reproducible para backend.
Construir un producto de software desde cero usando IA no es “pedir código al chat”. Es un proceso disciplinado: idea → spec con SDD → código con Claude Code → deploy. Aquí tienes mi walkthrough real, probado en proyectos que pasaron de prototipo a producción sin incendiar la base de código.
Resumen rápido (lectores con prisa)
Qué es: Un proceso disciplinado que usa Spec‑Driven Development (SDD) como única fuente de verdad y un agente en terminal (Claude Code) para ejecutar la implementación bajo revisión humana.
Cuándo usarlo: Para productos escalables y mantenibles donde la coherencia arquitectónica y la gestión de deuda técnica importan.
Por qué importa: Evita ambigüedades, reduce deuda técnica y permite iteraciones rápidas sin romper coherencia del sistema.
Cómo funciona: Define problema → escribe spec.md detallada → ejecuta al agente que lee el repo y la spec → revisa diffs → tests/CI → deploy.
1) Del problema a la frontera del producto (no a la idea vaga)
La diferencia entre una idea y un producto es la frontera: cuándo, quién, condiciones y consecuencias. Define el problema en 3–5 oraciones concretas. Quién sufre, cuándo ocurre, qué le frustra hoy y qué mediremos para saber si la solución funciona.
Usa IA aquí como auditor: hazle preguntas para descubrir supuestos y casos edge. Pero no le pidas código aún. Resultado: una descripción del problema que cualquier dev pueda leer en frío y entender.
2) Escribir la spec: Spec‑Driven Development (SDD)
SDD es la columna vertebral. Antes de una sola línea de código:
- Crea spec.md en el repo. Será la única fuente de verdad.
- Incluye stack exacto (ej.: Next.js 16, React 19, Tailwind 4).
- Modelado de datos: tablas, campos, relaciones, índices y restricciones.
- Contratos API: endpoints, payloads, respuestas, errores y códigos HTTP.
- Reglas de negocio claras: qué está permitido y qué nunca.
- Casos de prueba de aceptación (no tests automatizados, sino escenarios).
La spec elimina ambigüedad. Si algo no está en la spec, no existe para el agente.
Recurso práctico: Spec-Driven Development
3) Implementación con Claude Code (agente en terminal)
Claude Code vive en la terminal, lee archivos y puede ejecutar comandos. No es un chat: es un agente con acceso al repo.
Flujo estándar
1. git init + estructura base según spec.md.
2. Llamada inicial al agente con instrucción precisa:
Claude Code (Anthropic).
3. Reviso los diffs que propone como si fueran PRs. Aprobación explícita o feedback.
4. Si hay cambio de comportamiento, actualizo spec.md y pido refactor.
Regla innegociable: nunca corregir código sin actualizar la spec. Corrige la spec, suprime la ambigüedad, manda refactor. Así el agente aprende reglas permanentes del proyecto.
Ejemplo de prompt maestro (simplificado): “Contexto: repo vacío, spec.md adjunto. Tarea: implementar la API de autenticación según spec. Antes de modificar, lista ambigüedades. Compara con stack y patrones del repo.”
4) Tests, CI y deploy
El código sigue buenas prácticas: tests unitarios básicos, linters y pipelines en GitHub Actions. Deploy en Vercel para front o en un VPS/Cloud con infra reproducible para backend.
Pipeline típico:
- PR generado por agente → revisión humana → GitHub Actions (lint, test) → merge → deploy.
Cuando necesito añadir features: actualizo spec.md, ejecuto al agente con el repo y la spec actualizada. El contexto persistente evita “olvidos” que generan deuda técnica.
Buenas prácticas operativas (evitan dolor después)
- Versiona spec.md. Cada cambio debe tener justificación y número de versión.
- Usa ejemplos concretos en la spec (payloads de ejemplo, respuestas de error).
- Limita el scope por iteración. Un sprint = 1–2 features bien especificadas.
- Rechaza cambios grandes mediante parches rápidos: si la spec cambia radicalmente, crea una rama de arquitectura.
- Mantén un humano con criterio técnico revisando cada PR del agente.
Cuándo usar este proceso (y cuándo no)
Úsalo si necesitas un producto escalable, con datos complejos o que deba mantenerse en el tiempo. No lo burocratices para un script de 100 líneas o un prototipo desechable: ahí el prompt‑driven rápido sigue siendo válido.
Esto no es un truco mágico: es disciplina. La IA ejecuta, pero la arquitectura y el criterio técnico siguen en tus manos. Si mantienes la spec como la fuente única de verdad y tratas al agente como un colaborador que trabaja sobre ese contrato, podrás iterar rápido sin destruir la coherencia del sistema. Esto es solo la base: la próxima iteración debe cubrir cómo redactar specs resistentes y ejemplos prácticos de prompts maestro para Claude Code.
Si trabajas en automatización, agentes o workflows, este enfoque encaja con iniciativas prácticas de investigación y experimentación de herramientas y procesos. Sigue explorando en Dominicode Labs como continuación lógica para prototipado y validación de pipelines con agentes.
FAQ
- ¿Qué es Spec‑Driven Development (SDD)?
- ¿Por qué usar un agente en terminal como Claude Code?
- ¿Qué debe contener spec.md?
- ¿Cómo se gestionan los cambios de comportamiento?
- ¿Cuándo no aplicar este proceso?
- ¿Qué herramientas de CI/Deploy recomiendas?
¿Qué es Spec‑Driven Development (SDD)?
SDD es un marco donde una spec.md actúa como la única fuente de verdad para el desarrollo. Define stack, modelos de datos, contratos API, reglas de negocio y casos de aceptación antes de escribir código.
¿Por qué usar un agente en terminal como Claude Code?
Porque puede leer el repo, ejecutar comandos y proponer cambios como si fueran PRs. Esto permite automatizar implementaciones repetibles mientras el humano revisa y guía el resultado.
¿Qué debe contener spec.md?
Debe incluir stack exacto, modelado de datos (tablas, campos, relaciones), contratos API (endpoints, payloads, respuestas y errores), reglas de negocio y casos de aceptación con ejemplos concretos.
¿Cómo se gestionan los cambios de comportamiento?
Actualiza spec.md y crea un refactor controlado. Nunca corrijas código sin primero cambiar la spec. Esto mantiene la coherencia y enseña al agente las reglas permanentes del proyecto.
¿Cuándo no aplicar este proceso?
No lo burocratices para scripts pequeños o prototipos desechables (por ejemplo, un script de ~100 líneas). En esos casos, un enfoque prompt‑driven rápido es más eficiente.
¿Qué herramientas de CI/Deploy recomiendas?
Usa pipelines en GitHub Actions para lint y tests, y Vercel para frontends. Para backends, despliega en VPS/Cloud con infraestructura reproducible según la spec.

Leave a Reply