ShaafVorthryss Baixar CV
EnglishEspañolPortuguêsFrançaisالعربية

Shaaf · Engenheiro de software · Reino Unido, remoto para o mundo todo

Fluxos complexos. Software que funciona.

Projeto e desenvolvo integrações, ferramentas internas e fluxos com IA. Serviços Python, interfaces React e processamento de dados, com demonstrações executáveis e resultados que você pode verificar.

Python · SQL · FastAPI · TypeScript · React · Engenharia de dados · Integração de IA e LLM · n8n · Docker · Linux

Um caminho claro do problema à entrega

Traga o fluxo atual, as ferramentas e o resultado esperado. Combinamos um primeiro marco útil e desenvolvemos com critérios de aceitação explícitos.

Conectar sistemas de negócio

APIs, dados de CRM e fluxos recorrentes. Definir a fonte de referência, tratar eventos duplicados e tornar as falhas visíveis.

Criar software operacional

Ferramentas internas, painéis de relatórios e aplicativos web com interface útil e saídas verificadas.

Integrar IA ao fluxo de trabalho

Processamento de documentos, busca de conhecimento e funções conectadas a ferramentas, com avaliação específica e uma entrega prática.

Projetos em destaque

Explore o trabalho. Verifique o resultado.

Projetos próprios, com dados sintéticos de demonstração identificados. Explore o laboratório, o aplicativo web e as saídas de dados.

JavaScript · State machine · Idempotency · Recovery

Laboratório de recuperação: provoque uma falha e observe a retomada

Demonstração executável no navegador de identidade de eventos, fila de tarefas e conector CRM simulado. Experimente entradas duplicadas, timeout temporário, escrita interrompida ou erro permanente. Inspecione o estado e baixe o histórico.

  • 13 testes aprovados, incluindo detecção de estados alterados de propósito
  • 200 eventos sintéticos únicos: 150 efeitos concluídos, 50 casos para revisão e nenhum efeito duplicado
  • O navegador e os testes executam o mesmo motor; código e testes disponíveis para download
0efeitos duplicados no teste de 200 eventos

TypeScript · React · FastAPI · pytest · Playwright · CI

Order Desk: um app, três stacks, uma só suíte de testes

Um pequeno app web de pedidos com API JSON em Python, SQLite e front-end em TypeScript estrito, reconstruído em React 19 e sobre um servidor FastAPI. Os mesmos testes de API, de banco de dados e de navegador julgam cada versão.

  • Versão original corrigida: 90 testes de API, banco de dados, navegador e ferramentas aprovados
  • Numa versão com defeitos de propósito, falham exatamente os testes que protegem os seus 6 bugs inseridos, em todas as versões
  • Pipeline local reproduzível: tipos, builds e suítes de testes; inclui configuração de CI hospedada
3 stacksTypeScript, React e FastAPI, julgados por uma só suíte de testes

Python · PDF · XML · OCR · Qualidade de dados

Processamento de documentos e dados

Dados sintéticos de faturas, clientes e vendas transformados em saídas verificadas. São projetos de demonstração com recontagem independente, não trabalhos para clientes.

  • 3 faturas em PDF: 11 de 11 itens exatos e uma cobrança a mais de £10,00 sinalizada
  • 16 notas fiscais eletrônicas mexicanas e brasileiras (CFDI, NF-e): os 9 problemas inseridos foram encontrados
  • 299 registros de clientes em árabe e inglês limpos, com 242 telefones no formato internacional
  • 1.774 linhas brutas de vendas transformadas em um relatório semanal de duas páginas
£10,00diferença de £10.00 inserida de propósito e detectada
Uma fatura antes da extraçãoA mesma fatura como linhas verificadas de planilhaRelatório semanal de vendas de duas páginas

Mais projetos

Python · Dados da web · Dados estruturados

Motor de comparação de preços

Responde em código a "qual é o preço mais barato e quem vende?": encontra lojas, lê dados estruturados de produto, mantém separados os preços sem IVA e em outras moedas e respeita o robots.txt.

  • Respondeu uma consulta real de preço no Reino Unido em 49 segundos, com os 7 fatos conferidos
  • Lojas que bloquearam a leitura automática foram informadas, nunca adivinhadas

Python · Registros públicos · Validação de dados

Verificação de empresas em escala

Verificou uma lista de empresas britânicas na Companies House e em seus próprios sites antes de qualquer contato, seguindo as regras britânicas da PECR. As consultas de registro também cobrem a França (Sirene) e a Austrália (ABN).

  • 256 empresas verificadas: 132 confirmadas
  • 23 endereços errados e 4 empresas inativas identificados antes do contato

Python · Busca · Fontes oficiais

Motor de pesquisa multilíngue

