Hola

Combino código limpio con diseño intuitivo para construir aplicaciones web que no solo funcionan perfectamente, sino que también inspiran.

Proyectos destacados

Sanamente Online

Conecta pacientes con psicólogos y gestiona el ciclo completo: registro, agendas y turnos, pagos y retiros, reclamos, calificaciones y administración segura con JWT y roles. Incluye sistema de referidos y manejo de caja.

Ver proyecto

MyPublicLinks

Plataforma moderna de "Link in Bio" con perfiles personalizables, gestión de enlaces drag & drop, widgets interactivos, plantillas prediseñadas, analíticas avanzadas y sistema de suscripciones con pagos integrados (Stripe y MercadoPago).

Ver proyecto

Prismatik UI

Librería moderna de componentes React con TypeScript. Incluye Button, Card, Input, Modal, Tabs, Accordion, Navbar y más. Diseñada para ser simple, accesible (ARIA compliant) y fácil de extender con múltiples variantes y temas.

Ver proyecto
💬 Chateá con mi clon
Resumen

Librería moderna de componentes React con TypeScript, diseñada con enfoque en simplicidad, accesibilidad y extensibilidad. Incluye componentes fundamentales para aplicaciones web modernas con soporte completo de ARIA, múltiples variantes temáticas (light, dark, holographic, transparent) y API consistente.
Objetivos

• Proporcionar componentes React modernos y accesibles listos para producción.
• Ofrecer API simple y consistente para facilitar la adopción.
• Garantizar accesibilidad total con soporte ARIA completo.
• Permitir personalización mediante className y múltiples variantes.
• Mantener código TypeScript tipado sin ambigüedades.
Componentes principales

La librería incluye 38+ componentes listos para producción:

Formularios y Entrada: Input, Select, SearchBar, Toggle, Slider, Checkbox integrados.
Botones: Button (con animaciones pulse, shake, glow, wave), SocialButton (Google, Facebook, GitHub, etc.), Badge, Chip.
Navegación: Navbar, Sidebar, Breadcrumb, Tabs, Pagination, Stepper, Dropdown, Drawer.
Contenedores: Card, ProductCard, Container, Grid, GridItem, Accordion.
Feedback: Modal, Alert, Toast, Tooltip, Spinner, ProgressBar, Skeleton, SkeletonCard.
Diseño: Typography (h1-h6, p, span), Divider, Spacer, Header.
Usuario: Avatar, UserProfile, LoginForm completo con OAuth.
Hooks: useToast para notificaciones programáticas.

Cada componente con múltiples variantes, tamaños y soporte completo de accesibilidad ARIA.
Características destacadas por componente

Button: 6 variantes (solid, outline, ghost, link), 3 tamaños, 4 animaciones, loading state, iconos left/right, circular, fullWidth.
Modal: 6 posiciones (center, top, bottom, left, right, corners), 4 tamaños, 6 animaciones (fade, slide, zoom), closeOnEscape, closeOnClickOutside.
LoginForm: Layout centered o with-side-image, OAuth buttons integrados, remember me, forgot password, error handling.
Grid: 1-12 columnas, responsive (mobile/tablet breakpoints), gap configurable, align/justify items.
Accordion, Tabs, Modal: Navegación por teclado completa (flechas, Home, End, Escape).
Toast: 9 posiciones, auto-dismiss configurable, actions personalizables, animaciones suaves.
Skeleton: 4 variantes (text, circular, rectangular, rounded), animaciones pulse/wave, multi-line support.
Sistema de variantes

Todos los componentes aceptan prop variant con opciones:
light: Tema claro con fondo blanco/gris suave
dark: Tema oscuro con fondos profundos
holographic: Efectos de gradiente iridiscente
transparent-light: Fondo transparente con texto claro
transparent-dark: Fondo transparente con texto oscuro
Además, props size (small, medium, large) y className para extensión de estilos.
Accesibilidad (ARIA)

