Desarrollo de software · Uruguay

Rodrigo Suárez

Desarrollador Full Stack

Analista en Tecnologías de la Información por Universidad ORT Uruguay.

Desarrollo aplicaciones web y de escritorio a medida, desde el análisis y el diseño hasta el despliegue y el mantenimiento.

Rodrigo Suárez, desarrollador de software

Trabajo seleccionado

Software que resuelve necesidades reales

Sistemas de gestión, aplicaciones web y de escritorio e integraciones. Cada proyecto parte de un proceso o problema del negocio y lo transforma en una solución concreta.

Reportes
Ver todas las capturas (7)
LoginArtículosProveedoresPedidosUsuariosCarátula del Proyecto

En producción

Proyecto destacado

Sistema de Gestión Mayorista Javier

Problema
Los pedidos se registraban en papel y la empresa no contaba con información confiable sobre su stock real, sus ventas ni sus márgenes de beneficio. Esta falta de visibilidad dificultaba la planificación de compras a proveedores y aumentaba la incertidumbre sobre qué productos reponer y en qué cantidades.
Mi aporte
Relevé los requerimientos del negocio y desarrollé el sistema de gestión desde cero. Me encargué de su despliegue y continúo con el mantenimiento, abarcando tanto la API como la interfaz y su integración con la web de clientes.
Resultado
El sistema mantiene el inventario actualizado y permite registrar cada pedido con un ahorro estimado por el cliente de aproximadamente 15 minutos. Reúne KPIs de ventas mensuales, rankings de artículos más y menos vendidos, márgenes de beneficio y estimaciones de ventas del mes. Las alertas de vencimiento y la información de stock ayudan a prevenir pérdidas de mercadería y compras excesivas. Además, mantiene actualizado en tiempo real el catálogo de artículos que consultan los clientes en la web.
  • C#
  • React 19
  • .NET 10
  • PostgreSQL
Ver decisiones técnicas y funcionalidades

Decisiones técnicas

Separar la interfaz React 19 de la API RESTful en C#/.NET 10 y centralizar la información comercial en PostgreSQL con Entity Framework Core. Gestionar las consultas y su caché con TanStack Query, el estado con Zustand y la validación de formularios con Zod. Proteger los endpoints mediante JWT y roles de usuario, y almacenar las contraseñas con hashing mediante BCrypt.NET. Generar los PDF con QuestPDF desde la API y conectar pedidos e inventario con el catálogo web de clientes.

API RESTful desarrollada en C# sobre .NET 10, con Entity Framework Core y Npgsql para el acceso a PostgreSQL. El frontend utiliza React 19, TypeScript y Vite, con React Router para la navegación, TanStack Query para las consultas y su caché, Zustand para el estado y React Hook Form con Zod para formularios y validación. Recharts permite visualizar los indicadores del negocio y QuestPDF genera los documentos PDF desde la API. El acceso está protegido mediante JWT y roles de usuario, con hashing de contraseñas mediante BCrypt.NET.

  • API RESTful con endpoints protegidos mediante JWT y roles de usuario
  • Hashing de contraseñas con BCrypt.NET
  • Generación automática de órdenes de pedido en PDF con QuestPDF
  • Frontend React 19 con TypeScript y Vite
  • Consultas y caché con TanStack Query; gestión de estado con Zustand
  • Formularios con React Hook Form y validación con Zod
  • Gráficos dinámicos e indicadores de negocio con Recharts
  • Persistencia en PostgreSQL mediante Entity Framework Core y Npgsql
  • Dashboard de métricas, reportes y estimaciones de ventas
  • Toma de pedidos y generación de documentos listos para imprimir
  • Contenedores Docker y pruebas con Vitest y xUnit

Stack contrastado con los manifiestos de dependencias y el código de los repositorios del backoffice y la API. El ahorro de aproximadamente 15 minutos por pedido es una estimación del cliente para el flujo integrado del catálogo y el sistema de gestión; no corresponde a dos ahorros independientes.

