M. MachucaDesenvolvedor de Soluções em IA
EN

A-01Planta geral

Marcelo Machuca

Desenvolvedor de Soluções em IA

Desenho sistemas de IA e conduzo os agentes que escrevem o código. Meu trabalho é a arquitetura, os limites e as provas: testes, métricas e custo.

Brasil · aberto a primeiras oportunidades

  • Linha clara: o que eu desenho
  • Laranja: os agentes que constroem

A-02Método

Como eu construo

Vibe-coding com disciplina de engenharia. Eu desenho o sistema e fixo os limites, uma frota de agentes escreve o código e nada entra sem prova.

  1. Desenho

    Arquitetura, contratos e specs antes do código (OpenSpec, ADRs).

    A-02.1 · o esquadro na planta

  2. Delego

    Uma frota de agentes escreve o código em paralelo. Tenho um orquestrador próprio que roda Claude Code, Codex, Gemini e Cursor Agent como um runtime só.

    A-02.2 · as quatro faixas laranja

  3. Verifico

    Testes, release gates, evals e revisão de diff. Nada é “pronto” sem evidência.

    A-02.3 · o portão que todo agente atravessa

  4. Meço

    Telemetria e custo por cliente em produção (é o que o LumenAI faz).

    A-02.4 · ligado ao módulo M-01

A-03Projetos

Projetos

Sete módulos na planta. Ao rolar, a frota de agentes ergue cada um; a altura do volume segue o log do número de commits.

  1. M-01LumenAI SDKpúblico · PyPI
  2. M-02Sublinheprivado
  3. M-03SynapseEngineprivado
  4. M-04Task Dashboardpúblico
  5. M-05Axon Voiceprivado
  6. M-06VoiceLaunch TTSpúblico
  7. M-07Nexo Assistpúblico
M-01públicoPyPI 0.1.659 commits

LumenAI SDK

Python · OpenTelemetry

Transforma traces de GenAI em custo por cliente, em dólar, exportando só metadados, nunca prompts.

tenantcustonormalização

Três processadores encadeados. Um span fica cobrado no tenant em que começou.

A 0.1.5 cobra a escrita de cache, marca como unpriced o evento que ficou sem preço, avisa quando um tenant chega a 80% e a 100% do orçamento (BudgetExporter) e ganhou testes com bibliotecas de instrumentação reais. A 0.1.6 guarda o orçamento no Redis: vários processos somam no mesmo total, que sobrevive a reinícios, e cada alerta dispara uma vez só.

Conferido contra uma conta real: em 6 chamadas reais do Axon Voice pela OpenRouter (gpt-4o-mini, com cache), o custo do LumenAI foi igual ao cobrado pela OpenRouter em cada chamada, US$ 0,00143115 no total, diferença zero. Ver a tabela ↗

Demo ao vivo · cada span passa pela cadeia do LumenAI e vira custo por tenant
Evento real da demo
tenant globex-legal · claude-sonnet-4-6 · 40.000→2.000 tokens · cache 30.000 · US$ 0,159
testes
222
pacotes no PyPI
3
demo reproduzível
3 tenants · US$ 0,19 no total
M-02privadoMVP fechado em 05 out 20261.140 commits

Sublinhe

BGE-M3 · FAISS · BM25 · FastAPI · React · iOS

RAG de corpus fechado feito para estudantes da saúde, a área de onde eu venho. Transforma material de aula e provas antigas em flashcards, questões e treino oral, sempre citando a página.

BGE-M3 + FAISS + BM25fusão RRFrerankerevals com juiz LLM

Quando o material não sustenta a resposta, ele se abstém.

Tela de estudo do Sublinhe: um flashcard com o trecho de origem, o nome do PDF e a página citada
Captura do repositório · tela de estudo: cada cartão traz o PDF e a página de origem
commits
1.140
MVP fechado
05 out 2026
stack
FastAPI · React · iOS

repositório privado · case na entrevista

M-03privadoRust758 commits

SynapseEngine

Memória para agentes via MCP: PageRank personalizado sobre um store bitemporal.

Um firewall pré-execução inspeciona cada comando de shell que um agente propõe. A telemetria mostra só números que de fato mediu.

758 commits desde 13 set 2026

repositório privado · case na entrevista

M-04público3 commits

Task Dashboard

Painel local, só leitura, que mostra o que um agente de código está fazendo sem gastar tokens de modelo (polling com ETag/304).

Zero dependências de runtime. Widget MCP para Claude, Codex e Antigravity.

M-05privadoem finalização257 commits

Axon Voice

Parceiro de trabalho por voz, local, que responde com fontes e aprende com você.

