stolben.com · portfólio

Sistemas web em Python e Django, do código à operação.

Alguns dos sistemas que projetei, construí e mantenho no ar. Foco em código claro, dados bem modelados e operação estável em produção.

7projetos publicados e em uso
Python · Djangoback-end e dados
Linux · Nginxdeploy próprio em produção
/ sobre

Do problema real ao sistema no ar.

Todo projeto começa longe do editor de código: parto do problema real e modelo o fluxo: a estrutura de dados, as regras de negócio e a navegação mais simples que resolve o caso. Só então começo a construir.

Construo com arquitetura direta de manter: Django bem organizado, dados consistentes e validação contínua. Prefiro menos peças, bem escolhidas, a empilhar ferramenta sobre ferramenta.

E como sou eu quem opera os sistemas depois do deploy, cada decisão de código é tomada pensando em quem vai mantê-los estáveis em produção: eu mesmo, todos os dias. É esse ciclo completo que faz cada projeto sair melhor que o anterior.

Rodrigo Stölben
/ tecnologias

As ferramentas, e por que escolho cada uma.

Sem jargão: as tecnologias que uso para construir os sistemas e o raciocínio por trás de cada escolha.

a fundação

Python & Django

A linguagem e a estrutura onde o sistema é construído. O Django é uma base madura, a mesma usada por empresas como Instagram e Spotify: boa parte da segurança e da organização já vem pronta, o que significa menos código frágil e mais tempo dedicado à regra de negócio.

Código em um editor de texto
onde ficam os dados

PostgreSQL

O banco de dados é o arquivo central do sistema. Guarda cada informação de forma consistente e segura, sem perder ou misturar registros, mesmo com muito acesso ao mesmo tempo.

a inteligência

IA · Claude (Anthropic)

O motor de inteligência dos sistemas: a API do Claude gera conteúdo, corrige avaliações e produz análises sob demanda, enquanto cada aplicativo orquestra as chamadas em segundo plano. É a mesma base pronta para os sistemas atuais e os que vierem.

a velocidade

Redis

Mantém o que é mais usado sempre à mão, para as telas responderem na hora. É o que faz o sistema parecer leve, em vez de travado.

o trabalho pesado

Celery

Cuida de tarefas demoradas (como processar arquivos) em segundo plano, sem travar a tela enquanto o sistema trabalha.

no ar, 24 horas

Linux · Nginx · Gunicorn

A infraestrutura que mantém tudo online, estável e seguro o tempo todo. Configuro e mantenho o servidor por conta própria, sem depender de plataformas fechadas de terceiros.

/ integração contínua

Nada vai para o ar sem passar por doze conferências.

Ver o pipeline

Toda vez que eu mudo uma linha de código, um robô assume antes de mim. Ele baixa o projeto, monta o ambiente do zero e submete a mudança a uma sequência de conferências automáticas. Se qualquer uma delas reprovar, a mudança não entra no sistema. É isso que se chama de integração contínua, ou CI.

São doze conferências, e todas rodam ao mesmo tempo. Quatro cuidam do código em si: uma padroniza o estilo do primeiro ao último arquivo, outra confere se cada informação é usada como aquilo que ela é, uma data como data e um número como número, a terceira roda a bateria de testes automáticos que repete o uso real do sistema, e a quarta reúne os resultados e acompanha se a qualidade sobe ou desce a cada mudança.

Duas cuidam da segurança: uma procura falhas já conhecidas tanto no código que escrevi quanto nas bibliotecas de terceiros que o sistema usa, e a outra varre o histórico inteiro do projeto atrás de senha ou chave de acesso esquecida no meio do código.

Três olham para o que o sistema carrega junto: se cada biblioteca tem licença compatível com a do projeto, se a versão instalada é exatamente a que eu revisei e não uma trocada no caminho, e uma espécie de lista de ingredientes, com tudo o que foi instalado naquela versão, guardada para responder na hora quando aparecer uma falha nova no mundo.

As três últimas olham para o resultado, do jeito que a pessoa vai encontrar: as configurações de produção são revisadas junto com a estrutura do banco de dados, um navegador de verdade percorre as telas clicando como um usuário faria, e um auditor confere se elas funcionam para quem navega pelo teclado ou usa leitor de tela.

  • ruff
  • mypy
  • pytest
  • SonarQube
  • bandit
  • pip-audit
  • gitleaks
  • liccheck
  • CycloneDX
  • Playwright
  • axe-core

No fim, um portão único resume o resultado. Verde, a mudança pode entrar no projeto. Vermelho, o próprio GitHub bloqueia a entrada, e não existe deixar para arrumar depois.

O pipeline não é copiado dentro de cada projeto: ele vive em um repositório central e o arquivo de cada sistema tem dez linhas, então um ajuste feito uma vez vale para todos. Cada projeto liga as etapas que fazem sentido para ele, e o Trilhas de Estudo, o mais recente, roda as doze sem nenhuma tolerância. Este site, escrito à mão em HTML e CSS, passa por uma versão reduzida do mesmo pipeline: busca por segredos e checagem de links quebrados.

/ infraestrutura e operação

Do código ao servidor: onde um sistema realmente vive.

Hoje meus sistemas rodam em uma VPS Linux, com deploy próprio em Nginx e Gunicorn. Cuido de toda a operação, do primeiro deploy à manutenção do dia a dia, mantendo tudo disponível, seguro e atualizado.

VPS Linux em produção

Os sistemas rodam hoje em uma VPS Linux, com Nginx e Gunicorn, dimensionada conforme o uso de cada projeto.

Deploy próprio

Publico e configuro o ambiente de produção por conta própria, com domínio, HTTPS e processos sob meu controle, sem plataformas fechadas.

Manutenção contínua

Monitoramento, backups, segurança e atualizações, com ajustes e correções conforme os sistemas evoluem.

Servidores em um data center, onde o sistema fica hospedado
/ contato

Tem um projeto em mente?

Me escreva contando o problema que você quer resolver. Respondo pelo e-mail abaixo.