telos

GOIÂNIA, BRASIL · UTC-3 · DISPONIBLE

Hago el software que un negocio abre cada mañana.

Tres años como QA a tiempo completo antes de pasar a escribir producto. Hoy soy uno de los dos desarrolladores de una plataforma de pagos: los modelos de datos y las migraciones de la API, y el panel del comerciante.

01 Ever After — Plataforma de bodas · RSVPsEn uso real — hecho sin cobrar, para alguien cercanoAbrir

TRABAJO SELECCIONADO

Algunas cosas que hice hace poco.

Haz clic en cualquiera y el dispositivo crece hasta que la pantalla ocupa la ventana: el sistema funciona aquí mismo, sin registrarte. Algunos se usan en un negocio real y están reconstruidos con una marca genérica; la mayoría los hice por mi cuenta, sin cliente. Cada uno dice cuál es cuál.

  • 01·2025

    Ever After — Plataforma de bodas

    SaaS de bodas multi-tenant: confirmaciones de asistencia, lista de regalos con PIX, correos automáticos y sitio público personalizable.

    En uso real — hecho sin cobrar, para alguien cercano

    • Next.js 16
    • React 19
    • Prisma
    • PostgreSQL
    • NextAuth
  • 02·2026

    Panel de gestión escolar

    Un sistema real de gestión escolar —16 meses, 419 commits—: matrícula que llena el PDF del contrato en el navegador, firma electrónica, web push y un horario de arrastrar y soltar. Se muestra aquí con una marca genérica.

    En uso real — hecho sin cobrar, para alguien cercano

    • React
    • TypeScript
    • PostgreSQL
    • Drizzle ORM
    • pdf-lib
  • 03·2026

    Agenda e historias clínicas para clínicas

    Agenda médica, historias clínicas y facturación en un solo panel: citas por profesional y especialidad, estado en tiempo real y la historia del paciente a un clic.

    Demo propia, sin cliente

    • Single HTML file
    • Tailwind (CDN)
    • Chart.js
    • Vanilla JS
    • No build step
  • 04·2026

    Panel de prospección de clientes

    Encuentra el negocio en el mapa, califícalo y llega al dueño con la propuesta ya escrita: embudo, importación y seguimiento en un panel.

    Demo propia, sin cliente

    • Single HTML file
    • Vanilla JS
    • Hand-written CSS
    • No build step
  • 05·2026

    Sitio de evento y panel de invitados

    La pareja edita su propio sitio —invitados, lista de regalos, muro de mensajes y cuenta atrás— sin pedirle ayuda a nadie.

    Demo propia, sin cliente

    • Single HTML file
    • Vanilla JS
    • Hand-written CSS
    • No build step

Todo lo demás que se puede abrir

Todo hecho por iniciativa propia, sin cliente, salvo que la línea diga otra cosa. La misma regla que los cinco de arriba: sin login, y cada uno avisa en pantalla cuando los datos son inventados.

SERVICIOS

Para qué puedes contratarme.

Contrato o tiempo completo, en remoto, desde Brasil (UTC-3). Tres tipos de trabajo que hago cada semana, cada uno con algo en este sitio que puedes abrir.

  1. 01

    Aplicaciones web y paneles de gestión

    Next.js · React · TypeScript · Node · PostgreSQL

    Pantallas que la gente usa todo el día: agendas, fichas, informes, roles y permisos. El panel escolar gestionó una escuela de inglés real durante más de un año, y la plataforma de bodas llevó una boda real de principio a fin.

    Panel de gestión escolar Ever After

  2. 02

    Pagos e integraciones

    Webhooks · modelos de datos · migraciones · sincronizaciones en segundo plano

    Mi trabajo diario: uno de los dos desarrolladores de una plataforma de pagos, donde me encargo de los modelos de datos y las migraciones de la API. Webhooks que llegan dos veces, sincronizaciones que tienen que poder volver a ejecutarse sin riesgo después de morir a medias. Ese código está bajo NDA; la lista de regalos pagada con Pix de Ever After es la parte que puedo mostrar.

    Ever After

  3. 03

    QA y pruebas, como servicio

    Planes de prueba · reportes de bugs · Playwright

    Tres años como QA a tiempo completo en Jera, en apps como Rock in Rio y Lollapalooza Brasil mientras estaban en uso. Pruebo aplicaciones web en Mac y Windows y apps de iOS en iPhone: un plan de pruebas en una hoja de cálculo, PASS o FAIL con evidencia en cada caso, y un reporte como el de abajo para cada bug. Playwright cuando las comprobaciones deben correr solas.

    Leer un reporte de bug real

REPORTE DE BUG · ENCONTRADO EN ESTE SITIO · 23 SEPT 2026

«Back to portfolio» lleva al visitante a la página anterior del navegador, no a la página de inicio.

Dónde
26 páginas de demo
Entorno
Chrome en macOS
Gravedad
Media
Estado
Corregido el mismo día

