Principal Software Engineer · AI Engineering · Open-source Contributor · Microsoft MVP · Codex Ambassador · Devin Ambassador
I'm a Principal Software Engineer based in Rio de Janeiro, Brazil, focused on AI engineering. I work across product problems, software architecture, and AI systems—helping teams turn ideas into implementations they can understand, evaluate, and maintain.
My work combines hands-on engineering with technical leadership, drawing on more than a decade of software development and developer education. I focus on the decisions behind a solution: how its parts fit together, where AI adds value, and how to verify that the result meets the need.
For me, adopting AI is not just choosing a model or generating code faster. It means working across product, design, architecture, engineering, and quality to decide what to build, what context an agent needs, and how to verify the result. I care about the trade-offs: quality versus speed, capability versus cost, and automation versus human judgment.
I'm co-author, with Salim Laimeche, of Building Agentic AI Apps with Next.js and TypeScript, forthcoming from Packt. The book explores RAG, MCP, context engineering, and multi-agent workflows in full-stack AI applications.
Available for pre-order. See Packt's listing for the current publication schedule.
- AI across the development lifecycle: turning requirements into specifications, small implementation slices, tests, and reviewable changes.
- Context and harness engineering: giving coding agents useful instructions, tools, feedback, and verification—not just longer prompts.
- AI applications and integrations: retrieval-augmented generation (RAG), LangChain.js, MCP integrations, and agent-based developer tools.
- Practical education: workshops, technical mentoring, talks, and open-source learning materials that explain the reasoning behind the code.
Explore: Applications & RAG · MCP & agents · Workshops · Experiments
A practical map of what I build and share: applications that use AI, tools that connect agents to software, and materials for learning how these systems work. Start with the problem that interests you; each project links to its code and guide.
| Project | What to explore | Main technologies | Format / resources |
|---|---|---|---|
| Decisions AI Demos — Alô, TI + Triagem | Explore structured decisions, optional voice, and human review in two local demo experiences. | Next.js, TypeScript, OpenAI Live, Decisions API | Local demo; mocked tests, live API not verified · Guide · Tutorial: EN / PT-BR |
| RepoCheckAI | AI-assisted repository analysis with prioritized findings. | TypeScript, GitHub Copilot SDK | Developer tool · Guide |
| PDF RAG Search | Ingest PDFs and answer questions with retrieved document context. | TypeScript, LangChain.js, Gemini, PostgreSQL/pgvector | RAG sample · Guide |
| AI Snippet | Text summarization through a full-stack application. | TypeScript, Express, Remix, MongoDB, GitHub Models | AI sample · Guide |
| Microblog AI — Next.js | Generate microblog content while exploring a full-stack AI workflow. | Next.js, TypeScript, LangChain.js, GitHub Models | Workshop + sample · Guide |
| Spam AI Detector | Compare structured and multi-step spam classification. | Next.js, LangChain.js, GitHub Models, Zod | Classification sample · Guide |
| Project | What to explore | Main technologies | Format / resources |
|---|---|---|---|
| Weather MCP Server | Expose weather queries to an AI assistant through MCP. | TypeScript, MCP, OpenWeatherMap, PostgreSQL, Redis | Integration sample · Guide |
| Star Wars MCP Server | Connect an assistant to characters, planets, and films from SWAPI. | TypeScript, MCP SDK, Zod, SWAPI | MCP tutorial · Guide |
| Todo List MCP Server | Manage tasks through MCP tools with runtime validation. | TypeScript, MCP SDK, Zod | MCP tutorial · Guide |
| LangGraph Email Workflow | Classify an email and route it toward a response draft. | TypeScript, LangGraph.js, LangChain.js, Express | Agent workflow tutorial · Guide |
| Calculator Agent | Understand a small function-calling loop with calculator tools. | TypeScript, OpenAI SDK, GitHub Models | Introductory sample · Guide |
| Project | What to explore | Main technologies | Format / resources |
|---|---|---|---|
| OpenAI Voice Labs | Build text-to-speech and realtime voice experiences with explicit security boundaries. | Next.js, OpenAI SDK, Agents SDK, WebRTC | Voice workshops · Guide |
| AI with JavaScript | Study AI application development, including speech-to-text with Whisper. | JavaScript/TypeScript, Azure OpenAI, Whisper | Learning curriculum · Guide |
| From PRD to PR with Codex | Evolve the Nexo starter using specifications, context, tests, and review. | Next.js, React, TypeScript, Codex | AI PDLC workshop · Guide |
| DevDay Exchange — Rio | Reproduce community demos and guided labs for AI development workflows. | Codex, Dots, Decisions API, TypeScript | Event labs · Guide |
| LangChain.js v1 Examples | Explore agents, tools, and middleware in focused examples. | TypeScript, LangChain.js, GitHub Models | Live-session examples · Guide |
| LLMs from the Inside | Explore tokenization, attention, generation, and inference through visual explanations. | HTML, JavaScript; Python build scripts | Episode 1 ready; later episodes planned · Guide |
Experiments & work in progress
These projects make their current boundaries explicit. Experimental results are not general performance guarantees, and planned capabilities are not completed features.
| Project | What to explore | Main technologies | Format / resources |
|---|---|---|---|
| KnowHub | Build a local-first knowledge manager; semantic retrieval and AI Q&A remain in progress. | TypeScript, NestJS, SQLite, Ollama integration | In development · Guide |
| Coding Agent Context Experiments | Compare context-management workflows with explicit protocols and recorded observations. | Coding agents, context manifests, handoffs | Exploratory research · Guide |
| Memory Outside the Chat | Explore short handoffs and source-linked registries for long AI conversations. | Python scripts, OpenAI API | Draft tutorial; preliminary evidence · Guide |
| Local Semantic Search | Experiment with Gemini embeddings and a local vector index. | TypeScript, LangChain.js, Gemini, Vectra | Search sample · Guide |
| Python AI API | Explore text-generation and chat endpoints with GitHub Models. | Python, FastAPI, OpenAI SDK, Pydantic | Backend prototype · Guide |
The guides document setup, credentials, and project-specific limits. These are samples, tools, workshops, and experiments—not a blanket claim of production readiness or a guarantee that every hosted demo is running.
Open source is a central part of how I learn, build, and teach. Earlier in my career, I was a Developer Advocate at Microsoft, working with JavaScript, TypeScript, cloud applications, and AI. That chapter remains part of my engineering background:
- Serverless AI Chat with RAG: contributions to a document-grounded chat sample using LangChain.js, Azure Functions, and Cosmos DB, including response streaming and step-by-step learning materials. A practical setting for exploring local inference with Ollama versus managed Azure services, retrieval quality, and deployment complexity.
- Microblog AI: my work on an AI-assisted microblogging sample with Remix and Azure OpenAI, including migration work from Static Web Apps to Container Apps. A useful example for discussing rendering, hosting, and deployment choices—not just calling a model.
- Contoso Real Estate: contributions to a composable JavaScript reference application, alongside live sessions explaining the project and open-source contribution. Now archived: included here as part of my contribution history, not as an actively maintained deployment template.
- Generative AI for Beginners: contributions to open learning material, including function-calling examples.
My community background also includes Node.js and React localization, technical writing, and live coding. I care about making technical knowledge accessible and helping more people take part in open source.
I'm a Microsoft MVP, Codex Ambassador, and Devin Ambassador based in Rio de Janeiro. I organize workshops and meetups that bring the local software and AI communities together to learn, build, and exchange practical experiences.
Recent examples include the Codex Community Meetup — Rio de Janeiro and DevDay Exchange Community — Rio de Janeiro. I also share hands-on event materials so that learning can continue after the meetup.
I create content in Portuguese and English. Whether I'm teaching TypeScript, exploring RAG, or working through a change with a coding agent, I want people to understand what is happening under the hood, question the output, and build with confidence.
Interested in a workshop, technical mentoring, or a talk? Explore my website or connect with me on LinkedIn.
Tools I use across public projects, learning materials, and engineering work—not a list of certifications.
AI applications & developer tooling
Application engineering
Data & retrieval
Cloud providers & containers
Testing & delivery
- A verdadeira guerra da IA é pelo menor custo?
- Graph Engineering? Outro conceito?!
- Build in Public: Melhorias no Repo Doctor com Copilot CLI + Copilot SDK #02
- Build in Public: Melhorias no Repo Doctor com Copilot CLI + Copilot SDK
- Copilot SDK na Prática: Criando um Agente de Análise de Repos
- Construí um Agentic CLI Tool com IA usando o Copilot SDK — Conheça o Repo Doctor!
- Repo Doctor - AI-powered GitHub Repository Health Analyzer
- StackSpot AI: Transforme Seu Fluxo de Desenvolvimento com Agentes Inteligentes
- Close Those 20 Browser Tabs: How MCP Servers Bring Documentation into VS Code
- From Zero to MCP: Building a Model Context Protocol Server with TypeScript and the Star Wars API







