GoCreate

GoCreate es una plataforma AI-native product builder diseñada para que cualquier usuario pueda generar, previsualizar y desplegar aplicaciones web y experiencias Web3 conversando con un agente. El frontend está organizado como un monorepo gestionado con pnpm workspaces y Turborepo, dividido en tres aplicaciones independientes pero coordinadas: un sitio público de marketing (apps/web) responsable de la adquisición y el posicionamiento de la marca; una aplicación autenticada (apps/app) que concentra el onboarding, dashboard, editor de proyectos con árbol de artefactos, chat en streaming, sandbox de previsualización, controles de despliegue, integraciones y facturación; y un portal de documentación (apps/docs) construido en React puro sobre rutas, sin MDX, que cubre quick-start, configuración Web3, seguridad y limitaciones del producto. La capa de presentación se apoya en Next.js 16 con App Router y React 19 Server Components, lo que permite combinar renderizado en servidor para SEO y carga inicial con interactividad fina del lado del cliente. La autenticación admite tanto el flujo clásico de email/contraseña con verificación OTP como conexión vía wallet (Ethereum y Solana) usando Dynamic Labs, integrando viem y @solana/web3.js para firmar transacciones desde la propia interfaz. El estado global se gestiona con Zustand, los datos remotos con TanStack Query y los formularios con React Hook Form + Zod, manteniendo validación coherente entre cliente y backend. El editor de código embebido usa Monaco, mientras que la edición rica se resuelve con TipTap. Todo el sistema de diseño se centraliza en un paquete compartido @repo/ui consumido por las tres apps, junto con configuraciones reutilizables de ESLint y TypeScript, lo que garantiza consistencia visual y estándares uniformes a lo largo del monorepo. Las pipelines de Turborepo permiten builds incrementales y caching agresivo, reduciendo el tiempo de CI y el ruido en despliegues. La integración con el backend se realiza contra una API REST versionada bajo /api/v1, con cliente fetch tipado, manejo de tokens en localStorage y un AuthGuard que enruta según el estado del JWT.



Tecnologías usadas:

Front End:

Stack moderno y minimalista orientado a rendimiento, SEO y mantenibilidad. Next.js 16 con App Router y React Server Components reduce el JavaScript enviado al cliente y mejora Core Web Vitals. React 19 aporta hooks de transición y form actions nativas. TypeScript garantiza una superficie tipada de extremo a extremo, complementada con Zod para validación runtime. Tailwind CSS 4 mantiene la coherencia visual sin acumular CSS muerto. Zustand resuelve el estado global con boilerplate mínimo, mientras TanStack Query gestiona caché, revalidación y sincronización de datos remotos. La capa Web3 se apoya en Dynamic Labs, viem y @solana/web3.js para autenticación con wallets multi-cadena. Todo orquestado con pnpm workspaces y Turborepo, con builds cacheables y tareas paralelas.

  • React

  • TypeScript

  • Next.js

  • Tailwind

Back End:

El backend está construido sobre NestJS 11 con TypeScript 5.7, siguiendo una arquitectura Domain-Driven Design (DDD) + CQRS event-driven. Cada bounded context se separa en cuatro capas (domain, application, infrastructure, presentation), con un dominio puro sin acoplamiento a NestJS, agregados con event sourcing, value objects auto-validados y repository ports inyectados como abstract class para preservar el DI token de Nest. La mutación de estado pasa por commands, las lecturas por queries y los efectos secundarios por event handlers, todo orquestado con @nestjs/cqrs y un Unit of Work propio sobre Prisma para garantizar transaccionalidad. La persistencia se resuelve con PostgreSQL y Prisma 7, modelando cuentas, workspaces, proyectos, artefactos, archivos generados, conversaciones, sesiones de generación, despliegues, planes y créditos de facturación. El núcleo de IA se apoya en Mastra (core, memory, RAG y conector PostgreSQL) coordinando Anthropic Claude, OpenAI y Google Generative AI dentro de pipelines de agentes con un clarify step determinístico que pregunta solo lo necesario antes de delegar a sub-agentes especializados. BullMQ + Redis gestionan la cola de trabajos asíncronos y los streams largos de chat se entregan al cliente vía Server-Sent Events. La capa Web3 integra viem, @solana/web3.js, @solana/spl-token, OpenZeppelin Contracts y compilación on-the-fly con solc 0.8.28, permitiendo desplegar tokens ERC-20, SPL y colecciones NFT desde la propia app. Las previsualizaciones se ejecutan en sandboxes de Vercel Sandbox y Daytona, mientras que los despliegues productivos se publican vía Vercel y GitHub (Octokit). La autenticación combina JWT con Passport, OAuth (Google y GitHub), verificación por email con plantillas Handlebars y autenticación por wallet a través de Dynamic. El almacenamiento de artefactos vive en S3 con URLs firmadas, y toda la API expone respuestas envueltas en un ApiResponse estandarizado, con un DomainExceptionFilter global que mapea excepciones de dominio a códigos HTTP coherentes.

  • PostgreSql

  • NestJS