Engenheiro backend freelancer · Málaga

Maxi
Kirschberg

APIs, integrações, automação, sistemas observáveis.
Sem dados simulados, sem projetos de brincadeira.

↓ desce
01 · sobre mim

Como cheguei aqui

Comecei cedo a mexer em sistemas demasiado grandes para o nível que tinha. Enquanto muita gente à minha volta fazia CRUDs básicos, eu estava obcecado por perceber o que acontece mesmo por trás de um produto real: filas, caches, concorrência, deploys, sockets, infraestrutura. O ponto de viragem foi o dia em que deixei de ver o backend como «fazer APIs» e comecei a vê-lo como desenhar sistemas que não se partem no momento em que as pessoas os usam de verdade. Foi aí que me agarrei de vez.

A maior parte do que sei veio literalmente de partir coisas. Deploys que deitaram serviços inteiros abaixo, proxies mal configurados, bugs de concorrência impossíveis de reproduzir, migrações de PostgreSQL feitas à pressa, middleware a gerar redirects absurdos em produção. Foi exatamente aí que mais aprendi. Percebi que gosto muito mais de fazer debug de sistemas complexos e caçar gargalos reais do que de construir interfaces bonitas. Perceber porque é que algo falha a baixo nível e arranjar de forma elegante é o que mais perto me leva de flow.

Com o tempo, os meus projetos viraram-se para arquitetura a sério: pipelines automatizados, SSE em tempo real, stacks Docker multi-serviço, reverse proxies com nginx, sistemas de scraping e tendências, automação de conteúdo, ferramentas internas. Nunca me interessaram muito as «apps genéricas». O que me interessa é construir infraestrutura útil, rápida e estável para produtos que se mexem mesmo.

02 · stack

Com o que construo

Esta lista é o que eu uso primeiro, não o que tolero. Escolhido por anos de desgaste em produção, não por ler anúncios.

03 · entregue

Trabalho recente

Um número pequeno de sistemas reais, cada um em produção para utilizadores reais. Não é um portfólio de demos a meio.

Kramaru

Automação editorial · 13 sites · em produção

Plataforma editorial multi-tenant que segue 11 fontes de tendências, pontua oportunidades, gera e revê artigos e publica em 13 sites de nicho em 12 idiomas. Postgres, workers pg-boss, integração com Claude, pipelines de QA próprios e um dashboard com tail ao vivo de cada fila.

kramaru.es

PolyMarket trader

Cripto · 24/7 ao vivo

Quatro estratégias polyvps a correr 24/7 com smart take-profit, hourly gates e circuit breakers. Dinheiro real, não um backtest. Dashboard diário de métricas, kill-switch, log de auditoria de cada entrada.

Triada AD

Analítica desportiva · Docker

Motor de settlement de picks de futebol em cima de OpenFootball mais enriquecimento Sofascore, ligado a um stack Dockerizado com hardening por contentor. NGINX, Postfix, chaves de cifragem de Server Actions fixas para prevenir ataques de replay de cabeçalho após um incidente passado.

TopSec

SaaS · lavandarias

POS Flutter Desktop, backend Node, MySQL, impressão térmica, integração WhatsApp. Clientes reais, offline-first.

Live Demo · event stream em .NET 8

SSE · Postgres · tempo real

Demo público em mkir.es: um único processo .NET 8 difunde eventos de mudanças na base de dados para muitos browsers via Server-Sent Events. Zero dependências no cliente, HTML simples a desenhar triggers de Postgres em tempo real.

mkir.es
04 · estudo de caso

TopSec, em profundidade

A versão longa de um projeto que normalmente comprimo numa frase. As decisões difíceis, o que parti e o que está mesmo no ar.

O problema

O TopSec existe para agregar, sincronizar e visualizar dados em tempo real sem depender de infraestruturas gigantes nem stacks pesados demais para o produto. O briefing era simples de dizer e difícil de entregar: manter os dados vivos, rápidos e consistentes enquanto vários serviços conversam ao mesmo tempo.

A decisão mais dura