Stack completo:

  • C#
  • React 19
  • .NET 10
  • PostgreSQL
  • TypeScript
  • Vite
  • Entity Framework Core
  • Npgsql
  • QuestPDF
  • JWT
  • BCrypt.NET
  • TanStack Query
  • Zustand
  • React Router
  • React Hook Form
  • Zod
  • Recharts
  • Tailwind CSS
  • Docker
  • Vitest
  • xUnit

En construcción

Ratio · Gestión de obras para empresa Espina · logo

Software libre · Contribución Full Stack

En construcción

Proyecto destacado

Ratio · Gestión de obras para empresa Espina

Colaboro con Ing. Luis Terzano

Problema
Espina necesitaba una solución de gestión de obras ajustada a la realidad uruguaya, incluidas las leyes sociales. Cada departamento trabajaba con varias planillas Excel difíciles de utilizar y entender, que no facilitaban el trabajo conjunto. El desafío incluye reducir la fragmentación de información, la doble carga y las diferencias entre versiones.
Mi aporte
Colaborador Full Stack junto al Ing. Luis Terzano. Implementé el módulo de diagrama de Gantt completo: lógica de planificación, API e interfaz WPF. También desarrollé funcionalidades de auditoría y logs, mejoras de seguridad y permisos, importación y exportación Excel e instaladores con Inno Setup. Modernicé pantallas, navegación, estilos Fluent, iconos, identidad visual y componentes reutilizables.
Resultado
Módulo de diagrama de Gantt completo y en uso para planificar los tiempos de obra y consultar recursos y costos previstos, tanto mensuales como acumulados. Permite identificar rubros sin programar, visualizar la cobertura del presupuesto planificado y exportar la información a Excel o imprimirla en papel y PDF. Además, se reforzaron los permisos y la auditoría entre el cliente y la API, y se unificó la experiencia visual del sistema.
  • WPF
  • C#
  • .NET 8
  • MongoDB
Ver decisiones técnicas y funcionalidades

Decisiones técnicas

Vincular la planificación al presupuesto activo y distribuir costos proporcionalmente a los días seleccionados. Separar cambios pendientes de los datos guardados usados en diagramas, totales y exportaciones. Incorporar permisos, filtros y avisos de inconsistencias. Los importes son costos planificados, no cobros o pagos reales. Incorporé autenticación en endpoints, permisos por rol, limitación de intentos de login y trazabilidad de accesos y operaciones críticas; centralicé estilos e iconos y mejoré la instalación y actualización.

Cliente de escritorio WPF en C# conectado a una API .NET 8 con persistencia en MongoDB. El módulo de diagrama de Gantt vincula las fechas de cada rubro con el presupuesto activo, distribuye los costos previstos según los días de trabajo seleccionados y ofrece escalas semanales y mensuales. La consulta y la edición respetan los permisos del usuario; los diagramas, totales y exportaciones utilizan los datos guardados, separados de los cambios pendientes. La distribución incluye instaladores y validación de conexión.

  • Gestión de proyectos de obra orientada al contexto uruguayo
  • Presupuestos con materiales, mano de obra, maquinaria, partidas y rubros
  • Costos directos e indirectos, distribución de beneficios y ajustes de oferta
  • Informes e importación y exportación de planillas Excel
  • Centralización de información entre departamentos
  • Consideración de requisitos locales, incluidas las leyes sociales
  • Trabajo colaborativo como objetivo frente a las planillas aisladas
  • API con instaladores para servidores Windows y Linux
  • Cliente de escritorio con instalador para Windows
  • Mi aporte: logs y usuarios del panel administrador
  • Mi aporte: importación y exportación Excel de punta a punta
  • Mi aporte: generación de instaladores con Inno Setup de punta a punta
  • Mi aporte: módulo de diagrama de Gantt completo, vinculado al presupuesto activo
  • Fechas por rubro; escalas semanal y mensual
  • Calendario laboral configurable, sin descuento automático de feriados
  • Resumen mensual y gráficos de costos previstos y acumulados
  • Desglose de materiales, mano de obra, equipos, servicios, suministros, indirectos, imprevistos y horas hombre
  • Búsqueda, filtro de rubros sin programar y navegación al día actual
  • Exportación Excel e impresión paginada/PDF mediante el diálogo de impresión de Windows
  • Permisos de consulta y edición; protección de cambios sin guardar
  • Autenticación de endpoints, permisos por rol y protección del login
  • Auditoría de operaciones críticas y trazabilidad de accesos
  • Índices MongoDB para logs y usuarios
  • Modernización WPF: navegación, estilos Fluent, iconos, marca y componentes reutilizables
  • Instalación y actualización: servicios, MongoDB opcional y validación de conexión
  • Previsto: nombre de empresa, logo y parámetros configurables sin modificar código

