telos

GOIÂNIA, BRÉSIL · UTC-3 · DISPONIBLE

Je construis le logiciel qu’une entreprise ouvre chaque matin.

Trois ans de QA à temps plein avant de passer au développement produit. Aujourd’hui, je suis l’un des deux développeurs d’une plateforme de paiement : modèles de données et migrations de l’API, et tableau de bord des marchands.

01 Ever After — Plateforme de mariage · RSVPsEn usage réel — fait bénévolement, pour un procheL’ouvrir

PROJETS CHOISIS

Quelques projets construits récemment.

Cliquez sur l’un d’eux : l’appareil s’agrandit jusqu’à remplir la fenêtre, et le système tourne ici même, sans inscription. Certains font tourner une vraie activité et sont refaits avec une marque générique ; la plupart sont des projets personnels. Chacun indique ce qu’il est.

  • 01·2025

    Ever After — Plateforme de mariage

    SaaS de mariage multi-tenant : réponses des invités, liste de cadeaux payée par PIX, e-mails automatiques, site public personnalisable.

    En usage réel — fait bénévolement, pour un proche

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

    Tableau de bord scolaire

    Un vrai logiciel de gestion d’école : 16 mois, 419 commits. Inscription qui remplit le PDF du contrat dans le navigateur, signature électronique, notifications web push, emploi du temps en glisser-déposer. Présenté ici avec une marque générique.

    En usage réel — fait bénévolement, pour un proche

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

    Agenda et dossiers de clinique

    Agenda médical, dossiers patients et facturation dans un seul panneau : rendez-vous par praticien et par spécialité, statut en temps réel, et le dossier du patient à un clic.

    Démo personnelle, non commandée

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

    Panneau de prospection

    Trouver le commerce sur la carte, le qualifier et contacter le gérant avec la proposition déjà écrite : pipeline, import et relance dans un seul panneau.

    Démo personnelle, non commandée

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

    Site d’événement et panneau invités

    Le couple modifie lui-même son site (invités, liste de cadeaux, mur de messages, compte à rebours) sans demander d’aide à personne.

    Démo personnelle, non commandée

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

Tout le reste, à ouvrir aussi

Tous sont des démos personnelles, sauf mention contraire sur la ligne. Même règle que pour les cinq du haut : pas de connexion, et chacun indique à l’écran quand les données sont inventées.

SERVICES

Ce pour quoi vous pouvez m’engager.

Mission ou CDI, à distance, depuis le Brésil (UTC-3). Trois types de travail que je fais chaque semaine, chacun avec quelque chose à ouvrir sur ce site.

  1. 01

    Applis web et tableaux de bord

    Next.js · React · TypeScript · Node · PostgreSQL

    Des écrans qu’on utilise toute la journée : plannings, fiches, rapports, rôles et droits. Le tableau de bord scolaire a fait tourner une vraie école d’anglais pendant plus d’un an, et la plateforme de mariage a géré un vrai mariage de bout en bout.

    Tableau de bord scolaire Ever After

  2. 02

    Paiements et intégrations

    Webhooks · modèles de données · migrations · synchros en tâche de fond

    Mon travail au quotidien : l’un des deux développeurs d’une plateforme de paiement, où je suis responsable des modèles de données et des migrations de l’API. Des webhooks qui arrivent deux fois, des synchros qu’on doit pouvoir relancer sans risque après un plantage à mi-chemin. Ce code est sous NDA ; la liste de cadeaux payée par Pix dans Ever After est la partie que je peux montrer.

    Ever After

  3. 03

    QA et tests, en prestation

    Plans de test · rapports de bug · Playwright

    Trois ans de QA à temps plein chez Jera, sur des applis comme Rock in Rio et Lollapalooza Brasil pendant qu’elles tournaient. Je teste des applis web sur Mac et Windows, et des applis iOS sur iPhone : un plan de test dans un tableur, PASS ou FAIL avec preuve pour chaque cas, et un rapport comme celui ci-dessous pour chaque bug. Playwright quand les vérifications doivent tourner toutes seules.

    Lire un vrai rapport de bug

RAPPORT DE BUG · TROUVÉ SUR CE SITE · 23 SEPT. 2026

« Back to portfolio » renvoie le visiteur à la page précédente du navigateur, pas à l’accueil.

Où
26 pages de démo
Environnement
Chrome sur macOS
Gravité
Moyenne
Statut
Corrigé le jour même

Étapes

  1. 1.Ouvrir une page de projet sur ce site.
  2. 2.Ouvrir la démo depuis cette page.
  3. 3.Cliquer sur « Back to portfolio ».

Attendu

L’accueil, dans la langue de la démo.

Obtenu