Pesquisa no idioma de cada país, lê páginas e PDFs oficiais, pontua cada fonte e cita cada achado com o seu link.

  • 6 de 6 execuções reais passaram nas verificações (Japão, Polônia, Brasil)

Swift · SwiftUI · macOS

App de operações para macOS

Um app de barra de menus que reúne e-mails de 3 contas, alertas, aprovações e trabalho concluído em um só painel.

  • Tempo de carregamento do painel de e-mail reduzido de 64 s para 0,6 s
  • Um autoteste na compilação aciona os 32 botões: 0 falhas

Debian · Docker · n8n

Servidor Linux próprio

Um servidor sempre ativo com fluxos do n8n, um buscador privado (SearXNG), um serviço de monitoramento e um servidor de modelos locais.

  • Verificações de saúde a cada 15 minutos e um resumo diário
  • Watchdog testado: um serviço parado reiniciou sozinho em 41 s

A plataforma

Um sistema projetado e construído de forma independente

Um projeto independente que conecta tarefas persistentes, ferramentas, recuperação de informações e verificação. Investigo orquestração, recuperação de falhas e como transformar saídas de modelos em trabalho verificado. Os resultados abaixo descrevem experimentos específicos registrados.

2.175
testes automatizados aprovados, com 0 falhas, na execução completa de 28 de outubro de 2026
33 s
para voltar a trabalhar sozinha após uma reinicialização completa da máquina
20 / 20
respostas com fatos trocados detectadas pela sua verificação
0,49 s
mediana de resposta a uma pergunta simples, antes 869 s
Parte por parte
  1. Motor de tarefas

    Transforma um pedido em passos e executa cada passo com uma ferramenta. Cada resultado é guardado com uma soma de verificação, então qualquer resposta pode ser rastreada até o que foi lido.

    Python · state machines · durable records

  2. Camada de ferramentas

    26 ferramentas sob um único registro: busca na web, leitores de páginas e PDF, OCR, registros de empresas, preços, tabelas, arquivos e agenda. Cada ferramenta declara o que pode fazer, e enviar um e-mail aguarda a aprovação de uma pessoa.

    Plugin registry · typed parameters · approval classes

  3. Verificação de fatos

    O código extrai registros de cada resultado de ferramenta. Um fato numa resposta só vale se um único registro contiver o seu valor e aquilo que descreve, então um número trocado ou inventado é recusado.

    Typed validation · evidence binding

  4. Métodos em código

    Quando o código consegue responder, nenhum modelo é consultado. Comparação de preços, verificação de empresas, contagens e trabalho com tabelas rodam como métodos fixos; uma consulta real de preço no Reino Unido levou 49 segundos.

    Deterministic pipelines · structured data

  5. Busca

    Um buscador sobre 83.589 trechos de documentação técnica que combina a classificação por palavras-chave com embeddings vetoriais, e um motor de pesquisa que busca em cada país no próprio idioma.

    SQLite FTS5 · BM25 · embeddings · rank fusion

  6. Confiabilidade

    Um supervisor reinicia o trabalho que falhou com pausas cada vez maiores entre as tentativas. As tarefas esperam a internet voltar em vez de falhar, e parar, pausar e retomar valem já no turno seguinte.

    Supervision · back-off · durable jobs

  7. Controle de recursos

    O trabalho pesado só começa quando a memória, a temperatura e a bateria permitem. Se o usuário abre um jogo, a tarefa em andamento sai do caminho na hora e continua depois.

    Admission control · scheduling

O código é privado. Eu o apresento nas entrevistas e posso compartilhar o código-fonte sob acordo de confidencialidade.

Histórico de resolução de problemas

Casos de engenharia registrados

Investigações selecionadas: falha observada, correção e verificações registradas.

Uma pergunta simples que levou 869 segundos

O que encontrei
Uma pergunta curta digitada no app no meio de uma tarefa ficou na fila atrás do modelo principal, ocupado, e esperou 869 segundos por uma resposta.
O que fiz
Agora as perguntas são classificadas antes de qualquer execução. Contas e perguntas sobre o sistema são respondidas pelo código, e perguntas curtas sem nada a pesquisar vão para um modelo pequeno e rápido.
Resultado
20 de 20 perguntas gerais respondidas, com mediana de resposta de 0,49 s.

Uma IA que não achava um preço após 24 tentativas

O que encontrei
Adivinhar a partir de resultados de busca nunca deu um preço que ela pudesse comprovar.
O que fiz
Troquei o palpite por um método em código: encontrar as lojas, ler seus dados estruturados de produto, comparar em pé de igualdade e informar o que não pôde ser lido.
Resultado
Uma consulta real de preço no Reino Unido respondida em 49 segundos, com os 7 fatos conferidos.

Um painel de e-mail que desistia após 64 segundos

