Arthur Duarte
Backend e arquitetura de sistemas
Projeto sistemas e participo da implementação. Entusiasta de Linux e infraestrutura.
Porto Alegre, Brasil
Sobre
Estudante no Colégio Militar de Porto Alegre, com conclusão em 2027.
Meu foco é backend e arquitetura de sistemas: quero projetar sistemas e também participar da implementação.
Entusiasta de Linux e infraestrutura.
Idiomas
- Português
- Nativo
- Inglês
- C1
- Alemão
- A1, em estudo
Stack
Linguagens
- Python
- JavaScript
- TypeScript
- SQL
- Rust
Backend
- Node.js
- Fastify
- Prisma
- Zod
- PostgreSQL
Infra
- Arch
- CachyOS
- Fedora
- Debian
- Ubuntu Server
- Docker
- SSH
- Oracle Cloud
- GitHub Actions
Estudando
- Java
- React
- Programação funcional
Projetos
Sistema de bilheteria de eventos
API de venda de ingressos para eventos. Hoje tem o cadastro de usuários; eventos, pedidos e ingressos já estão no modelo de dados.
- Fastify com validação via Zod, documentação OpenAPI em /docs e senhas com argon2.
- Modelo de dados em Prisma 8 e PostgreSQL, com usuários em tiers (free, verified, pro), eventos, pedidos e ingressos.
- Constraints no banco, como sold_tickets <= capacity, protegem a capacidade do evento.
- TypeScript
- Fastify
- PostgreSQL
- Prisma
- Zod
- OpenAPI
- Docker Compose
dev-tool-cli
CLI que configura ambientes de desenvolvimento com um comando, do mesmo jeito em qualquer máquina.
- Instala as toolchains de Python (uv) e Rust (rustup), cria o projeto e registra as versões em dev.toml. O dev doctor confere o que falta na máquina.
- Binário único para macOS e Linux, com instalador que verifica o SHA-256.
- Arquitetura modular (cli, config, core, errors, os, providers) baseada em trait Provider e Registry.
- Testes usando fakes. Release automatizado via GitHub Actions.
- Rust
- GitHub Actions
multi-llm-cli
- Python
- uv
CLI de terminal para conversar com vários LLMs, feita para facilitar o acesso a modelos gratuitos de diferentes provedores.
- Suporta OpenRouter, Groq e Google. Histórico multi-turno, markdown no terminal, troca de modelo e provedor durante a conversa e importação de arquivos para o contexto.
- Tool calling opcional (bash, read_file, write_file) no OpenRouter e no Groq. Cada execução pede confirmação, com padrão em não.
Bot de boas-vindas para Discord
- JavaScript
- discord.js
- Docker
- Oracle Cloud
Dá boas-vindas automáticas a novos membros e atribui cargo automaticamente. Deploy conteinerizado em VM na Oracle Cloud.
Ver códigoBot de notificação do YouTube para Discord
- JavaScript
- discord.js
- Docker
Avisa no servidor quando sai vídeo novo no canal do YouTube ou quando uma live começa. Usa o feed RSS, sem API key do Google.
- O feed RSS só mostra a transmissão depois que ela termina. Por isso o bot também consulta a página /live do canal a cada ciclo.
- Guarda os IDs já avisados em data/state.json para não repetir aviso após reiniciar.
Homelab
- Ubuntu Server
- Netplan
- SSH
- Docker
Servidor Ubuntu Server montado a partir de uma máquina antiga, com IP fixo via Netplan e acesso SSH por chave.
- Usado como laboratório de backend, bancos de dados e Docker.
Portfólio pessoal
- TypeScript
- Next.js
- nginx
- Oracle Cloud
- GitHub Actions
Este site: Next.js com export estático em três idiomas, servido por nginx numa VM da Oracle Cloud.
- Deploy via GitHub Actions. A lista de projetos é atualizada toda semana pelo Claude.
Como este site chega até você
Sem plataforma pronta: este é o caminho de um commit até o seu navegador, montado e operado por mim.
git push
Commit na branch main do GitHub.
GitHub Actions
npm ci e next build geram o site estático em out/.
rsync via SSH
Envia só o que mudou, com um usuário de deploy sem sudo.
nginx
VM Ubuntu na Oracle Cloud, com gzip e cache longo nos assets.
HTTPS
Certificado Let's Encrypt, renovado pelo certbot.
Você
A raiz redireciona para /pt/, /en/ ou /de/ conforme o idioma do navegador.
Toda segunda, um workflow com o Claude lê meus repositórios com a topic portfolio e abre um PR atualizando os projetos nos três idiomas. Eu reviso e faço o merge; o deploy roda sozinho.
Canal técnico no YouTube
Explicações de estruturas de dados e problemas do LeetCode.
- inscritos
- 1.000+
- visualizações em um vídeo
- 40 mil+