Facturación global, sin abrir empresa fuera

De la descarga a tu primer pago internacional, en un fin de semana.

Tres frontends, una API y facturación con dos proveedores: Stripe en tu cuenta doméstica, Paddle como merchant of record en el resto del mundo. El código es tuyo, sin lock-in.

React + TypeScriptAPI .NET 10i18n incluidoCI/CD listo
Sitio de MarketingPáginas públicas, precios y SEO
App Web en ReactÁrea del cliente con autenticación y facturación
API .NETProductos, planes, funcionalidades y pagos
Base de datos · Auth · PagosPostgreSQL, Supabase, Stripe + Paddle
Panel AdminOpera productos, planes y PSPs

Hecho para construir con agentes de IA

Por qué una base

Deja de reconstruir la misma base SaaS.

Empieza por las partes que hacen único a tu producto; el resto ya está hecho y funcionando.

Construyendo desde cero

  • Autenticación~5 días
  • Gestión de sesiones~3 días
  • Estructura administrativa~10 días
  • Modelos de producto y precios~5 días
  • Pagos globales con dos proveedores~15 días
  • Internacionalización~5 días
  • Pruebas~5 días
  • CI/CD~3 días
  • Estructura de despliegue~3 días
  • Documentación~3 días

Empezando con CastorStack

  • Autenticaciónlisto
  • Gestión de sesioneslisto
  • Estructura administrativalisto
  • Modelos de producto y precioslisto
  • Pagos globales con dos proveedoreslisto
  • Internacionalizaciónlisto
  • Pruebaslisto
  • CI/CDlisto
  • Estructura de desplieguelisto
  • Documentaciónlisto

≈ 11 semanas de trabajo antes de la primera línea de tu producto — o 147 US$ y empiezas después de eso.

Qué incluye

Todas las capas de un SaaS real, ya en su lugar.

Tres frontends, una API y todo lo que los conecta.

Sitio de Marketing

Sitio público con precios, estructura SEO e i18n, conectado al catálogo del producto.

Aplicación Web del Cliente

Área autenticada del cliente: dashboard, plan, uso y base de facturación.

Panel Admin

Opera productos, planes, funcionalidades, usuarios, suscripciones y PSPs.

API .NET

API .NET 10 con EF Core, PostgreSQL y endpoints versionados.

Autenticación

Autenticación con Supabase, sesiones y rutas protegidas en todas las apps.

Gestión de Productos

Productos, planes y catálogo gestionados desde el panel admin.

Precios y Funcionalidades

Planes, feature flags y asociaciones plan-funcionalidad listos para modelar tu oferta.

Proveedores de Pago

Stripe y Paddle integrados de extremo a extremo: checkout, webhooks firmados y entitlements, con vinculación de checkout por plan.

Internacionalización

Rutas por idioma, archivos de traducción y selectores de idioma en cada frontend.

Pruebas Automatizadas

Pruebas unitarias con Vitest en los frontends, pruebas xUnit en la API y suites end-to-end con Playwright.

Despliegue

Frontends listos para Vercel y una API contenedorizada que despliegas donde quieras.

Configuración Centralizada

Branding, producto, precios y funcionalidades guiados por archivos de configuración.

Extensible
Facturación global

Vende en todo el mundo sin una entidad local en cada mercado.

A los clientes de tu país les cobras con Stripe. El resto pasa por Paddle como merchant of record, así el IVA y los impuestos sobre ventas corren por su cuenta.

  • Regla de país a proveedor, configurada en el panel admin
  • Los webhooks firmados de ambos proveedores liberan los mismos entitlements
  • Un solo endpoint de checkout: la API resuelve qué proveedor usar
País del compradorConfirmado en el checkout
Regla de enrutamientoDoméstico, internacional, respaldo
StripeTu cuenta doméstica
PaddleMerchant of record
Webhook → accesoEntitlement otorgado
Arquitectura

Un monorepo. Límites claros.

Cada app tiene una sola responsabilidad y lo compartido vive en un único lugar.

apps/

Tres frontends con el mismo lenguaje visual: marketing, app del cliente y admin.

backend/api/

Backend .NET 10: productos, planes, funcionalidades, usuarios, suscripciones y proveedores de pago.

config/

branding.json, product.json, pricing.json y features.json guían todo el producto.

shared/ · docs/ · scripts/

Convenciones, documentación y automatizaciones compartidas por todos los proyectos.

Explorar la arquitectura completa
Stack

Una stack que los equipos ya conocen.

Sin dependencias exóticas. Herramientas probadas, tipadas de punta a punta.

Frontend

ReactNext.jsViteTypeScriptReact Routeri18nextVitest

Backend

.NET 10C#EF CorePostgreSQLSupabase Auth

Calidad e Infra

Playwright E2ESentryVercelMigrationsEnv Config
Cómo funciona

De la descarga al despliegue, sin desvíos.

Branding, producto, precios y funcionalidades son configuración centralizada, no constantes dispersas.

Descarga el código

Un monorepo con frontends, API, base de datos y scripts.

Configura tu marca

Colores, logo y temas en config/branding.json; nombre, slug e idiomas en config/product.json.

Define productos y precios

Modela planes y funcionalidades desde el panel admin o desde archivos de configuración.

Conecta auth y pagos

Conecta las credenciales de Supabase y las claves de Stripe y Paddle; las integraciones ya están construidas.

