NIVEL 1
0 %

RONALDO
TUÑÓN

¡Sprint tras sprint!

Desarrollador de Software Full Stack · Scrum Master · Panamá

Foto de Ronaldo Tuñón

Sobre mí

Soy desarrollador de software Full Stack y Scrum Master. Trabajo con Java, Spring Boot, JavaScript, React y Go, y monto mis entornos con Docker y Docker Compose sobre servidores Linux (Ubuntu). También me encargo del levantamiento de requerimientos, las historias de usuario y la gestión de sprints con Scrum.

  • Certificado por Cisco Networking Academy en Ciberseguridad, Ciencia de Datos e Internet de las Cosas.
  • Pensamiento lógico y analítico, aprendizaje rápido y trabajo en equipo.
  • Idiomas: español nativo · inglés A2 (inglés técnico para TI).

Misión actual

Desarrollador Full Stack y Scrum Master

Edupan · Ciudad de Panamá

Feb. 2026 – Actualidad
  • Desarrollo frontend y backend, en modalidad outsourcing, de sistemas para instituciones del sector público.
  • Como Scrum Master: planificación de sprints, redacción de historias de usuario y seguimiento del avance del equipo.
  • Configuración de entornos con Docker y Docker Compose sobre Ubuntu Server 24.04 LTS (Go, Next.js, PostgreSQL).
  • Levantamiento de requerimientos e historias de usuario y técnicas.
  • Control de versiones con Git, GitLab y GitHub; revisión de código, merge requests y diagramas en draw.io y Lucidchart.
JavaSpring BootJavaScriptReactNext.jsGoBootstrapTailwind CSSSQL Server

Inventario de habilidades

Elige una pestaña y haz clic en un objeto para ver de qué se trata.

Inventario completo

Java

Lenguajes

Lo uso a diario en Edupan junto con Spring Boot para el backend.

Proyectos

Desliza hacia el lado o usa las flechas para ver cada proyecto.

Dado de emociones

Proyecto educativo

Una dinámica para el aula: la ruleta elige y el dado abre la conversación.

  1. 1La ruleta elige a un estudiante
  2. 2El dado lanza una de seis emociones
  3. 3Una pregunta abre la conversación
Front
Next.jsTypeScript
Back
GoPostgreSQLSSE en tiempo real
Infra
Docker

Dado de emociones

Proyecto educativo

Proyecto educativo para usar en el aula, en tiempo real. La docente abre una sala, los estudiantes entran y el azar decide a quién le toca participar.

Cómo funciona

  • La docente abre la sala con su usuario y su clave personal, y pone una clave de sala de 6 a 40 caracteres.
  • Los estudiantes entran con nombre, apellido y esa clave. Caben hasta 200.
  • La docente gira la ruleta y sale un estudiante al azar. Hay una opción para que no salga dos veces la misma persona.
  • El estudiante elegido lanza un dado de 6 caras. Cada cara es una emoción: enojo, alegría, tristeza, miedo, entusiasmo y sorpresa. Cada una tiene su carita, un color, una definición corta y una pregunta para conversar, por ejemplo «¿Qué te hizo sonreír esta semana?».
  • Se guarda un historial de quién sacó qué emoción, y la docente pasa al siguiente turno o reinicia la ronda.
  • El dado reparte las emociones para que no se repitan seguido: saca de una «bolsa» hasta que salen todas y luego vuelve a empezar.

Cómo está hecho

  • Backend en Go: una API que usa casi solo la librería estándar. Guarda los usuarios y cada participación en PostgreSQL.
  • Tiempo real: el estado de la ruleta vive en memoria y llega a todos con Server-Sent Events (SSE).
  • Seguridad: contraseñas con bcrypt, clave de sala cifrada y guardada en la base, límite de intentos de login por IP, tickets para la conexión en vivo, cabeceras CORS y soporte para proxies de confianza.
  • Pruebas: tests en los módulos room, server y store.
  • Frontend en Next.js con TypeScript: tres pantallas (inicio para unirse, panel de la docente y sala en vivo). La ruleta, el dado y las caritas son componentes propios.
  • Despliegue: Docker Compose con tres variantes: la normal, una de desarrollo con recarga automática y una de producción detrás de un túnel de Cloudflare.