O que encontrei
O leitor abria cada mensagem inteira, uma de cada vez e de apenas uma das três contas, enquanto o painel esperava no máximo 25 segundos.
O que fiz
Ler apenas os cabeçalhos, com uma chamada por conta, juntando tudo do mais recente para o mais antigo.
Resultado
De 64 s para 0,6 s nas 3 contas; um teste de regressão garante isso.

Uma verificação que aprovava respostas trocadas

O que encontrei
Testei minha própria verificação trocando números entre respostas. As 20 respostas trocadas passaram: ela confirmava que os números existiam, não a qual afirmação pertenciam.
O que fiz
Reconstruí a verificação em torno de registros extraídos por código. Agora um fato só vale quando um único registro contém o seu valor e aquilo que descreve.
Resultado
0 de 20 respostas trocadas passam.
Mais casos

Uma tarefa em segundo plano que ignorava um jogo

O que encontrei
Um jogo foi aberto enquanto uma tarefa em segundo plano ocupava 7,6 GB de memória. O trabalho novo foi segurado, mas a tarefa em andamento continuou até ser parada à mão.
O que fiz
Agora a tarefa em andamento verifica a cada turno e sai do caminho assim que um jogo está em uso. Isso não conta como falha.
Resultado
A tarefa para no turno seguinte e recomeça quando o jogo termina.

Uma queda de três horas que gastou 21 tentativas

O que encontrei
Durante uma queda de internet de três horas, o sistema continuou iniciando trabalho: 21 tentativas locais e 9 chamadas à nuvem falharam sem conexão, e 13 tarefas ficaram marcadas como bloqueadas.
O que fiz
Agora ele verifica a conexão duas vezes antes de começar um trabalho que precisa de internet. O trabalho espera enquanto não há conexão, e uma tentativa que falhou só por causa da queda não conta.
Resultado
O trabalho pausa durante uma queda e continua quando a conexão volta.

Um botão de parar que criava uma tarefa chamada “parar”

O que encontrei
No chat do app, “parar”, “pausar” e “cancela isso” viravam tarefas novas. 10 de 12 mensagens do dia a dia viravam tarefas.
O que fiz
Agora os comandos são reconhecidos e gravados como uma única ordem que o executor obedece no turno seguinte: parar encerra o trabalho em andamento, pausar deixa terminar, retomar recomeça e uma tarefa cancelada nunca começa.
Resultado
Comprovado ao vivo: uma parada total não deixou nada rodando.

Uma resposta certa recusada, depois uma errada

O que encontrei
Um agente de IA contou corretamente 20 pessoas diferentes em uma lista de contatos. Uma verificação por palavras a recusou; a nova tentativa disse 19.
O que fiz
Construí uma verificação tipada que reconta a partir dos dados de origem com a regra do próprio pedido. Respostas certas passam em qualquer redação; as erradas são recusadas com a causa indicada (aqui, a linha de cabeçalho removida duas vezes).
Resultado
Testada nos registros reais, revisada de forma independente duas vezes e já em produção.

Alertas registrados como exibidos que ninguém viu

O que encontrei
O app tratava “enviado” como “visto”: o sistema operacional estava com os alertas desligados, e o registro continuava marcando cada um como exibido.
O que fiz
Verificar primeiro a permissão real, marcar um alerta como exibido só quando o sistema o aceita, segurar os demais e avisar claramente o usuário quando os alertas estão desligados.
Resultado
Os dois alertas perdidos foram entregues e confirmados na tela; um teste de regressão garante isso.

Habilidades

O que levo para uma equipe

Habilidades amplas e práticas em todo o stack, cada uma usada em um projeto real que você pode ver acima.

Backend, APIs e front-end

Serviços em Python e APIs REST (também com FastAPI) com armazenamento SQL, e front-ends tipados em TypeScript e React. Com novas tentativas, idempotência e tratamento de falhas.

Python · FastAPI · TypeScript · React · APIs REST · JSON · SQL / SQLite · Bash · JavaScript

Engenharia de dados

Dados bagunçados transformados em resultados limpos e verificados: limpeza, deduplicação, validação, conciliação, extração de PDF e XML, OCR e relatórios.

Pipelines de dados · Qualidade de dados · PDF e XML · OCR · Relatórios

Integração de IA e LLM

Agentes que usam ferramentas reais passo a passo, modelos locais e no dispositivo, recuperação de informação e avaliação com testes reservados, com código que confere cada resposta.

Agentes de IA · Uso de ferramentas · Ollama · MLX · Recuperação · Avaliação

Automação e integração

Fluxos de trabalho e integrações que conectam sistemas e fontes de dados de forma confiável, incluindo coleta respeitosa de dados da web e registros públicos.

n8n · Integração de APIs · Dados da web · Registros públicos

Testes e QA

