<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Valancio Dsouza</title>
    <description>The latest articles on DEV Community by Valancio Dsouza (@psycgod).</description>
    <link>https://dev.to/psycgod</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4021825%2Fef383a08-5617-4248-aefb-45bd66a0e84b.jpg</url>
      <title>DEV Community: Valancio Dsouza</title>
      <link>https://dev.to/psycgod</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/psycgod"/>
    <language>en</language>
    <item>
      <title>Building a Python Curriculum That Starts Before You've Opened a Terminal</title>
      <dc:creator>Valancio Dsouza</dc:creator>
      <pubDate>Thu, 30 Jul 2026 21:11:53 +0000</pubDate>
      <link>https://dev.to/psycgod/building-a-python-curriculum-that-starts-before-youve-opened-a-terminal-22o5</link>
      <guid>https://dev.to/psycgod/building-a-python-curriculum-that-starts-before-youve-opened-a-terminal-22o5</guid>
      <description>&lt;p&gt;Most "beginner" Python courses aren't actually beginner courses. Lesson one usually opens with variables or print(), quietly assuming you already know what a terminal is, how to install something, or what a .py file even means. That assumption is exactly where most self-taught learners bounce — not because Python is hard, but because the ten minutes of orientation that would've made everything after it make sense got skipped.&lt;/p&gt;

&lt;p&gt;I built Codes Are Simple to start there instead. Session 1, Level 1: what is code, where do you type it, how do you open Command Prompt, how do you install Python and verify it worked. Nothing assumed.&lt;/p&gt;

&lt;p&gt;What it actually is&lt;/p&gt;

&lt;p&gt;A 45-session, self-paced curriculum — Python: The Universal Language, Zero to Pro — split into 10 tiers, from absolute foundations through OOP, files/errors, practical CLI projects, web/APIs, databases, and a final professional capstone. It's the first of a planned multi-track catalog on the same platform (web dev, AI, cyber, and data are mapped and coming next).&lt;/p&gt;

&lt;p&gt;Every lesson — all of them, across all 45 sessions — follows the same repeating shape:&lt;/p&gt;

&lt;p&gt;explanation → main example → 2 extra examples (variations/edge cases)&lt;br&gt;
→ common mistake (shown alongside its fix) → practice → extra practice&lt;/p&gt;

&lt;p&gt;That "common mistake" section is the part I actually care about most. Almost every course I looked at shows only the correct code. This one shows what actually breaks for a beginner and why — because for someone learning alone with no instructor in the room, the error message is usually where the real learning happens, not the clean solution.&lt;/p&gt;

&lt;p&gt;Checkpoints land at fixed points mid-session (after Level 2, Level 6, and Level 9 — not just at the end), and every session closes with a real capstone project, not a toy exercise.&lt;/p&gt;

&lt;p&gt;The stack&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cloudflare Workers + Pages + R2 — the site and all curriculum content, served as versioned JSON per session&lt;/li&gt;
&lt;li&gt;GitHub — version control for the whole content pipeline&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last point is the part I think this community will actually find interesting.&lt;/p&gt;

&lt;p&gt;The part I don't usually see people talk about&lt;/p&gt;

&lt;p&gt;Writing 45 sessions × ~10 lessons each is the easy part to brag about. What's harder — and what almost never gets mentioned in launch posts — is that a chunk of that content had real, boring structural bugs: duplicate lessons that taught the same thing twice under different level numbers, checkpoint quizzes with the wrong number of questions, content that had drifted into the wrong session entirely. Nothing dramatic, just the kind of contamination you get when you're moving fast across hundreds of files.&lt;/p&gt;

&lt;p&gt;I went through it file-by-file before launch — not with a script, by actually opening the files — and fixed what I found instead of shipping the first draft and calling it done. If you've ever built something content-heavy at scale (docs, course material, a knowledge base), I'd genuinely like to hear how you handle QA for that — automated tests don't map cleanly onto "is this lesson pedagogically sound," and I'd love other approaches.&lt;/p&gt;

&lt;p&gt;Try it&lt;/p&gt;

&lt;p&gt;Session 1 is free, no signup wall:&lt;br&gt;
👉 &lt;a href="https://codesaresimple.marketingstudios.in/session.html?c=python&amp;amp;s=1" rel="noopener noreferrer"&gt;https://codesaresimple.marketingstudios.in/session.html?c=python&amp;amp;s=1&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The price of the sessions &amp;amp; full course is deliberately Low not bootcamp pricing — with scholarship support for anyone who can't cover that.&lt;/p&gt;

&lt;p&gt;Would love feedback from this crowd specifically on the teaching structure (the "show the mistake, not just the fix" approach) and on how you'd think about content QA at this scale if you've dealt with something similar.&lt;/p&gt;