Next.jsTypeScriptGoPostgreSQLSSE en tiempo realDocker

ComerTag

Próximamente

Directorio de comercios de Panamá con catálogos digitales, a un QR de distancia.

  1. 1Cada comercio publica su catálogo con precios
  2. 2La gente lo encuentra buscando o con un QR
  3. 3Desde ahí pasa al enlace donde el comercio vende
Front
Next.jsTypeScriptTailwind
Back
GoPostgreSQL
Infra
Docker

ComerTag

Próximamente

Directorio de comercios de Panamá con catálogos digitales. Cada negocio, sea restaurante, tienda u otro tipo, publica su catálogo de productos con precios, y la gente lo encuentra buscando en la plataforma o escaneando un QR.

ComerTag no procesa pedidos ni pagos: desde el catálogo manda a la persona al enlace donde el comercio vende (PedidosYa, Uber Eats, Rappi, WhatsApp u otro), con un máximo de 3 enlaces por comercio.

Tres roles

  • Visitante: busca comercios por categoría, tipo y provincia, ve las promociones destacadas y abre el catálogo público, que es el que abre el QR. Puede dejar una reseña con calificación y reportar reseñas, productos o comercios.
  • Comercio: registra su negocio, que pasa por aprobación del administrador. Gestiona productos con imagen y categorías propias, sucursales con horario, promociones (incluidos combos), logo y miembros del equipo. Ve estadísticas de vistas del catálogo, responde las reseñas y puede solicitar el cierre de su comercio. Tiene un límite base de 15 productos que el administrador puede ampliar.
  • Administrador: aprueba o rechaza comercios desde una bandeja de solicitudes y lleva el directorio de comercios y clientes. Atiende los reportes y aplica sanciones (los usuarios pueden apelar y también hay sanciones automáticas). Gestiona tipos y categorías, el equipo de staff por invitación, la publicidad y los términos legales con versiones y registro de quién los aceptó. Consulta una bitácora de acciones y estadísticas globales.

Cómo está hecho

  • Backend en Go: API con net/http y PostgreSQL (pgx), con migraciones con golang-migrate. El login usa JWT con refresh token y hay límite de solicitudes por IP.
  • Frontend: Next.js 16 (App Router), React 19, TypeScript y Tailwind 4, con validación con zod y pruebas con vitest.
  • Infraestructura: Docker Compose levanta frontend y backend, con un perfil de producción para probar la build real y un entorno de QA detrás de un túnel de Cloudflare. Por defecto el sitio no se indexa en Google.
Next.jsTypeScriptTailwindGoPostgreSQLDocker

Dado de emociones, 1 de 2

Mapa de progreso

Avanza nivel por nivel por mi educación, del primero al más reciente.

  1. Bachiller en Comercio, Centro Educativo Guillermo Endara Galimany (2017 – 2019)
  2. Técnico en Ingeniería con Especialización en Desarrollo de Software, Universidad Tecnológica de Panamá (2021 – 2024)
  3. Licenciatura en Desarrollo de Software, Universidad Tecnológica de Panamá (2021 – 2024)
  4. Profesorado en Docencia Media Diversificada, Universidad de Panamá, CRU Panamá Oeste (En curso)
  5. Postgrado en Informática Educativa, Universidad Tecnológica de Panamá (En curso)
  6. Maestría en Informática Educativa, Universidad Tecnológica de Panamá (En curso)
NIVEL 3 DE 6

Licenciatura en Desarrollo de Software

Universidad Tecnológica de Panamá
2021 – 2024
3 de 6 niveles desbloqueados

Logros desbloqueados

Certificaciones que he completado.

Introducción al Internet de las Cosas y Transformación Digital

Cisco Networking Academy · Oct. 2026

Introducción a Ciberseguridad

Cisco Networking Academy · Sept. 2026

Introducción a la Ciencia de Datos

Cisco Networking Academy · Sept. 2026

English for IT: Advice and Time

Cisco Networking Academy y OpenEDG · Sept. 2026

Scrum Professional

CertiProf

Power BI

Santander Open Academy

Python

Santander Open Academy

Introduction to SQL

Simplilearn

¿Construimos algo juntos?

Escríbeme para proyectos, colaboraciones u oportunidades de trabajo.

[email protected] · GitHub: RonoJX