# Bruno Sartori > Senior software engineer from Brazil: C#/.NET on the backend, TypeScript and React on the front-end, OTT and smart TV experience, and AI agents in the daily workflow. I'm a backend developer from Brazil, working mostly with C# and .NET these days. Before that I spent years on the front-end: React, TypeScript, multi-tenant platforms and OTT apps for Samsung Tizen, LG webOS and Chromecast. Lately I've been going deep on AI. Agents help me research, plan, write and test code every day, and the calls on what ships are still mine. - Role: Senior Software Engineer - Location: São Paulo, Brazil (UTC−3), remote - Email: brunosartori.dev@gmail.com - GitHub: https://github.com/bruno-sartori - LinkedIn: https://www.linkedin.com/in/bruno-sartori-dev - Medium: https://medium.com/@brunosartori.dev - X: https://x.com/brunosartoridev ## How I work with AI 1. **Context** (shared): Curated knowledge bases, docs and ADRs, so agents start from facts instead of guesses. 2. **Plan** (human): The agent drafts a plan. I push back on it, cut scope and pick the trade-offs. 3. **Execute** (agent): Agents write code, run tests and reach real systems through MCP tools and custom skills. 4. **Verify** (human): Tests, diffs and review. Nothing is committed, deployed or published until a human approves it. - **Agentic coding**: Claude Code is my daily pair programmer. I use plan mode for bigger changes, subagents for research in parallel, and hooks to enforce project rules. - **Custom skills**: Packaged, reusable instructions that teach agents a team's workflows, such as syncing a docs site into a project wiki from start to finish. - **Living knowledge bases**: Raw docs go in and a structured wiki comes out. An agent tracks release history, breaking changes and contradictions, all checked against the source. - **MCP integrations**: Connecting models to real systems through the Model Context Protocol: repos, trackers, APIs, even my anime list. - **Personal agents**: Small autonomous helpers that search and rank things against explicit criteria. The final call stays with me. - **Guardrails first**: Permissions, approvals and review gates are built into the loop. Agents move fast, and anything irreversible waits for a human. ## Stack - Engineering: C#, .NET, TypeScript, Node.js, React, Next.js, React Native, AWS, Samsung Tizen, LG webOS, Chromecast, OTT & video, Analytics & tagging, SEO - AI: Claude Code, Claude API, Model Context Protocol, Agent skills, Subagents, Hooks, Context engineering, Knowledge bases, Prompt design - Education: Postgraduate degree in Internet of Things; Degree in Systems Analysis & Development · IFSP ## Pages - [Home](https://www.brunosartori.dev/): overview, AI workflow, stack, contact - [Projects](https://www.brunosartori.dev/projects): public GitHub repositories with READMEs - [Blog](https://www.brunosartori.dev/blog): articles, mirrored from Medium ## Projects - [personal-website](https://www.brunosartori.dev/projects/personal-website) [TypeScript]: My personal website where I post my Articles and Open Source Projects. - [fuzzy-engine](https://www.brunosartori.dev/projects/fuzzy-engine) - [go-blockchain](https://www.brunosartori.dev/projects/go-blockchain) [Go] - [github-medium-rss](https://www.brunosartori.dev/projects/github-medium-rss) [TypeScript]: Show your recent published articles from Medium on your GitHub README. - [angular-cms](https://www.brunosartori.dev/projects/angular-cms) [HTML]: Test project for exercising AngularJS - [kitsune-server](https://www.brunosartori.dev/projects/kitsune-server) [TypeScript] - [kitsune](https://www.brunosartori.dev/projects/kitsune) [TypeScript] - [handmade-hero](https://www.brunosartori.dev/projects/handmade-hero) [C++]: Study repository for Casey Muratori's Handmade Hero series which is a game from scratch using only C++ and no libraries - [file-uploader-front](https://www.brunosartori.dev/projects/file-uploader-front) [TypeScript]: A content management component that can be attached to any web application. - [weeb-logger](https://www.brunosartori.dev/projects/weeb-logger) [HTML]: A visual logging tool with your favorite waifu - [trabalho-final-pci](https://www.brunosartori.dev/projects/trabalho-final-pci) [C++] - [jarcl](https://www.brunosartori.dev/projects/jarcl) [TypeScript]: Just Another React Components Library - [skill-monitoring](https://www.brunosartori.dev/projects/skill-monitoring) [Python] - [imageGenerator](https://www.brunosartori.dev/projects/imageGenerator) [Python] - [self-driving-car](https://www.brunosartori.dev/projects/self-driving-car) [Python] ## Posts - [How to Set Up Dependabot for Automated Dependency Management](https://www.brunosartori.dev/blog/how-to-set-up-dependabot-for-automated-dependency-management-b0d83aa14a9e) (2024-11-16): Dependabot is a tool created by GitHub to automate the dependency management of your project. It monitors your project’s dependencies and automatically creates pull requests to… - [How to add Structured Data Markup to your Website](https://www.brunosartori.dev/blog/how-to-add-structured-data-markup-to-your-website-63d23258504b) (2024-11-06): Search Engine Optimization (SEO) is crucial for any business who wants to be successful in the online world. One powerful tool that has emerged in recent years is structured data… - [How to create and publish an NPM unscoped and scoped package with Typescript](https://www.brunosartori.dev/blog/how-to-create-and-publish-an-npm-unscoped-and-scoped-package-with-typescript-d7ef66e41c6f) (2024-09-20): Have Node.js installed, a good option for managing multiple versions of Node.js on your PC is to install it via NVM . It also has a Windows version . An account created on… - [Mastering NPM Link: Simplifying Local Dependency Management](https://www.brunosartori.dev/blog/mastering-npm-link-simplifying-local-dependency-management-0b1abd288935) (2024-09-14): When creating NPM packages, you will eventually need to debug your package by installing it in another NodeJS project to see how your package behaves as a dependency. Well, you… - [Using Husky to help you avoid f****ing up semantic versioning](https://www.brunosartori.dev/blog/using-husky-to-help-you-avoid-f-ing-up-semantic-versioning-8098eb3d74d1) (2024-09-08): The use of Semantic Versioning is very important to keep your users informed about changes that may impact how they interact with the software, maintain compatibility between… - [A Practical Guide to Semantic Versioning: How and When to Update Your Versions](https://www.brunosartori.dev/blog/a-practical-guide-to-semantic-versioning-how-and-when-to-update-your-versions-406708ceef3d) (2024-08-30): Semantic versioning is a convention for naming software versions in a way that clarifies what updates kinds of updates is made in an application or library. The main idea is to… - [How to Highlight Your GitHub Repositories on LinkedIn](https://www.brunosartori.dev/blog/how-to-highlight-your-github-repositories-on-linkedin-2d3a120e9592) (2024-08-26): If you’re a programmer, you’ve probably thought about posting your GitHub projects on LinkedIn to both enhance your project’s visibility and allow recruiters to gain a better…