</description>
      <category>python</category>
      <category>beginners</category>
      <category>education</category>
      <category>showdev</category>
    </item>
    <item>
      <title>After getting 2k+ Clone Im getting SAGE GUI Electron in Soon: From a wrapper/MCP to an AI Coding Agents, API Traveller, MCP, and Token-Saving in One.</title>
      <dc:creator>Valancio Dsouza</dc:creator>
      <pubDate>Fri, 17 Jul 2026 14:03:44 +0000</pubDate>
      <link>https://dev.to/psycgod/sage-gui-electron-is-coming-from-a-wrappermcp-to-an-ai-coding-agents-api-traveller-mcp-and-2i1j</link>
      <guid>https://dev.to/psycgod/sage-gui-electron-is-coming-from-a-wrappermcp-to-an-ai-coding-agents-api-traveller-mcp-and-2i1j</guid>
      <description>&lt;p&gt;I’m building &lt;strong&gt;SAGE GUI - Electron&lt;/strong&gt;, a local-first desktop app for AI coding workflows.&lt;/p&gt;

&lt;p&gt;SAGE lets you run commands safely with:&lt;/p&gt;

&lt;p&gt;pip install psycgod-sage&lt;br&gt;
Or&lt;br&gt;
npm install -g psycgod-sage&lt;br&gt;
Or &lt;br&gt;
Use MCP Server&lt;/p&gt;

&lt;p&gt;It tracks command output, compresses noisy logs, shows tokens used, estimates token savings/cost savings, and keeps raw data local.&lt;/p&gt;

&lt;p&gt;The GUI will support multiple AI providers and keys. With &lt;strong&gt;API Traveller&lt;/strong&gt;, users can add multiple API keys/base URLs, rotate automatically when one fails, and route across providers like OpenRouter, Gemini, Groq, and Ollama.&lt;/p&gt;

&lt;p&gt;Inside the app, SAGE can show:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;code output&lt;/li&gt;
&lt;li&gt;tool output&lt;/li&gt;
&lt;li&gt;tokens used this session&lt;/li&gt;
&lt;li&gt;total compressed/saved tokens&lt;/li&gt;
&lt;li&gt;estimated cost saved per model/provider&lt;/li&gt;
&lt;li&gt;live dashboard metrics&lt;/li&gt;
&lt;li&gt;project-based chats&lt;/li&gt;
&lt;li&gt;MCP server support for local tools and agent workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;SAGE GUI is still in the making, and I’m aiming to publish it by &lt;strong&gt;August&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/PsYcGoD/sage" rel="noopener noreferrer"&gt;https://github.com/PsYcGoD/sage&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Live Public dashboard: &lt;a href="https://sage.api.marketingstudios.in/" rel="noopener noreferrer"&gt;https://sage.api.marketingstudios.in/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
Glama MCP: &lt;a href="https://glama.ai/mcp/servers/PsYcGoD/sage" rel="noopener noreferrer"&gt;https://glama.ai/mcp/servers/PsYcGoD/sage&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;SAGE is for developers who want AI coding agents to be more local, trackable and less messy.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>psycgodsage</category>
    </item>
    <item>
      <title>I Analyzed 4,788 AI Coding Sessions — Here's Where Your Tokens Actually Go</title>
      <dc:creator>Valancio Dsouza</dc:creator>
      <pubDate>Sat, 11 Jul 2026 12:18:45 +0000</pubDate>
      <link>https://dev.to/psycgod/i-analyzed-4788-ai-coding-sessions-heres-where-your-tokens-actually-go-lem</link>
      <guid>https://dev.to/psycgod/i-analyzed-4788-ai-coding-sessions-heres-where-your-tokens-actually-go-lem</guid>
      <description>&lt;p&gt;Last month I started tracking every command I ran through Claude Code, Cursor, and Aider. After 4,788 commands and 355 million tokens, I found something shocking:&lt;/p&gt;

&lt;p&gt;97.6% of my tokens were wasted on noise.&lt;/p&gt;

&lt;p&gt;Not on actual coding. Not on debugging. On repetitive test output, build logs, and progress bars that the AI didn't need to see.&lt;/p&gt;

&lt;p&gt;THE NUMBERS&lt;/p&gt;

&lt;p&gt;Commands tracked: 4,788&lt;br&gt;
Total tokens processed: 355,785,039&lt;br&gt;
Tokens that were actual content: 8,694,751&lt;br&gt;
Tokens that were noise: 347,090,288&lt;br&gt;
Waste rate: 97.6%&lt;/p&gt;

&lt;p&gt;WHERE THE WASTE COMES FROM&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Test Output (99.7% waste)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Running pytest on a project with 1000 tests generates around 14,000 tokens. After filtering to just failures and summaries: 38 tokens.&lt;/p&gt;

&lt;p&gt;Every "PASSED" line, every progress dot, every timing stat — the AI doesn't need any of it to help you fix the failing test.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build Logs (99.4% waste)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A typical webpack or tsc build dumps 300+ lines. The only lines that matter: errors and warnings. That's usually 5-10 lines.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Package Manager Output (97% waste)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;npm install produces pages of resolution trees, audit notices, and funding requests. What you actually need: "installed" or the error message.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Git Status (96.9% waste)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;50 modified files = 254 tokens. What you usually care about: "these 3 files in src/". About 8 tokens.&lt;/p&gt;