Desenhar uma linha clara entre o que vive no backend .NET 8 e o que se resolve a partir do Next.js. Um caso subtil tornou a linha óbvia: as rotas /api mais o middleware next-intl estavam a produzir redirects 307 para /es/api/*. Tecnicamente válido, na prática partido. Endpoints em tempo real e de stats falhavam em silêncio sob certos locales.

O patch que ninguém te pede para escrever é o que justifica o preço do engenheiro: em vez de andar a corrigir regras de redirect uma a uma, reescrevi o matcher do middleware para excluir /api por completo. Mudança visualmente mínima, arquitetonicamente enorme.

Otimizar cedo demais é mau. Ignorar performance desde o início é pior. Princípio de trabalho

A outra decisão foi manter o PostgreSQL como única fonte de verdade. Para este produto, consistência e capacidade de fazer queries complexas valiam mais do que qualquer ganho de velocidade que se pudesse arrancar a um NoSQL. Aborrecido está bem quando aborrecido está correto.

O que parti

A produção caiu uma vez porque assumi que uma imagem Docker tinha sido genuinamente reconstruída. O código «novo» continuava a comportar-se como o velho. O verdadeiro culpado: npm ci falhava em silêncio porque faltava o package-lock, deixando a build inconsistente. Perdi horas a depurar lógica de aplicação para um problema de pipeline.

Lição Desconfia de todos os deploys até teres verificado, com os teus próprios olhos, qual o artefacto que está mesmo a correr. SHA da imagem, hash do contentor, log do commit de build ao arranque. O minuto mais barato que vais gastar.

Resultado

  • Arquitetura multi-serviço estável em VPS: backend, frontend, Redis, PostgreSQL, nginx, tudo coordenado.
  • Grande queda de erros de routing e tempo real depois da reescrita do middleware.
  • Tempos de resposta melhorados com caching bem colocado e separação limpa de responsabilidades.
  • Arquitetura pronta para crescer novos módulos sem reescrever o núcleo.
  • Superfície pública: mkir.es. Walkthroughs técnicos mais profundos disponíveis sob pedido.
05 · como trabalho

Opiniões que defendo

Posições fortes ganhas em incidentes de produção, não no Twitter. Se alguma te tensa, provavelmente vamos dar-nos bem.

Primeiras duas horas num projeto novo

  1. Perceber o problema real de negócio ou utilizador. Não o stack que o cliente acha que precisa.
  2. Identificar gargalos potenciais antes de escrever uma linha de código.
  3. Esboçar o fluxo de dados em papel ou num documento.
  4. Desenhar a arquitetura mínima viável, nada mais.
  5. Escolher o stack contra restrições reais, não contra tendências.
  6. Montar um ambiente reproduzível desde o dia um.
  7. Decidir que partes têm de escalar e, mais importante, quais não devem.

Referências que moldaram a forma como penso

06 · o que não aceito

Filtro honesto

Dizer não torna o sim mais fiável. Estes são os projetos onde eu não seria a contratação certa.

07 · disponibilidade

Trabalhar comigo

Freelance e contracting desde 2022. Aberto a funções remote-first ou híbrido em Málaga e na Costa del Sol quando o projeto justifica a deslocação. Não me interessam ambientes muito corporativos onde a engenharia desaparece debaixo do processo.

Estado
Disponível para novos projetos, flexível por âmbito.
Tipos de projeto
Freelance, contracting, builds backend complexos, auditorias de arquitetura.
Tarifa
35 a 60 € por hora, dependendo de âmbito e responsabilidade. Preço por projeto também disponível.
Localização
Remoto primeiro. Híbrido em Málaga ou Costa del Sol quando o projeto justifica.
Idiomas
Espanhol (nativo). Inglês (C1, técnico e profissional).
Formação
DAM, Desenvolvimento de Aplicações Multiplataforma.
08 · contacto

Entrar em contacto

O email tem a resposta mais rápida. LinkedIn para apresentações, GitHub para código.

emailmaxikirschberg1@icloud.com linkedinMaximilian Kirschberg github@MaxiKirCas portfóliomkir.es