Contribuciones contrastadas con los commits de Rodrigo y el código local del cliente y la API, incluidas las ramas Gantt y detalles-ui. Uso del diagrama de Gantt confirmado por Rodrigo. Parametrización empresarial prevista, aún no implementada. Sin métricas de impacto cuantificadas.

Stack completo:

  • WPF
  • C#
  • .NET 8
  • MongoDB
  • API
  • Windows Server
  • Linux
PWA Desktop
Ver todas las capturas (2)
Favicon del proyecto

En producción

Web de Clientes para Mayorista Javier (PWA)

Problema
La empresa no contaba con un catálogo para sus clientes donde pudieran consultar los artículos disponibles y sus precios.
Mi aporte
Desarrollé la PWA y su integración con el sistema de gestión para mostrar información actualizada en tiempo real. Implementé el catálogo y el armado de pedidos, además de la sección de contacto, cómo llegar, cómo comprar y preguntas frecuentes.
Resultado
Los clientes pueden consultar el catálogo de productos, armar su pedido y enviarlo por WhatsApp. La empresa recibe un mensaje listo para copiar y pegar en su sistema, registrar el pedido y generar la orden en PDF para imprimir. El ahorro estimado por el cliente de aproximadamente 15 minutos por pedido corresponde a este flujo integrado; no es un ahorro adicional al del sistema de gestión. La web también reúne las vías de contacto, la ubicación del local y una guía para coordinar el retiro o la entrega.
  • Next.js
  • React 19
  • TypeScript
  • Tailwind CSS
Ver decisiones técnicas y funcionalidades

Decisiones técnicas

Conectar el catálogo con la información del sistema de gestión y ofrecer una PWA adaptable a distintos dispositivos. Permitir que el cliente arme su pedido en la web y lo envíe como un mensaje de WhatsApp que la empresa pueda copiar y pegar en su sistema. Ese flujo permite registrar el pedido y generar la orden en PDF, lista para imprimir, en menos de 10 segundos, según lo confirmado por Rodrigo. Reunir contacto, ubicación, instrucciones de compra y preguntas frecuentes en una sección accesible desde el catálogo, para acompañar al cliente durante la compra.

PWA desarrollada con Next.js, React 19, TypeScript y Tailwind CSS. Integra la información del sistema de gestión para mantener actualizado el catálogo de productos y precios. Los clientes consultan artículos, preparan su pedido y lo envían por WhatsApp; la empresa utiliza ese mensaje para registrarlo en su sistema y generar la orden en PDF.

  • Armado de pedidos y envío del mensaje por WhatsApp
  • Catálogo de productos con búsqueda y filtros
  • Consulta de productos y precios del catálogo
  • Integración con el sistema de gestión de la empresa
  • Desarrollo completo en TypeScript
  • Interfaz moderna y responsive con Next.js, React 19 y Tailwind CSS
  • Optimización para SEO y rendimiento
  • Capacidad para manejar un creciente número de usuarios y productos
  • Instalación nativa en dispositivos móviles y desktop
  • Despliegue en Vercel
  • Contacto por WhatsApp y teléfono; ubicación con enlace a indicaciones
  • Guía de compra sin registro, con opciones de retiro o entrega
  • Preguntas frecuentes sobre precios, disponibilidad y productos por peso
  • Precios mayoristas y minoristas según las cantidades seleccionadas

