LG_
Londrina, BR · --:--:--

Leonardo
Gotardo

▍

Projeto e entrego APIs, apps web e mobile de ponta a ponta: FastAPI e PostgreSQL na AWS, React e Capacitor na tela, Raspberry Pi quando tem hardware no meio.

leo@londrina: ~

leo@londrina:~$ ▍

role ↓
Python✦FastAPI✦React✦TypeScript✦PostgreSQL✦AWS✦Terraform✦Redis✦Capacitor✦Raspberry Pi✦Docker✦Socket.IO✦Python✦FastAPI✦React✦TypeScript✦PostgreSQL✦AWS✦Terraform✦Redis✦Capacitor✦Raspberry Pi✦Docker✦Socket.IO✦
00Shell

Prefere o terminal?

leo@londrina: ~ — zsh
01Trabalhos selecionados

Coisas que eu construí.

01 / 03dez 2025 – atual

noHarm

Problema
Um app de apoio à recuperação guarda dados extremamente privados e mantém uma API pública que precisa resistir a abusos.
Decisão
FastAPI com Clean Architecture, criptografia AES-256 por campo, rotação de JWT com blacklist de tokens, chat via Socket.IO e rate limiting em três camadas no Redis com scripts Lua atômicos.
Resultado
No ar em noharm.site, com o backend na AWS (ECS, RDS) provisionado por Terraform e builds Android/iOS via Capacitor.
0
de 184 commits do backend
0
casos de teste pytest
0
execuções E2E no Playwright
30One Monthunlocked
Good evening
Sam
47
clean days
Since 12 August
Next badge in 13 days
Two Months
Personal best
47 days
Maya
Proud of you. Same time tomorrow? 💚
02 / 03dez 2024 – atual

MainDug Web

Problema
A maioria dos gerenciadores de senha prende você no cofre de outra pessoa.
Decisão
Um webservice Flask + PostgreSQL que você mesmo hospeda, mais uma extensão de navegador que captura logins e oferece preenchimento automático, com hash Argon2 e detecção de senhas reutilizadas e vazadas.
Resultado
Meu TCC no IFPR, documentado em LaTeX com modelo de ameaças e coberto por pytest e CI no GitHub Actions.
0
commits, todos meus
0
testes pytest
MMainDug☰
Estatísticas de Segurança
Senhas Fracas
2
Senhas Reutilizadas
3
Vazamentos Detectados
1
Detalhes
Senhas Fracas (2)⌄
Senhas Reutilizadas (3)⌄
Vazamentos Detectados (1)⌃
Sua senha para "facebook.com" foi encontrada em um vazamento de dados.Alterar Imediatamente
03 / 03jun 2026 – atual

PiTest

Problema
Operadores de bancada precisam validar placas Raspberry Pi antes da entrega ou depois de um reparo, sem teclado nem SSH.
Decisão
Um serviço systemd que roda a cada boot: 7 testes (LAN, Wi-Fi, boot, USB, GPIO, Bluetooth, hotspot) enquanto a tela mostra o progresso e padrões de teste.
Resultado
Os resultados vão para um painel Flask + PostgreSQL que guarda o histórico de cada placa pelo endereço MAC; o operador confirma tela e LEDs no site.
0
commits, todos meus
0
testes automáticos
Latest Results
b8:27:eb:4f:1a:22
LAN·
Loading...
WLAN·
Loading...
Boot·
Loading...
USB·
Loading...
GPIO·
Loading...
Bluetooth·
Loading...
Hotspot·
Loading...
Screen
Screen Test (manual)
Last Seen 14:020/7 automatic
04fev 2026 – atual

ReportGen

Gerador de relatórios técnicos: front em React, Express + Puppeteer renderizando PDFs no servidor. Exporta para PDF, DOCX e JSON.