voz → Whisper → busca paralela (memória vetorial · base de conhecimento · grafo Neo4j) com fusão RRF → LLM local (Ollama) ou na nuvem → voz frase a frase

Cita a página exata ou diz que não sabe (RAG corretivo com LangGraph). Guarda o que você afirma num grafo de conhecimento com datas. Um orbe sempre visível: segure o Ctrl direito para falar de qualquer app.

1.622 testes · E2E com Playwright · nenhum teste chega à nuvem

Axon Voice no modo cinema: a resposta aparece frase a frase no ritmo da fala, com a fonte citada ao lado
Do vídeo de demo do repositório · modo cinema, legenda no ritmo da fala e a fonte citada

Ver o estudo de caso e o vídeo →

Repositório privado · demonstração e decisões nesta página

M-06públicov1.3.194 commits

VoiceLaunch TTS

TypeScript · Electron · React · Python FastAPI

Transforma digitação em um microfone de verdade para Discord e jogos.

Edge TTS online, com fallback automático para Kokoro/Piper locais quando a rede cai. O microfone virtual (VB-Cable) vem junto.

Site público do VoiceLaunch TTS: a frase digitada vira um microfone virtual no Discord
Site público · skarl007.github.io/sound_voice

165 testes Vitest · E2E com Playwright · recursos de acessibilidade

M-07públicodesafio técnico154 commits

Nexo Assist

Next.js 16 · Mastra · GPT-6 Luna (OpenRouter) · Drizzle + Turso · React 19 · Redux Toolkit

Agente de service desk de TI, feito para o desafio técnico de um processo seletivo. Cada resposta mostra o que ele entendeu, o que fez e por quê.

chat do funcionárioagente Mastra · 11 toolsconsole do analista

O funcionário conversa com o agente, que tenta resolver pela central de ajuda com busca híbrida e pergunta “Isso resolveu?”. Quando não resolve, ele monta o chamado para a pessoa confirmar, avisa se o prazo está em risco e percebe quando várias pessoas relatam o mesmo problema.

Do outro lado, o analista acompanha as conversas em tempo real (SSE), com o relatório da conversa, uma sugestão de resposta e os indicadores. Se o GPT-6 Luna falha, o passo vai para o Gemini Flash Lite e o trace diz quem respondeu.

As regras do service desk (prioridade, prazo, confirmação, privacidade) ficam em código testado, e o código decide quais tools o modelo pode usar em cada passo. O modelo escolhido foi conferido depois num benchmark com 7 modelos, com custo real medido.

Chat do Nexo Assist: o agente reconhece um problema que outras pessoas já relataram, monta o rascunho do chamado com prioridade Alta e sobe o impacto para a equipe
Do vídeo de demo do repositório · 5:28, com música original de fundo e efeitos sonoros · prazo em risco e incidente em massa · efeitos sonoros: Pixabay
testes unitários
472
testes E2E
42
evals
36/36 · red team 21/21

busca híbrida 84% → 94% · funcionário simulado pass^1 0,72 → 0,93 · imagem Docker de 486 MB, 25/25 na prova de fumaça · CI no CircleCI e CD com Komodo puxando do Docker Hub, rodando

A-04Atividade

Atividade

GitHub · 26 out 2025 → 27 out 2026

contribuições
6.779
commits
5.690
pull requests
888
dias ativos
192
dias de maior sequência
45
contribuições no melhor dia
159

Planta-chave · calendário real, 53 semanas × 7 dias

Na planta 3D, cada dia vira uma pilha de blocos (1 bloco = até 5 contribuições) que os agentes empilham. Passe o cursor sobre uma pilha para ver o dia.

A-05Trajetória

Da medicina para a IA

Comecei na medicina. Hoje me preparo para o mercado de tecnologia construindo sistemas de IA de ponta a ponta: os agentes escrevem o código e eu respondo pela arquitetura e pelas provas. A faculdade de tecnologia vem a seguir.

  1. origem

    Medicina, a área de onde eu venho.

  2. lumen-ai-core publicado no PyPI.

  3. Axon Voice fechado para uso local.

  4. VoiceLaunch 1.3, primeiro release open source.

  5. SynapseEngine começa.

  6. Sublinhe, MVP fechado.

  7. LumenAI SDK, revisão profunda: spans OpenInference cobrados, flush real, demo reproduzível e dashboard.

  8. Axon Voice, nova versão: respostas com fontes, grafo de conhecimento e orbe sempre visível.

  9. Nexo Assist, agente de service desk de TI, entregue como desafio técnico.

A-06Contato

Contato

Brasil · aberto a primeiras oportunidades.