Integración y stack contrastados con los repositorios. El tiempo de menos de 10 segundos para registrar el pedido y generar el PDF fue confirmado por Rodrigo. El ahorro aproximado de 15 minutos por pedido es una estimación del cliente para el flujo integrado, no un ahorro adicional.

Stack completo:

  • Next.js
  • React 19
  • TypeScript
  • Tailwind CSS
  • PWA
Vista de Calendario
Ver todas las capturas (9)
Listado de Mis ReservasAdministración de SedesAdministración de SalasAdministración de EquipamientoAdministración de Parámetros del SistemaReportes de Uso Indebido de SalasVista en TabletaLogo Jaume & Sere

En producción

Gestor de Salas de Reunión — Jaume & Sere

Problema
La agenda de las salas se llevaba en papel. La letra podía ser difícil de interpretar y algunas reservas no se cancelaban, por lo que las salas aparecían ocupadas aunque ya no fueran a utilizarse. Además, no todos los participantes recibían la información de las reuniones o de sus cancelaciones.
Mi aporte
Participación en el análisis y desarrollo del sistema de reservas como proyecto final de carrera para Jaume & Sere.
Resultado
Según lo informado por la organización, se eliminaron las reservas que mantenían salas ocupadas incorrectamente. Las invitaciones y notificaciones por correo resolvieron también la falta de información entre los participantes: todos reciben la convocatoria y los avisos de cancelación.
  • C#
  • .NET 8
  • Entity Framework Core
  • MS SQL Server Express
Ver decisiones técnicas y funcionalidades

Decisiones técnicas

Reemplazar la agenda de papel por un calendario centralizado, con gestión de reservas y cancelaciones. Integrar Active Directory para el acceso corporativo y Outlook mediante Microsoft Graph para enviar invitaciones y notificaciones por correo a todos los participantes, incluidos los avisos de cancelación, con API .NET y frontend React.

Proyecto final de carrera (Analista en Tecnologías de la Información). Sistema integral para la gestión de reservas de salas de reunión. Backend desarrollado en C# con .NET 8, Entity Framework Core y SQL Server Express, con integración a Active Directory para autenticación y roles. Notificaciones automáticas mediante Outlook (Microsoft Graph). Frontend en React + Vite con diseño responsive y despliegue en Azure. Enfocado en eficiencia operativa y mejor uso de recursos compartidos.

  • API RESTful en .NET 8 para manejo de salas y reservas
  • Entity Framework Core como ORM con patrón Repository
  • Integración con Active Directory (autenticación y autorización por roles)
  • Notificaciones automáticas vía Outlook (Microsoft Graph)
  • Frontend: React + Vite + TypeScript, 100% responsive
  • Dashboard con métricas de uso de salas
  • Historial de reservas con auditoría de cambios
  • Deploy en Azure App Service

Resultado informado por la organización.

Stack completo:

  • C#
  • .NET 8
  • Entity Framework Core
  • MS SQL Server Express
  • Active Directory (Windows Server)
  • Microsoft Graph / Outlook
  • React
  • Vite
  • TypeScript
  • TailwindCSS
  • Azure
FyV Traslados: portada, servicios y consulta por WhatsApp

En producción

FyV Traslados

Problema
FyV necesitaba ganar visibilidad y reunir la explicación de su trabajo, sus servicios y su proceso de contratación en un único lugar.
Mi aporte
Diseño y desarrollo de la página web comercial de FyV Traslados a partir de las necesidades del negocio.
Resultado
La empresa cuenta con un sitio publicado que reúne su propuesta y facilita compartir la información y contactar por WhatsApp.
  • Astro
  • TypeScript
  • Tailwind CSS
  • Vercel