ReactJavaScriptVite
Informações Gerais
Formato
ABNT (A4)
Versão
1.0
Título
Análise de Segurança: API de Pagamentos
Autor / Equipe
Leonardo Gotardo
Data
19/10/2026
● PreviewJSONExportar
Relatório de Bugs · Análise Técnica
Análise de Segurança: API de Pagamentos
Autor: Leonardo Gotardo · Versão: 1.0 · Data: 19/10/2026 · ABNT
PDFDOCXJSON
05mar 2026 – atual

ipTool

Consulta geográfica de IP com mapa interativo, validação IPv4/IPv6 e dados detalhados de rede.

ReactJavaScriptVite
IPTOOL LOOKUP
> 177.53.142.10_
LOOKUP
> GEOLOCATION_LOCK
Country
Brazil
Region
Paraná
Capital
Brasília
Connection
Fiber
LATITUDE
-25.4284
LONGITUDE
-49.2733
> ACTIVE
06jun 2024 – atual

Custom Thread

Estende threading.Thread com valores de retorno, propagação de exceções e callbacks. Zero dependências, no PyPI.

PythonThreadingPyPI
pip install CustomThread
1from CustomThread.customThread import CustomThread
2
3thread = CustomThread(target=add, args=(5, 10))
4thread.start()
5result = thread.join() # returns 15
6
7# exceptions raised in the thread reach the caller
07fev 2026 – atual

DDGame

Clicker com tema de D&D em React e TypeScript: role os dados para ganhar XP e gaste na loja de upgrades. Publicado na Vercel.

TypeScriptViteVercel
⚔️ D&D CLICKER ⚔️
Pontos de Experiência
3
⚡ 0.0 XP/s
🎲
🏪 LOJA DE MELHORIAS
🗡️Espada Curta
💰 15 XPQuantidade: 1
🧙‍♂️Aprendiz de Mago
💰 100 XP🔒 50 XP total
⚔️Espada Longa
💰 500 XP🔒 250 XP total
08jun 2025 – atual

Maze Solver

Gerador de labirintos e visualizador de pathfinding reescrito em React 19. Compare DFS e BFS no mesmo labirinto.

ReactJavaScriptTailwind
NODES EXPLORED
0
EXECUTION TIME
0.4ms
PATH LENGTH
-
ALGORITHM
BFS
STARTENDWALLBFS VISITEDBFS PATHSTART SOLVER
09jun 2024 – ago 2024

GeoKnocker

Ferramenta desktop de varredura de portas e geolocalização de IP, com varredura concorrente via threading.

PythonSocketsThreading
geoknocker -t 8.8.8.8
1> host 8.8.8.8 · ports 1-1024 · threaded scan
222/tcp closed
353/tcp OPEN domain
4443/tcp OPEN https
5
6# geolocation via public REST API
7> scan complete
10nov 2025 – dez 2025

Hash Table

Tabela hash em C com encadeamento e rehash automático a 75% de fator de carga.

CEstruturas de dados
hashtable.c
1// chaining + automatic rehash at load factor 0.75
2if ((float)t->count / t->size >= 0.75f)
3 rehash(t); // doubles: 10 → 20 → 40 buckets
4
5while (*cpf) h = h * 31 + *cpf++; // hash
6Person *p = search(t, "123.456.789-01");
7> João Silva, 25
11jun 2026 – atual

Grimório de Venetia

Criador de personagens de D&D 5.5 com um assistente de 13 etapas, 333 testes Vitest e 108 execuções Playwright. Android via Capacitor.

ReactTypeScriptCapacitor

Atributos

Passo 6 de 13 · Mago nível 5

Compra de PontosConjunto PadrãoRolagem

Atributos primários

INTInteligência
Força8
Destreza14
Constituição13
Inteligência15
Sabedoria12
Carisma10
Rolar atributos
12mai 2026 – atual

Phishing Detector

Heurísticas de typosquatting mais os veredictos do Google Safe Browsing, VirusTotal e URLhaus.