Testes automatizados em todas as camadas, testes de regressão escritos a partir de falhas reais e portões de release que barram uma versão ruim.

pytest · Playwright · Testes de API · Testes de banco de dados · Portões de release · CI/CD

Confiabilidade e DevOps

Serviços sempre ativos: supervisão e reinícios, controle de admissão, portões de release com rollback, monitoramento, rastreamento, contêineres e backups.

Debian · Docker · systemd · SSH · Git · OpenTelemetry

Plataformas Apple

Um app nativo para macOS em Swift e SwiftUI, além de ferramentas de linha de comando para OCR, voz para texto e Core ML no próprio dispositivo.

Swift · SwiftUI · Vision · Speech · Core ML

Segurança

Fluxos de aprovação, listas de comandos permitidos, isolamento de processos, registros de auditoria assinados e um cofre de dados baseado em consentimento, além de prática OWASP em um laboratório isolado.

macOS Seatbelt · Semgrep · OWASP · Juice Shop · WebGoat

Internacional

Pronto para trabalho internacional

Meus projetos já atravessam fronteiras. Construo software que trata corretamente documentos, registros, idiomas e moedas de outros países, e trabalho remotamente com equipes de qualquer lugar.

  • América LatinaNotas fiscais eletrônicas CFDI do México e NF-e do Brasil lidas a partir do XML e verificadas linha a linha; pesquisa em português para o Brasil.
  • Oriente Médio e Norte da ÁfricaRegistros de clientes em árabe e inglês limpos e deduplicados, com telefones no formato internacional.
  • EuropaConsultas a registros de empresas no Reino Unido (Companies House) e na França (Sirene); pesquisa em polonês.
  • Ásia-PacíficoPesquisa em japonês; consultas de empresas na Austrália (ABN).
  • Dinheiro e impostosPreços mantidos na própria moeda, com e sem IVA, e nunca convertidos no chute.
  • HorárioHorário do Reino Unido (GMT/BST). A sobreposição de horários e a frequência de comunicação são combinadas em cada projeto.

Sobre

Sobre mim

Sou um engenheiro de software autodidata no Reino Unido. Desde meados de 2026, projetei, construí e opero de forma independente a plataforma descrita acima e os projetos ao seu redor.

Vorthryss é minha prática independente de engenharia. Crio as ideias e a arquitetura, comparo abordagens e uso ferramentas de IA para implementar, criticar e testar. Sou responsável pelo escopo, pelas decisões de projeto e pelos critérios de aceitação.

Gosto de problemas em que o software encontra o mundo real: dados bagunçados, documentos de outros países, máquinas que reiniciam no meio de uma tarefa. Faço mudanças pequenas e testadas e registro o que mudou e por quê.

  • Python · TypeScript · SQL · Swift · Bash
  • Uma plataforma completa construída e operada de forma independente desde meados de 2026
  • Documentos, dados e registros de 7 países
  • Direito de trabalhar no Reino Unido

Experiência

O que venho construindo

Engenheiro de software independente

Projetos próprios · Remoto, a partir do Reino Unido · Junho de 2026 – presente

  • Criei a arquitetura e dirigi a implementação, a crítica e os testes com auxílio de IA de uma plataforma de tarefas persistentes com interface nativa macOS.
  • Publiquei 58 releases por meio de um portão de release: fixação no commit, verificação prévia, bateria de testes base, recibo e rollback com um único comando.
  • Testes desenvolvidos com auxílio de IA: a execução completa registrada em 28 de outubro de 2026 aprovou 2.175 testes sem falhas.
  • Construí ferramentas de dados e verificação usadas em tarefas reais: comparação de preços, verificação de empresas, pesquisa multilíngue e extração de documentos.
  • Opero um servidor Linux próprio com Docker, fluxos do n8n, monitoramento e backups.

Princípios

Como trabalho

Passos pequenos e testados

Associo mudanças a testes relevantes e inspeciono o resultado. As versões podem ser revertidas.

Corrigir a causa

Quando algo quebra, encontro a causa, corrijo e transformo a falha em um teste para que ela não volte sem ninguém perceber.

Nunca adivinhar

Quando não há registro, escrevo “desconhecido” em vez de um palpite que pareça plausível.

Registros escritos

O que mudou, por quê e a evidência ao lado, para que qualquer pessoa possa continuar o trabalho.

Contato

Vamos trabalhar juntos

Precisa conectar um fluxo, concluir um aplicativo ou tornar uma função de IA confiável? Envie o objetivo, as tecnologias atuais e um exemplo do resultado esperado. Também considero vagas remotas de engenharia de software.

shaaf@vorthryss.com

  • Direito de trabalhar no Reino Unido
  • Baseado no Reino Unido · remoto para o mundo todo
  • Trabalho em inglês