Ver decisiones técnicas y funcionalidades

Decisiones técnicas

Organizar servicios, proceso, tarifas y contacto en una web con Astro y componentes reutilizables. Incorporar consultas por WhatsApp, diseño adaptable y SEO técnico con sitemap y datos estructurados.

Desarrollo de la presencia web de FyV Traslados: servicios, tarifas, proceso de contratación y contacto. La implementación combina componentes reutilizables, contenido orientado al servicio y SEO técnico con sitemap y datos estructurados.

  • Presentación de servicios y tarifas
  • Contacto y cotización por WhatsApp
  • Diseño adaptable a celulares y escritorio
  • Sitemap y datos estructurados

Resultado: sitio web publicado con servicios, proceso y contacto centralizados.

Stack completo:

  • Astro
  • TypeScript
  • Tailwind CSS
  • Vercel
PimPollo: miniatura oficial para redes con el pollito y el aviso de sitio en construcción

En construcción

PimPollo · Web de clientes y catálogo

Problema
PimPollo necesitaba una web rápida, accesible desde celulares y fácil de encontrar que reuniera información comercial, productos y promociones sin incorporar pagos online. El negocio también requería un panel seguro para gestionar artículos, precios y parámetros.
Mi aporte
Desarrollo Full Stack de la web pública en Astro, el panel React 19 y TypeScript, la API C#/.NET 10 y la integración con PostgreSQL, Railway y Vercel. Implementación de diseño responsive, datos comerciales, seguridad, CI y pruebas.
Resultado
Landing publicada con identidad visual de PimPollo, contacto por WhatsApp, horarios, información del local y preguntas frecuentes. Panel administrativo y API operativos para gestionar productos, promociones y parámetros. SEO técnico, miniatura para redes y pruebas de accesibilidad y navegación implementados; el catálogo público interactivo y el armado completo de pedidos siguen en construcción.
  • Astro
  • React 19
  • Vite
  • TypeScript
Ver decisiones técnicas y funcionalidades

Decisiones técnicas

Separar web pública, administración y API mediante responsabilidades claras. Renderizar contacto y horarios en HTML indexable con sincronización de parámetros desde la API, metadatos sociales y navegación sin JavaScript. Proteger la gestión con autenticación, cookies seguras, CSRF, rotación de tokens y límites de intentos. Verificar contratos con PostgreSQL y pruebas automatizadas de navegador.

La web pública de PimPollo ya ofrece una portada moderna, responsive y animada, con información institucional, Cómo comprar, preguntas frecuentes, dirección, horarios, Instagram y WhatsApp. Los datos comerciales se administran desde la API. El sitio incorpora SEO local, metadatos para redes, HTML semántico sin JavaScript y pruebas de navegación agéntica. Desarrollé además un panel React 19 con CRUD de artículos (imagen, nombre y precio), promociones y parámetros, y una API .NET 10 por capas con EF Core y PostgreSQL en Railway. El sistema utiliza autorización, sesiones con cookies protegidas, CSRF, auditoría y respaldos cifrados programados. El catálogo público interactivo y el flujo de armado de pedidos siguen en desarrollo; no hay checkout ni pagos online.

  • Publicado: landing «Sitio en construcción» con pollito, animaciones accesibles y diseño mobile-first.
  • Publicado: Sobre nosotros, Cómo comprar, Preguntas frecuentes, dirección, horarios, Instagram y WhatsApp.
  • Web Astro: parámetros comerciales desde la API, SEO local, JSON-LD, Open Graph y miniatura social.
  • Navegación agéntica: recorridos semánticos por horarios, cómo comprar y contacto, comprobados con pruebas de navegador.
  • Panel React 19: CRUD de artículos con imagen, nombre, precio y unidad, promociones y parámetros; login y cambio de contraseña.
  • API .NET 10 + EF Core + PostgreSQL: endpoints comerciales públicos y administración protegida por autorización.
  • Seguridad: cookies HttpOnly/Secure, CSRF, rotación de sesiones, bloqueo por intentos y logs estructurados.
  • Infraestructura y calidad: Vercel, Railway, Docker, PostgreSQL en red privada, copias cifradas programadas y CI con pruebas reales de base y navegador.
  • Previsto: publicar el catálogo navegable, la selección de productos y la preparación de pedidos para coordinar por WhatsApp.
  • Alcance: sin checkout ni pasarela de pago.