PythonFlaskSegurança
Phishing Detector
Verifique se um site é seguro antes de inserir seus dados
paypa1-secure.com/login
Verificar Site
⛔ Site Perigoso
Verificações
Heurística localTyposquat de paypal.com (l → 1)
Google Safe BrowsingMalicioso
VirusTotal14 / 92 detecções
URLhausNão listado
13out 2025 – atual

Talent Scout

Classifica atletas em níveis com um modelo K-Nearest Neighbors: PCA, matriz de correlação, gráficos de radar.

Flaskscikit-learnML
KNN · Competitivo
AlturaEnvergaduraArremessoSaltoAbdominais
02Experiência

Onde eu trabalho.

01 · set 2024 – atual

IrisPay

Desenvolvedor de Software
Londrina-PR, Brasil

Fintech brasileira que transforma máquinas tradicionais em sistemas inteligentes de autoatendimento e vending com tecnologia de pagamento própria.

  • →Linux embarcado em dispositivos Raspberry Pi rodando sozinhos em campo: display em modo quiosque, serviços systemd/OpenRC, watchdogs, criptografia LUKS.
  • →Serviços Python que controlam hardware: GPIO, leitores NFC, protocolos seriais e impressoras térmicas, com máquinas de estado, threading e asyncio.
  • →APIs Python (FastAPI, Flask) e comunicação em tempo real via WebSockets e sockets; frontends em PHP/Laravel e manutenção de um sistema legado em Yii2.
  • →Atualizações remotas (OTA) com releases versionadas, rollback automático e testes ponta a ponta isolados; serviços em contêineres na AWS via GitHub Actions.
  • →Sem teclado, sem tela, rede instável: tudo precisa se recuperar sozinho, e cada falha é isolada camada por camada antes de ser corrigida.
Raspberry PiPythonFastAPIsystemdBashDockerAWSLaravel
02 · abr 2026 – atual

TLG-Web-Dev

Sócio
Estúdio de desenvolvimento web

Pequeno estúdio em que sou um dos sócios e desenvolvo sites para clientes.

  • →Site do GP Barril (Next.js + TypeScript): Image Optimizer restrito a 3 hosts, fechando uma brecha de proxy aberto.
  • →Correção do domínio canônico e uma política de robots que separa os agentes de busca de IA dos crawlers de treinamento.
  • →Server Action de contato validada no servidor e limitada a 3 envios por IP a cada 10 minutos.
Next.jsTypeScriptTailwind CSSSEOSegurança web
03 · jul 2023 – mar 2024

Persis Internet

Service Desk
Londrina-PR, Brasil

Provedor de internet regional com mais de 100.000 clientes.

  • →Resolvi problemas complexos de rede para clientes leigos, muitas vezes a partir de descrições ambíguas.
  • →Mantive a qualidade do atendimento sob pressão e transformei problemas recorrentes em feedback útil.
RedesSuporte técnicoResolução de problemas
03Sobre & stack

Desenvolvedor de software em Londrina. Hoje na IrisPay, transformando máquinas tradicionais em sistemas inteligentes de vending — embarcados, APIs, sockets, criptografia, IoT e web.

Formado em Análise e Desenvolvimento de Sistemas pelo IFPR (2026). Sigo criando projetos pessoais que me levam a novas áreas: criptografia, interfaces gráficas, apps mobile, infraestrutura em nuvem e bibliotecas Python no PyPI.

Localização
Londrina, Brasil
Idiomas
PT (nativo) · EN (prof. plena)
Formação
ADS, IFPR (2026)
Foco
Python · React/TS · Mobile

Backend

PythonFastAPIFlaskSQLAlchemyPostgreSQLRedisSocket.IOREST & WebSocket

Front & mobile

TypeScriptReactNext.jsViteCapacitorTailwind CSS

Infra & embarcados

DockerTerraformAWSGitHub ActionsLinuxRaspberry Pisystemd

Também: PHP (Laravel, Yii2), C, pytest, Playwright e Vitest.

04Contato

Vamos falar →

Aberto a novas oportunidades e projetos interessantes. Vamos construir algo juntos.

Precisa de um site para o seu negócio? Me conta.