<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Ai on Victor Salles</title><link>https://victorsalles.com/en/tags/ai/</link><description>Recent content in Ai on Victor Salles</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 22 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://victorsalles.com/en/tags/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>Building an Offline Voice System for macOS</title><link>https://victorsalles.com/en/posts/building-offline-voice-system-macos/</link><pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate><guid>https://victorsalles.com/en/posts/building-offline-voice-system-macos/</guid><description>How I built a fully offline text-to-speech and speech-to-text system for macOS using Kokoro-82M and mlx-whisper — no cloud APIs, streaming audio in under a second.</description></item><item><title>Multi-Agent Dev Team</title><link>https://victorsalles.com/en/projects/multi-agent-dev-team/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://victorsalles.com/en/projects/multi-agent-dev-team/</guid><description>&lt;h2 id="structured-ai-agent-teams-with-memory-and-coordination">Structured AI agent teams with memory and coordination&lt;/h2>
&lt;p>Most people interact with AI assistants one prompt at a time. I wanted to see what happens when you design a full development team of AI agents — each with a defined role, personality, diagnostic methodology, and persistent memory — and have them collaborate on real engineering work.&lt;/p>
&lt;p>&lt;strong>The setup:&lt;/strong>&lt;/p>
&lt;p>Five specialized agents, each with a distinct archetype and working style:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Leader&lt;/strong> — Delegation, scoping, planning. Operates through a 5-field briefing format and dual quality gates.&lt;/li>
&lt;li>&lt;strong>Backend&lt;/strong> — Django/DRF/Postgres specialist with a diagnostic loop that has a hard stop: after 2 failed hypotheses, escalate instead of brute-forcing.&lt;/li>
&lt;li>&lt;strong>Frontend&lt;/strong> — Next.js/TypeScript, 4-states rendering rule, and a QA checklist that runs before any PR.&lt;/li>
&lt;li>&lt;strong>Designer&lt;/strong> — Full state specifications and a feasibility gate that forces consideration of edge cases before committing to designs.&lt;/li>
&lt;li>&lt;strong>Security&lt;/strong> — 7-category Django-aware review that runs after every Backend or Frontend task, before the second quality gate.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Memory architecture:&lt;/strong>&lt;/p></description></item><item><title>Daily AI Briefs</title><link>https://victorsalles.com/en/projects/daily-ai-briefs/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><guid>https://victorsalles.com/en/projects/daily-ai-briefs/</guid><description>Automated daily summaries of AI news and developments, generated by AI agents and delivered on schedule.</description></item><item><title>Voice Automation</title><link>https://victorsalles.com/en/projects/voice-automation/</link><pubDate>Sun, 01 Mar 2026 00:00:00 +0000</pubDate><guid>https://victorsalles.com/en/projects/voice-automation/</guid><description>&lt;h2 id="offline-voice-io-for-macos">Offline voice I/O for macOS&lt;/h2>
&lt;p>A complete text-to-speech and speech-to-text system for macOS that runs entirely on-device. No cloud APIs, no subscriptions — just local AI models doing real work.&lt;/p>
&lt;p>&lt;strong>The problem:&lt;/strong> I spend hours reading and writing text on screen. I wanted a way to have my Mac read anything to me with a single hotkey, and transcribe audio without sending data to external servers.&lt;/p>
&lt;p>&lt;strong>What it does:&lt;/strong>&lt;/p>
&lt;p>Press &lt;code>⌥S&lt;/code> and whatever text you&amp;rsquo;ve selected (or copied) gets read aloud using Kokoro-82M, an 82-million parameter TTS model running locally on Apple Silicon. The system automatically detects whether the text is Portuguese or English and picks the right voice. Audio starts streaming in under a second — no temp files, no waiting for the full synthesis to finish.&lt;/p></description></item></channel></rss>