Accordion: aria-expanded en botones, aria-controls vinculando botón con panel, role="region" en contenido.
Tabs: role="tablist"/"tab"/"tabpanel", aria-selected, aria-controls, gestión completa por teclado.
Modal: role="dialog", aria-modal="true", aria-labelledby para título, cierre con Escape.
Input/Select: aria-invalid cuando state="error" para lectores de pantalla.
Todos los componentes interactivos con focus visible y keyboard navigation.
Instalación y uso

Instalación vía npm: npm install prismatik-ui
Importar estilos compilados: import 'prismatik-ui/styles.css'
Importar componentes: import { Button, Card, Modal } from 'prismatik-ui'
Requisitos: React 18+ y React DOM 18+.
Soporte dual package (ESM y CommonJS) con types incluidos.
Stack tecnológico

Core: React 18, TypeScript 5 con tipado estricto.
Estilos: CSS Modules para encapsulación, compilados a dist/styles.css.
Build: Rollup para dual package (ESM + CJS), generación de types.
Desarrollo: forwardRef donde aplica, API consistente, sin abreviaciones confusas.
Publicación: npm con exports configurados, tipos en dist/types/index.d.ts.
Convenciones de desarrollo

Código TypeScript completamente tipado sin any.
forwardRef en componentes que necesitan ref forwarding.
API consistente: variant, size, className en todos los componentes aplicables.
Enfoque en simplicidad, legibilidad y mantenibilidad del código.
CSS Modules para evitar conflictos de estilo globales.
Estado del proyecto

Librería funcional publicada en npm como prismatik-ui.
Sitio de documentación en desarrollo.
Disponible para instalación y uso en proyectos React actuales.
Publicación en npm

Paquete disponible en npmjs.com/package/prismatik-ui. Dual package con soporte ESM y CommonJS.
Types incluidos para autocompletado en TypeScript.
Estilos compilados listos para importar.
Resumen

Plataforma web que conecta pacientes con psicólogos para gestionar todo el ciclo de atención: registro, perfiles, agenda y turnos, pagos y retiros, reclamos, calificaciones y administración. Seguridad basada en JWT y control de roles; UI responsive y notificaciones no intrusivas.
Objetivos

• Mejorar el acceso a atención psicológica online de forma segura.
• Simplificar la gestión operativa para terapeutas y administrativos.
• Centralizar pagos, retiros y métricas del negocio.
• Ofrecer una experiencia clara y moderna para pacientes.
Roles y permisos (RBAC)

AD (Administrativo): control total, métricas y operaciones sensibles.
TE (Terapeuta): perfil, agenda, retiros y funcionalidades afines.
PA (Paciente): perfil, turnos, reclamos y calificaciones.
Autenticación y seguridad

Inicio de sesión con JWT y autorización por roles (middleware requireRol).
Rutas sensibles protegidas, validaciones y limpieza de logs sensibles.
Cambio de contraseña desde el perfil (paciente y terapeuta).
Turnos, agendas, pagos y caja

CRUD de agendas con JWT; vistas por rol y utilidades de disponibilidad.
Expiración de agendas (administrativo).
Webhook público para pagos; conciliación, métricas financieras y retiros (aprobación/rechazo).
Manejo de caja dentro de la app: apertura/cierre, conciliaciones y registro de movimientos.
Sistema de referidos

Generación de enlaces/códigos de referidos, tracking de conversiones y aplicación de beneficios/bonificaciones según regla de negocio.
Reclamos, calificaciones y catálogo

CRUD administrado y operaciones autenticadas por turno.
Normalización de estados para estadísticas y reportes.
Descuentos, obras sociales y tipos de terapia (gestión administrativa).
Arquitectura y tecnologías