Contrastado con PimPollo: web/src/pages/index.astro publica la landing y web/src/pages/_home.astro contiene un catálogo preliminar. admin/ y api/ gestionan datos del negocio, y GitHub Actions ejecuta pruebas de PostgreSQL, navegador, rendimiento y navegación. Las métricas de CI no se presentan como garantía universal en producción.

Stack completo:

  • Astro
  • React 19
  • Vite
  • TypeScript
  • C#
  • .NET 10
  • PostgreSQL
  • Entity Framework Core
  • Docker
  • Railway
  • Vercel

Perfil

Tecnología con contexto de negocio

Soy egresado de Analista en Tecnologías de la Información de Universidad ORT Uruguay. Trabajo desde el análisis de necesidades hasta la implementación y el despliegue, conectando desarrollo de software con procesos de negocio.

Desarrollo frontend y backend: aplicaciones web y de escritorio, APIs, seguridad de accesos, auditoría e integraciones. En Ratio implementé el módulo de diagrama de Gantt completo y modernicé la interfaz WPF; también trabajé en Excel e instaladores. Priorizo código claro, componentes reutilizables y soluciones mantenibles.

Recorrido

Experiencia y formación

Del análisis a la entrega

Experiencia laboral · CASMU

Operador de Sistemas Informáticos

2020 - Actualidad

Monitoreo de sistemas, análisis de logs y datos, consultas SQL y revisión de archivos para detectar incidentes.

Proyecto final de carrera

Gestión de salas para Jaume & Sere

Participación en el análisis y desarrollo de una solución de reservas con .NET, React, Active Directory y Microsoft Graph.

Formación académica

Analista en Tecnologías de la Información

Universidad ORT Uruguay · Egresado

Formación complementaria

Big Data y GeneXus

Especialización en Big Data y formación como Analista GeneXus Jr.

Herramientas

Un stack al servicio del problema

Tecnologías que utilizo en desarrollo, integración y trabajo con datos. Los proyectos muestran cómo las aplico.

Backend e integraciones

  • C#
  • ASP.NET Core
  • Entity Framework Core

Frontend web

  • TypeScript
  • JavaScript
  • React
  • Next.js
  • Astro
  • Vite
  • Tailwind CSS

Bases de datos

  • PostgreSQL
  • SQL Server
  • MongoDB

Escritorio y distribución

  • WPF
  • XAML
  • Inno Setup

Herramientas e infraestructura

  • Git
  • GitHub
  • Docker
  • Azure
  • Vercel
  • Neon
  • Railway
  • GitHub Actions

También trabajo con JWT, BCrypt.NET, Microsoft Graph, pruebas automatizadas y CI/CD. Railway forma parte de soluciones privadas como PimPollo; Python lo utilizo en scripts de automatización y generación de documentos.

Otras tecnologías y herramientas

Tecnologías de formación, proyectos anteriores o tareas específicas; no todas forman parte de mi stack principal actual.

  • HTML
  • CSS
  • Java
  • Python
  • Bootstrap
  • Redux
  • Capacitor
  • Windows Server

Siguiente paso

Conversemos sobre tu equipo o proyecto

Abierto a oportunidades en desarrollo de software y trabajo con datos. Cuéntame el contexto, el desafío y qué necesitas construir.

Contacto directo

Por email para compartir detalles de una oportunidad o por WhatsApp para iniciar la conversación.

rodrisua1@hotmail.com