Construye tu experiencia única

Dedica tu tiempo al producto, no al boilerplate.

Despliega

Sube a Vercel o al host que elijas, sin ataduras.

config/branding.json
{
  "primaryColor": "#7C4DFF",
  "secondaryColor": "#0D0D16",
  "logoText": "CastorStack",
  "themeModes": [
    "light",
    "dark",
    "system"
  ]
}
Onboarding guiado

Un camino guiado de cero a tu primer pago

Tu compra incluye una guía de incorporación de 15 pasos en inglés, español y portugués. Te lleva de un paquete sin abrir a un producto desplegado cobrando pagos reales. Cada paso termina con una verificación, escrita para ejecutarse con un agente de IA.

Para quién es

Hecho para quienes lanzan SaaS.

Objetivos diferentes, mismo punto de partida.

Founders en solitario

Valida tu idea con un producto real que funciona, no con un prototipo.

Desarrolladores SaaS

Sáltate la parte repetida y trabaja en las funcionalidades que diferencian tu producto.

Freelancers

Entrega proyectos SaaS para clientes con una base profesional desde el primer día.

Agencias de software

Estandariza cómo tu equipo inicia cada proyecto SaaS.

Equipos internos de producto

Lanza herramientas internas con autenticación, administración y estructura de facturación listas.

Quienes lanzan en serie

Reutiliza la misma base en varios productos sin reaprender todo de nuevo.

En detalle

Qué cubre la base.

Agrupado por las áreas que importan al lanzar.

Estructura de monorepo
Convenciones compartidas
Configuración centralizada
Documentación
Seguridad

Protecciones integradas que puedes verificar en el repositorio.

Valores por defecto concretos en la API y la base de datos — no una insignia genérica enterprise.

Webhooks de pago firmados

Stripe y Paddle usan verificación HMAC, comparación en tiempo constante, ventana de replay de cinco minutos y manejo idempotente de eventos.

Rutas admin protegidas de extremo a extremo

Cada endpoint /api/v1/admin/* exige una sesión de administrador autenticada — comprobado ruta por ruta.

Credenciales de PSP cifradas

Los secretos de los proveedores de pago se cifran con ASP.NET Data Protection, se guardan en la base de datos y nunca vuelven en texto plano desde la API.

Sin SQL crudo en la API

Entity Framework Core es la única vía de acceso a la base de datos — sin consultas concatenadas que abran superficie de inyección.

RLS aplicado por migración

Las tablas en Supabase salen con row-level security y privilegios cerrados, con una prueba de regresión que rompe el build si una tabla queda expuesta.

CORS estricto por defecto

Los orígenes permitidos son explícitos y las credenciales están desactivadas — el CSRF contra sesión por cookie queda descartado por configuración.

Allowlist de redirección en checkout

Las URLs de returnTo deben coincidir con los orígenes permitidos configurados para que el checkout no se convierta en open redirect.

Vista previa

Tres frontends, un mismo lenguaje visual.

El mismo sistema de diseño, trabajos distintos.

Home del sitio de marketing en tema oscuro, con el hero y el diagrama de los tres frontends.
Sitio de Marketing

Vende el producto: hero, precios y páginas listas para SEO.

Panel de la app web del cliente con plan activo, uso y acciones rápidas, datos de demostración.
Aplicación Web del Cliente

Área simple y orientada al valor para el cliente final.

Dashboard del panel admin con productos, planes, PSPs y estado de integraciones, datos de demostración.
Panel Admin

Panel operativo y denso para quien gestiona el SaaS a diario.

Extensibilidad

Cambia configuración, no código disperso.

La identidad del producto y las reglas comerciales viven en archivos de configuración versionados.

config/product.json
{
  "slug": "castorstack",
  "name": "CastorStack",
  "tagline": "A production-ready foundation to build and launch SaaS products.",
  "locales": [
    "en",
    "es",
    "pt"
  ],
  "defaultLocale": "en",
  "demoMode": true
}
config/pricing.json
{
  "currency": "USD",
  "plans": [
    {
      "id": "starter",
      "name": "Starter",
      "priceMonthly": 0
    },
    {
      "id": "growth",
      "name": "Growth",
      "priceMonthly": 199
    }
  ]
}

Estas muestras se leen de los archivos reales de config/ en el build. pricing.json es semilla de instalación: tras el seed, planes y precios viven en el panel admin.

Quién construyó esto

Hay una persona detrás de este código

Danilo Rodrigues

Danilo Rodrigues

Uno de los fundadores de CastorStack y DanTI Digital, ingeniero de software con más de 13 años de experiencia.

Construí este template para lanzar productos SaaS sin reconstruir la base cada vez. Es el mismo código que uso en mis propios productos.

FAQ

Preguntas frecuentes

No. Es una base code-first para desarrolladores: un monorepo con frontends React, una API .NET y archivos de configuración que puedes poseer y extender.

Blog

Últimos artículos

El precio por usuario está perdiendo fuerza

Estudios de 2026 muestran entre 43% y 61% de los SaaS ya usando algún modelo híbrido de precio. Qué cambia cuando cobrar por usuario deja de ser la norma.

Ver todos los artículos

Tu próximo SaaS debería empezar por el producto, no por el boilerplate.

Descarga el código y dedica tu primera semana a lo que hace diferente a tu producto.