&lt;p&gt;THE ONE EXCEPTION: STACK TRACES&lt;/p&gt;

&lt;p&gt;Interestingly, stack traces showed almost 0% compression opportunity. Every line matters for debugging. The AI actually needs to see the full trace.&lt;/p&gt;

&lt;p&gt;This makes sense — stack traces are information-dense. Test output is the opposite.&lt;/p&gt;

&lt;p&gt;WHAT THIS MEANS FOR YOUR WALLET&lt;/p&gt;

&lt;p&gt;At Claude's Sonnet pricing ($3/million input tokens), my 347 million wasted tokens = $1,041 burned on noise.&lt;/p&gt;

&lt;p&gt;With Opus ($15/million), that's $5,206.&lt;/p&gt;

&lt;p&gt;And I'm just one developer. Multiply this across a team.&lt;/p&gt;

&lt;p&gt;THE FIX&lt;/p&gt;

&lt;p&gt;The solution isn't to use AI less. It's to filter what you send it.&lt;/p&gt;

&lt;p&gt;Before:&lt;br&gt;
pytest output with 1000 tests showing every PASSED line = 14,006 tokens&lt;/p&gt;

&lt;p&gt;After filtering:&lt;br&gt;
Just the failure message and summary = 38 tokens&lt;/p&gt;

&lt;p&gt;Same information. 99.7% fewer tokens.&lt;/p&gt;

&lt;p&gt;MY TAKEAWAYS&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Test output is the #1 token killer — it accounted for 343 million of my 347 million wasted tokens&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build tools are chatty by design — they're made for humans scrolling terminals, not AI context windows&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stack traces are sacred — don't compress them, you'll lose debugging context&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Progress bars are pure waste — those loading bars mean nothing to an AI&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;TRY IT YOURSELF&lt;/p&gt;

&lt;p&gt;Track your next 100 AI coding sessions. Count the tokens going in. I bet you'll find similar numbers.&lt;/p&gt;

&lt;p&gt;The AI coding revolution is here. But we're paying 40x more than we need to because our tools were built for human terminals, not AI context windows.&lt;/p&gt;




&lt;p&gt;Data collected over 7 days using local token counting with tiktoken. All commands run through Claude Code, Cursor, and Aider on real projects.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>productivity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Did you guys know about this tool "S.A.G.E - CLI" that saved me $45 in AI tokens by compressing terminal output 93% in just 3 days of using it.</title>
      <dc:creator>Valancio Dsouza</dc:creator>
      <pubDate>Wed, 08 Jul 2026 19:18:48 +0000</pubDate>
      <link>https://dev.to/psycgod/did-you-guys-know-about-this-tool-sage-cli-that-saved-me-45-in-ai-tokens-by-compressing-2df1</link>
      <guid>https://dev.to/psycgod/did-you-guys-know-about-this-tool-sage-cli-that-saved-me-45-in-ai-tokens-by-compressing-2df1</guid>
      <description>&lt;p&gt;I've been using AI coding assistants (Claude, Codex, etc.) and kept hitting token limits because terminal output is SUPER noisy. A single &lt;code&gt;pytest&lt;/code&gt; command can eat 30,000 tokens of your context.&lt;br&gt;
So I started using &lt;strong&gt;SAGE&lt;/strong&gt; (Smart Agent Guidance Engine) - it sits between your terminal and AI agents, compressing output by 93% while keeping all the important stuff.&lt;br&gt;
CLI install pip install psycgod-sage&lt;br&gt;
sage connect (Git OAuth)&lt;br&gt;
What it does:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wraps your commands: &lt;code&gt;sage run -- pytest&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Compresses output in real-time (30k tokens → 2k)&lt;/li&gt;
&lt;li&gt;10+ specialized agents watch for errors, secrets, dependencies&lt;/li&gt;
&lt;li&gt;ML learns your command patterns to predict failures&lt;/li&gt;
&lt;li&gt;Everything stays local by default (privacy-first)
Real numbers from my usage:&lt;/li&gt;
&lt;li&gt;Processed: 6,613 commands&lt;/li&gt;
&lt;li&gt;Saved: 15.3 million tokens (would cost ~$45 at Claude Sonnet rates)&lt;/li&gt;
&lt;li&gt;Agent runs: 41,578 (caught secrets, predicted errors, etc.)
Why I'm sharing:
It's a open-source, free and because I figured others hit the same problem. It's MIT licensed, runs locally, and has a live dashboard showing aggregate proof (no raw data).
Repo &lt;strong&gt;GitHub:&lt;/strong&gt; /PsYcGoD/sage
The compression alone saves tokens, but the agents catching secrets before you commit them? That's saved me a few times already.
Questions welcome! Would love feedback from the community.†&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
