Interfaces
Telas responsivas e rápidas, com estados bem tratados e micro-interações que ajudam em vez de enfeitar. Do layout ao comportamento final.
Desenvolvedor full stack, estudante de Ciência da Computação e cofundador da Aithos Tech. Este site é meu diário de bordo: o que estou construindo, as decisões que tomei no caminho e para onde estou indo.

Sou desenvolvedor full stack júnior e gosto de contar essa história sem atalho: comecei pela faculdade, passei por uma empresa de software do setor farmacêutico e hoje divido meu tempo entre projetos próprios e a Aithos Tech, a startup que cofundei.
Foi onde programar deixou de ser curiosidade e virou direção. A base teórica me deu vocabulário para as decisões que eu tomava no improviso: estrutura de dados, banco relacional, redes.
Implantar software para farmácias de manipulação me ensinou o que nenhum tutorial ensina: o que acontece quando o sistema encontra o usuário de verdade. Migração de dados, treinamento, suporte — vi de perto onde produto bom vira produto usado. Saí para apostar de vez no desenvolvimento.
Na Aithos, criamos soluções digitais para pequenos e médios negócios do Brasil. Aqui eu não só escrevo código: converso com cliente, levanto requisito, estimo prazo e respondo pelo resultado.
O plano de longo prazo é ganhar mais estrada como dev e me mudar para a Irlanda em alguns anos. Cada projeto desta página é um passo nessa direção.
Sem lista infinita de tecnologia: estas são as ferramentas com que eu trabalho de verdade, agrupadas pelo que elas resolvem.
Telas responsivas e rápidas, com estados bem tratados e micro-interações que ajudam em vez de enfeitar. Do layout ao comportamento final.
Backends com regras de negócio no lugar certo, autenticação e modelagem relacional pensada antes da primeira linha de código.
Deploy que se repete sem susto: ambientes em contêiner, versionamento disciplinado e o projeto saudável depois da primeira entrega.
Não é vitrine de tecnologia: cada um nasceu de um problema concreto, exigiu uma escolha técnica e me deixou uma lição. Conto as três coisas.

Eu queria criar disciplina financeira de verdade, e planilha não cria hábito. A ideia veio do livro "O homem mais rico da Babilônia": transformar a rotina de controlar dinheiro em algo visual e acompanhável.
Escolhi Supabase em vez de Firebase de propósito: dados financeiros são relacionais (contas, categorias, lançamentos), e eu queria Postgres com SQL de verdade para os relatórios. Row Level Security protege os dados de cada usuário no próprio banco, e o Realtime veio de brinde.
A pensar segurança desde o schema, não como camada colada no final. RLS mudou como eu modelo qualquer app multiusuário.

CRUD todo mundo faz. Eu queria entender o que sustenta uma loja de verdade: catálogo com busca e filtros, carrinho que não perde estado e um fluxo de pagamento seguro.
Separei frontend e backend em serviços independentes — API Node/Express com PostgreSQL, autenticação JWT e Docker para o ambiente subir igual em qualquer máquina. As regras de negócio moram no backend, não espalhadas na interface.
Que a parte difícil de e-commerce não é a tela, é o estado: estoque, carrinho e pagamento precisam concordar entre si o tempo todo.

Eu queria passar pelo ciclo completo de um SaaS simples: usuários se cadastram, cada um enxerga só as próprias tarefas, e os dados sobrevivem a qualquer refresh.
Prisma como camada de dados foi a escolha central — schema declarativo, migrations versionadas e tipos gerados que atravessam o TypeScript de ponta a ponta. Autenticação com JWT por usuário.
O valor de tipagem compartilhada entre banco e código: uma mudança no schema quebra o build antes de quebrar em produção.

Uma agência de viagens organizando pacotes e clientes em planilhas soltas — o tipo de operação que a Aithos encontra direto em negócio pequeno. Faltava um painel central.
TypeScript de ponta a ponta e TypeORM no lugar do Prisma — de propósito, para comparar as duas abordagens de ORM na prática. JWT nos fluxos administrativos e dados modelados em PostgreSQL.
A comparar ferramentas com critério próprio: entities e decorators do TypeORM versus o schema declarativo do Prisma. Hoje sei dizer quando cada um vale a pena.

Um petshop precisa de leitura rápida no balcão: quem é o cliente, qual pet, qual serviço, que horas. Cadastro e consulta não podem atrapalhar o atendimento.
Frontend e backend separados com responsabilidades claras — a API Express com Prisma cuida do CRUD de pets, clientes e serviços; a interface React foca em consulta rápida.
Fundamentos bem feitos: rotas REST organizadas, validação no lugar certo e uma API que outra pessoa consegue ler e evoluir.

Busca de perfis do GitHub parece trivial até você tratar o que acontece entre o clique e a resposta: carregando, erro, usuário inexistente, lista vazia.
Sem backend de propósito — React com Vite consumindo a API pública do GitHub, com cada estado da interface desenhado explicitamente em vez de deixado ao acaso.
Que estado de interface é design, não detalhe: loading, erro e vazio são metade da experiência de qualquer busca.
O mesmo caminho nos projetos próprios e nos da Aithos — pensado para quem contrata entender o andamento sem precisar ler código.
Converso até conseguir explicar o problema com as minhas palavras. Só então escrevo escopo — curto, em linguagem que o cliente também entende.
Modelagem de dados, fluxos e as decisões técnicas justificadas por escrito: o que entra agora, o que fica para depois e por quê.
Entregas pequenas e frequentes, com demo a cada ciclo. Quem acompanha vê o produto crescer, não só recebe no final.
Documentação, monitoramento e estrutura para evoluir. Entregar é o começo da conversa, não o fim.
Vaga full stack júnior, projeto para a Aithos ou só uma conversa sobre uma ideia — me chama direto. Sem formulário: eu leio e respondo.