De idea a producción, limpio.

Full-stack con Next.js y TypeScript. Diseño arquitectura, producto e interfaces con foco en claridad, rendimiento y mantenimiento real.

Sistemas sobrios. Decisiones con criterio.

Del primer modelo al despliegue estable.

Next.jsTypeScriptSupabaseOpenAIn8n
Roberto, desarrollador full-stack
Detalle personal

Sólido, sin ruido

Sobre mí

Claridad para construir mejor.

Soy desarrollador full-stack con una forma de trabajar orientada al criterio, la estructura y la mejora continua. Me interesa construir sistemas que sean comprensibles por dentro y agradables por fuera: arquitecturas limpias, modelos de datos coherentes e interfaces que acompañan al usuario.

Entiendo el desarrollo como un oficio: escuchar, ordenar, decidir, entregar e iterar. Sin dramatizar el proceso. Sin añadir complejidad innecesaria.

  • Diseñar es tomar buenas decisiones.
  • Construir es reducir fricción.
  • Iterar es mejorar con disciplina.

Sistema de diseño

Mi sistema de diseño para aplicaciones web.

Sistemas

Trade-offs reales, no teoría.

Arquitectura

  • Responsabilidades claras, sin mezclar capas porque sí.
  • Poco acoplamiento entre módulos, servicios y componentes.
  • Cambios asumibles sin tener que reescribir medio sistema.

Datos

  • Modelos honestos, cercanos al dominio real.
  • Reglas explícitas donde evitan errores futuros.
  • Consultas sencillas y datos fáciles de mantener.

Fiabilidad

  • Procesos repetibles, especialmente en jobs y tareas críticas.
  • Errores controlados, visibles y fáciles de diagnosticar.
  • Recuperación rápida cuando algo falla.

DX y Seguridad

  • Entornos previsibles, fáciles de levantar y entender.
  • Validaciones claras en los puntos donde importan.
  • Permisos bien definidos, con sesiones y accesos tratados con cuidado.

Trabajo

Algunos proyectos recientes.

Vista general de la plataforma Uriach You

Uriach You — Plataforma B2B para farmacias

Plataforma B2B para farmacias: formación, novedades y analítica.

Biblioteca de componentes y sistema UI Yuma

Yuma — UI Kit y Design System de ISDIN

Sistema y librería de componentes con foco en consistencia y accesibilidad.

Interfaz de Vinci para financiación con tokens

Vinci — Financiación musical Web3 con ERC-20

Financiación Web3 para artistas con tokens ERC-20 y beneficios.

Dashboard del portal B2B Selfcare

Selfcare — Portal de gestión Telco

Portal B2B autoservicio para líneas, suscripciones y consumo.

Stack

Las herramientas con las que trabajo.

Fragmento de código Next.js

Next.js (App Router)

  • Fronteras server/client con patrones predecibles
  • ISR y revalidación on-demand cuando el contenido importa
  • Rendimiento y accesibilidad por defecto
Next.jsApp RouterRSCISR
Dashboard de despliegues y previews en Vercel

Vercel

  • Despliegues serverless con previews por defecto
  • Seguro por diseño: entornos aislados, releases limpias y rollbacks fáciles
VercelServerlessPreviewSecurity
Ejemplo de componentes shadcn/ui

shadcn/ui

  • Primitivas de UI componibles con control real
  • Builds rápidos y lenguaje visual consistente
shadcn/uiRadixTailwindUI System
Pipeline de contenido del CMS

Sanity CMS

  • Modelado de contenido estructurado
  • Flujo editorial + revalidación por webhooks
SanityWebhooksContent
Flujo de integración con OpenAI

OpenAI (flujos asistidos por IA)

  • IA como asistente dentro de flujos de producto
  • Chunking, resúmenes y salidas estructuradas
  • UX asistiva, no manipuladora
OpenAIStructured outputUX
Diagrama entidad-relación de Postgres

Supabase + Postgres

  • Esquemas relacionales, constraints y ownership claro
  • Patrones de auth/storage que permiten entregar rápido
  • Fronteras de seguridad pragmáticas
PostgresSupabaseRLS
Interfaz de Typesense para búsqueda

Typesense

  • Búsqueda rápida, tolerante a errores, con resultados instantáneos
  • Indexación simple y ajuste de relevancia predecible
TypesenseSearchIndexingRelevance
Flujo de automatización en n8n

n8n (Automatización)

  • Automatizaciones y glue code sin scripts frágiles
  • Flujos event-driven
n8nWebhooksOps

Notas

Apuntes de código y producto.

ISR con webhooks de Sanity en Next.js

Un patrón práctico para revalidar páginas sin romper el flujo editorial.

Esquemas Postgres que siguen siendo legibles

Constraints y ownership como parte del producto — no como un añadido final.

Pipelines de automatización: coordinación vs cómputo

Escala separando orquestación barata de workers de cómputo pesado.

Contacto

Escríbeme.

roberto@rrios.dev