Pasos

  1. 1.Abre la página de un caso en este sitio.
  2. 2.Abre la demo desde ahí.
  3. 3.Pulsa «Back to portfolio».

Esperado

La página de inicio, en el idioma de la demo.

Obtenido

La página que estuviera antes en el historial del navegador. Quien había pasado por un caso que yo estaba quitando del sitio volvía a caer en él.

Causa

El botón llamaba a history.back() en lugar de enlazar al inicio. Ahora siempre va a la página de inicio.

OTROS BUGS QUE ENCONTRÉ Y CORREGÍ

  • Sistema escolarUn webhook de firma electrónica que llegaba fuera de orden podía devolver un contrato firmado a pendiente. Ahora cada cambio de estado pasa por un único conjunto de transiciones permitidas, y firmado es definitivo.
  • Sistema escolarLa importación de la hoja de cálculo intercambiaba día y mes cuando ambos eran 12 o menos, y eso rompía fechas de matrícula y de nacimiento. Ahora las fechas se leen como texto en DD/MM, y los registros afectados se corrigieron en su sitio, sin borrar nada.
  • Plataforma de bodasEl plazo de confirmación cerraba tres horas antes, porque la fecha se leía en UTC y no en hora de Brasilia.
  • Plataforma de pagos · NDALas ventas hechas a última hora de la noche aparecían al día siguiente en el gráfico del panel. El corte del día se calculaba en UTC; ahora sigue la hora de Brasilia.
  • Plataforma de pagos · NDACuando los IDs pasaron de números a UUID, el seguimiento de conversiones en el servidor rechazaba todos los eventos, y un catch vacío ocultaba el error.
  • Plataforma de pagos · NDAUn embudo de registro creaba un registro nuevo en cada recarga de la página, porque el ID de sesión vivía solo en memoria. Ahora sobrevive a la recarga, y una prueba en Playwright demuestra que cuatro recargas generan un solo registro.

La plataforma de pagos está bajo NDA, así que esos aparecen sin código, sin nombres y sin cifras.

HERRAMIENTAS

Stack moderno, elecciones aburridas.

Uso las herramientas en las que confían los equipos que tienen algo en producción: rápidas, bien mantenidas, fáciles de encontrar quien las conozca. Nada de frameworks experimentales para parecer listo.

SOBRE MÍ

Gabriel Teles. Full-stack, Goiânia.

Estoy en informática desde 2016, cuando hice un técnico en Informática junto con la secundaria en el Instituto Federal Goiano, y después Ciencias de la Computación en la UFG. El primer trabajo pagado llegó en 2021, como QA en Jera, un estudio que ha publicado más de 300 apps y es proveedor oficial de Rock in Rio. Las apps de los festivales pasaban por mí: Rock in Rio, Rock in Rio Lisboa, Lollapalooza Brasil, The Town. Probar antes del lanzamiento es un trabajo; estar de guardia mientras la app está en uso y cientos de miles de personas dependen de ella en un evento que no se puede aplazar es otro. Tres años así, a tiempo completo y en remoto, antes de pasar a escribir producto.

La app de Lollapalooza 2025 cerró su ciclo con 99,79% de estabilidad en Android a lo largo de 23 versiones, con 80.000 personas usándola cada día; Jera publicó esos números. Ese resultado es de un equipo, no mío. Lo mío es el hábito que me dejó: leo un diff preguntándome qué se rompe en producción, no si compila.

Hoy soy uno de los dos desarrolladores de una plataforma de pagos, tres personas en total. Mi parte es el panel del comerciante y los modelos de datos y migraciones de la API —webhooks que llegan dos veces, sincronizaciones que tienen que poder volver a ejecutarse sin riesgo después de morir a medias—, además de una extensión de navegador en la que el 82% de los commits son míos. Ese código está bajo NDA, así que lo que muestra este sitio es trabajo que es mío de principio a fin, más demos que hice por mi cuenta y que marco como tales.

Hoy la mayor parte de mi código empieza en Claude Code o Cursor. Lo que no hago es hacer merge de algo que no sé explicar línea por línea.

Gabriel Teles
telos://status
gabriel@telos:~$ whoami
Gabriel Teles · Brasil · UTC-3
gabriel@telos:~$ status
disponible · contrato o tiempo completo
Descargar CV (PDF)
  • En informática desde2016 · 10 años
  • Vivo enBrasil · UTC-3
  • En remoto desde2022 · en equipo
  • EstadoDisponible

CONTACTO

¿Buscas a alguien, o necesitas ayuda con algo?

Trabajo en inglés y portugués, así que la conversación sigue en uno de los dos. El correo es la forma más rápida de llegar a mí, y respondo todos. Si prefieres ver código antes de hablar, te doy acceso de lectura a un repositorio privado.

gabriel_teles2010@hotmail.com