Frontend: React + TypeScript bajo Atomic Design, React‑Bootstrap, CSS Modules tipados, hooks reutilizables y toasts unificados.
Backend: Node.js + Express, JWT, middleware de roles y rutas modulares (usuarios, terapeutas, pacientes, agendas, turnos, reclamos, calificaciones, movimientos, descuentos, obras sociales, tipos de terapia, notas).
Integraciones: Daily API para videollamadas; Mercado Pago API para pagos (webhook para conciliación y retiros).
Despliegue

Desplegado con Docker en VPS, utilizando Nginx como reverse proxy para el dominio sanamenteonline.com.
Calidad, seguridad y mantenibilidad

Separación de responsabilidades, validación de entradas y manejo de errores con mensajes claros (toasts).
Políticas de acceso por rol y protección JWT.
Resumen

Plataforma completa de "Link in Bio" que permite crear perfiles personalizados con enlaces, widgets interactivos, analíticas avanzadas y sistema de suscripciones. Construida con React, TypeScript, Tailwind CSS y Supabase, ofrece una experiencia premium con animaciones, plantillas profesionales y pagos integrados.
Objetivos

• Proporcionar una solución completa y escalable para gestión de enlaces bio.
• Ofrecer personalización avanzada con animaciones y efectos visuales.
• Monetizar mediante planes de suscripción con diferentes niveles.
• Proporcionar analíticas detalladas para optimizar el engagement.
Perfiles y personalización

Página de aterrizaje única con biografía, avatar y enlaces personalizables.
Colores personalizados con soporte para degradados y 12 fuentes tipográficas.
Animaciones de fondo (partículas, estrellas, olas, gradiente, nieve, confetti, aurora).
Efectos de cursor interactivos (estelas, chispas, fuegos artificiales, burbujas).
Gestión de enlaces y widgets

Drag & Drop para reordenar enlaces fácilmente.
Estilos individuales por enlace (colores, fondos, bordes, sombras).
Widgets dinámicos: carrusel de imágenes, productos, videos, música (Spotify), estadísticas sociales, testimonios, eventos y bloques de texto.
Agrupación de enlaces en secciones organizadas con iconos personalizables.
Sistema de plantillas

Más de 20 plantillas prediseñadas por industria.
Categorías: Personal, Negocio, Creadores de Contenido, E-commerce, Servicios.
Previsualización en vivo antes de aplicar con aplicación de estilos con un clic.
Planes de suscripción

Free: 5 enlaces, 2 widgets, animaciones básicas.
Starter ($9.99/mes): 15 enlaces, 5 widgets, todas las animaciones, analíticas avanzadas.
Pro ($19.99/mes): Enlaces y widgets ilimitados, soporte prioritario, todas las características premium.
Pagos y analíticas

Integración con Stripe (pagos internacionales) y MercadoPago (Argentina).
Conversión automática de divisas USD ↔ ARS.
Seguimiento de eventos: visitas, clics, conversiones con geolocalización.
Gráficos interactivos de rendimiento y análisis de CTR por enlace.
Stack tecnológico

Frontend: React 18.3.1 + TypeScript 5.6.2, Vite 5.4.10, Tailwind CSS 3.4.17.
Librerías: React Router 7.9.6, React Query 5.90.10, DnD Kit 6.3.1, Anime.js 4.2.2.
Backend: Supabase (Auth, PostgreSQL, Storage, Edge Functions, Realtime).
Integraciones: Stripe, MercadoPago, Google OAuth, analíticas personalizadas.
Características avanzadas

Autenticación con email/contraseña y OAuth con Google.
SEO optimizado con metaetiquetas dinámicas, Open Graph y Twitter Cards.
Diseño responsive mobile-first con preview en tiempo real.
Sistema de mensajería inbox con notificaciones de mensajes no leídos.
Despliegue

Desplegado con Vite y optimizado para producción en mypubliclinks.jlgdev.com.
Seguridad y calidad

Row Level Security (RLS) en Supabase para protección de datos.
Protección de rutas privadas con roles de usuario (Admin, User).
Validación de entradas y manejo de errores con feedback claro.