La page précédente dans l’historique du navigateur, quelle qu’elle soit. Quiconque était passé par un projet que je retirais du site y retombait.

Cause

Le bouton appelait history.back() au lieu de pointer vers l’accueil. Il mène désormais toujours à l’accueil.

D’AUTRES BUGS QUE J’AI TROUVÉS ET CORRIGÉS

  • Système scolaireUn webhook de signature électronique arrivé dans le désordre pouvait remettre un contrat signé en attente. Chaque changement de statut passe désormais par un seul jeu de transitions autorisées, et « signé » est définitif.
  • Système scolaireL’import du tableur inversait le jour et le mois dès que les deux valaient 12 ou moins, ce qui faussait les dates d’inscription et de naissance. Les dates sont maintenant lues comme du texte au format JJ/MM, et les fiches touchées ont été corrigées sur place, sans rien supprimer.
  • Plateforme de mariageLa date limite de réponse fermait trois heures trop tôt, parce que la date était lue en UTC et non à l’heure de Brasília.
  • Plateforme de paiement · NDALes ventes faites tard le soir apparaissaient le lendemain dans le graphique de l’admin. La limite du jour était calculée en UTC ; elle suit désormais l’heure de Brasília.
  • Plateforme de paiement · NDAAprès le passage des identifiants numériques aux UUID, le suivi des conversions côté serveur rejetait tous les événements, et un catch vide masquait l’erreur.
  • Plateforme de paiement · NDAUn tunnel d’inscription créait un nouvel enregistrement à chaque rechargement de page, parce que l’identifiant de session ne vivait qu’en mémoire. Il survit maintenant au rechargement, et un test Playwright prouve que quatre rechargements donnent un seul enregistrement.

La plateforme de paiement est sous NDA : ces cas sont décrits sans code, sans noms et sans chiffres.

OUTILS

Des outils actuels, des choix sans surprise.

J’utilise les outils auxquels les équipes en production font confiance : rapides, bien maintenus, faciles à reprendre par quelqu’un d’autre. Pas de framework expérimental pour faire joli.

À PROPOS

Gabriel Teles. Full-stack, Goiânia.

Je fais de l’informatique depuis 2016 : un bac technique en informatique à l’Instituto Federal Goiano, puis des études d’informatique à l’UFG. Mon premier travail payé date de 2021, comme QA chez Jera, un studio qui a publié plus de 300 applis et fournisseur officiel de Rock in Rio. Les applis des festivals passaient par moi : Rock in Rio, Rock in Rio Lisboa, Lollapalooza Brasil, The Town. Tester avant la sortie est un métier ; être d’astreinte pendant que l’appli tourne et que des centaines de milliers de personnes l’utilisent, lors d’un événement qu’on ne peut pas reporter, en est un autre. Trois ans de ça, à temps plein et à distance, avant de passer au développement produit.

L’appli du Lollapalooza 2025 a bouclé son cycle à 99,79 % de stabilité sur Android, sur 23 versions, avec 80 000 personnes qui en dépendaient chaque jour ; c’est Jera qui a publié ces chiffres. Ce résultat appartient à une équipe, pas à moi. Ce qui est à moi, c’est l’habitude qu’il m’a laissée : je lis un diff en me demandant ce qui casse en production, pas s’il compile.

Aujourd’hui, je suis l’un des deux développeurs d’une plateforme de paiement, trois personnes en tout. Ma part : le tableau de bord des marchands, les modèles de données et les migrations de l’API (des webhooks qui arrivent deux fois, des synchronisations qu’on doit pouvoir relancer sans risque après un plantage à mi-chemin) et une extension de navigateur dont 82 % des commits sont de moi. Ce code est sous NDA ; ce site montre donc des projets dont je suis responsable de bout en bout, et des démos que j’ai faites moi-même et présentées comme telles.

Aujourd’hui, la plupart de mon code commence dans Claude Code ou Cursor. Ce que je ne fais pas : fusionner ce que je ne sais pas expliquer ligne par ligne.

Gabriel Teles
telos://status
gabriel@telos:~$ whoami
Gabriel Teles · Brésil · UTC-3
gabriel@telos:~$ status
disponible · mission ou CDI
Télécharger le CV (PDF)
  • En informatique depuis2016 · 10 ans
  • Basé àBrésil · UTC-3
  • À distance depuis2022 · en équipe
  • StatutDisponible

CONTACT

Vous recrutez, ou il vous faut un coup de main ?

Je travaille en anglais et en portugais : la suite de l’échange se fait dans l’une des deux langues. Le plus rapide, c’est l’e-mail : je réponds à chacun. Si vous préférez voir du code avant d’en parler, je peux vous donner un accès en lecture à un dépôt privé.

gabriel_teles2010@hotmail.com