<?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: NITHESH SARAVANAN</title>
    <description>The latest articles on DEV Community by NITHESH SARAVANAN (@red-coder-27).</description>
    <link>https://dev.to/red-coder-27</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3310156%2Fbb6091eb-e5c9-4211-baa1-87273fe73220.jpeg</url>
      <title>DEV Community: NITHESH SARAVANAN</title>
      <link>https://dev.to/red-coder-27</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/red-coder-27"/>
    <language>en</language>
    <item>
      <title>I Finally Shipped FlowDesk — My All-in-One Productivity Dashboard Built with GitHub Copilot ⚡</title>
      <dc:creator>NITHESH SARAVANAN</dc:creator>
      <pubDate>Fri, 05 Jun 2026 18:35:56 +0000</pubDate>
      <link>https://dev.to/red-coder-27/i-finally-shipped-flowdesk-my-all-in-one-productivity-dashboard-built-with-github-copilot-2oie</link>
      <guid>https://dev.to/red-coder-27/i-finally-shipped-flowdesk-my-all-in-one-productivity-dashboard-built-with-github-copilot-2oie</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;FlowDesk&lt;/strong&gt; is a fully offline, production-quality productivity dashboard that combines three tools I always wanted in one place — a habit tracker, a Pomodoro focus timer, and a Kanban task board — all in a single beautiful React app with zero backend and zero accounts required.&lt;/p&gt;

&lt;p&gt;🔗 &lt;strong&gt;Live Demo:&lt;/strong&gt; &lt;a href="https://flow-desk-lovat.vercel.app/" rel="noopener noreferrer"&gt;https://flow-desk-lovat.vercel.app/&lt;/a&gt;&lt;br&gt;
💻 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/red-coder-27/flow-desk" rel="noopener noreferrer"&gt;https://github.com/red-coder-27/flow-desk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Everything runs entirely in your browser via localStorage. Your data never leaves your device.&lt;/p&gt;
&lt;h3&gt;
  
  
  Core Features
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;🎯 Habit Tracker&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub-style 84-day contribution heatmap&lt;/li&gt;
&lt;li&gt;Streak tracking with fire badges 🔥&lt;/li&gt;
&lt;li&gt;Emoji + color customization per habit&lt;/li&gt;
&lt;li&gt;Confetti celebration when you hit 100% for the day 🎉&lt;/li&gt;
&lt;li&gt;Daily/Weekdays/Weekends frequency options
&lt;strong&gt;⏱️ Pomodoro Focus Timer&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Animated SVG countdown ring with glow effect&lt;/li&gt;
&lt;li&gt;Web Audio API chimes — no audio files needed&lt;/li&gt;
&lt;li&gt;Session history log with weekly focus stats&lt;/li&gt;
&lt;li&gt;Keyboard shortcuts: Space / R / S from any page&lt;/li&gt;
&lt;li&gt;Auto-switches between work and break sessions
&lt;strong&gt;📋 Kanban Task Board&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Full drag-and-drop via @dnd-kit (mouse + touch)&lt;/li&gt;
&lt;li&gt;Priority badges: 🔴 High / 🟡 Medium / 🟢 Low&lt;/li&gt;
&lt;li&gt;Live search + priority filter&lt;/li&gt;
&lt;li&gt;Three columns: To Do → In Progress → Done
&lt;strong&gt;📊 Unified Dashboard&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Real stats pulled from all three modules&lt;/li&gt;
&lt;li&gt;Weekly focus bar chart (Recharts)&lt;/li&gt;
&lt;li&gt;Daily motivational quote&lt;/li&gt;
&lt;li&gt;Quick-action buttons to jump into any module
&lt;strong&gt;And more:&lt;/strong&gt; Dark/Light/System theme, PWA installable, full keyboard shortcuts, data export/import, mobile bottom nav, glassmorphism UI.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🚀 &lt;strong&gt;&lt;a href="https://flow-desk-lovat.vercel.app/" rel="noopener noreferrer"&gt;Try FlowDesk Live →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Works best in Chrome. Install as a PWA for the full experience (look for the Install button in the top nav).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Screenshots:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz9ugs9jju27olqqjnw4p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz9ugs9jju27olqqjnw4p.png" alt="Before vs After FlowDesk" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxvt04vx9e0af4diobls5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxvt04vx9e0af4diobls5.png" alt="Dashboard" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddfgnox37l1r304wszu1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddfgnox37l1r304wszu1.png" alt="Habits Heatmap" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffa38p28kwq5xwhg7zyp2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffa38p28kwq5xwhg7zyp2.png" alt="Focus Timer" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo266x920v9sa9p0o6ga2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo266x920v9sa9p0o6ga2.png" alt="Kanban Board" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Loom walkthrough video here:&lt;br&gt;
  &lt;a href="https://www.loom.com/share/f3c750d782694baf876229ab598695dc" rel="noopener noreferrer"&gt;https://www.loom.com/share/f3c750d782694baf876229ab598695dc&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Where It Started (The "Before")
&lt;/h3&gt;

&lt;p&gt;I originally started FlowDesk about 6 months ago during a weekend hackathon. The idea was simple: I was tired of switching between three different apps — one for habits, one for a Pomodoro timer, one for tasks. I wanted them all in one dashboard.&lt;/p&gt;

&lt;p&gt;What I had after that hackathon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A broken timer that reset on every page navigation&lt;/li&gt;
&lt;li&gt;A habit list with no streak logic whatsoever&lt;/li&gt;
&lt;li&gt;A Kanban board with hardcoded placeholder tasks that couldn't be deleted&lt;/li&gt;
&lt;li&gt;Zero mobile support&lt;/li&gt;
&lt;li&gt;An index.css file that was 47 lines of chaos
I pushed it to GitHub, opened 11 issues I never closed, and abandoned it. The repo sat untouched for months.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  What Changed (The "After")
&lt;/h3&gt;

&lt;p&gt;When the Finish-Up-A-Thon challenge dropped, I knew FlowDesk was the project. Here's what I shipped in this revival:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Timer reset on navigation&lt;/td&gt;
&lt;td&gt;Timer persists globally via React Context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No streak logic&lt;/td&gt;
&lt;td&gt;Bulletproof streak calc across timezone boundaries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hardcoded tasks&lt;/td&gt;
&lt;td&gt;Full drag-and-drop Kanban with localStorage&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No heatmap&lt;/td&gt;
&lt;td&gt;Pixel-perfect 84-day GitHub-style heatmap&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Desktop only&lt;/td&gt;
&lt;td&gt;Fully responsive + PWA installable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0 animations&lt;/td&gt;
&lt;td&gt;Glassmorphism, micro-animations, confetti&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Broken build&lt;/td&gt;
&lt;td&gt;Clean Vercel deploy, 0 console errors&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The biggest technical challenge was the &lt;strong&gt;timer persistence&lt;/strong&gt; — React state resets on component unmount, so navigating away killed the timer. The fix was lifting all timer state into a React Context that wraps the entire app, using a &lt;code&gt;useInterval&lt;/code&gt; custom hook that only lives at the context level. Once I understood that, everything clicked.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;heatmap&lt;/strong&gt; was the most satisfying piece to build — calculating 84 days of data, mapping completions across all habits per day, and rendering it in an SVG grid with correct month labels and tooltips took way more thought than I expected.&lt;/p&gt;


&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot was the difference between "I'll finish this someday" and "it's shipped."&lt;/p&gt;
&lt;h3&gt;
  
  
  Where It Helped Most
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Boilerplate elimination&lt;/strong&gt;&lt;br&gt;
The moment I described the &lt;code&gt;useHabits&lt;/code&gt; hook structure in a comment, Copilot generated the entire localStorage read/write pattern, the streak calculation logic, and the heatmap data transformation in one autocomplete. What would've been 45 minutes of typing was done in 3.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The streak algorithm&lt;/strong&gt;&lt;br&gt;
I described what I wanted in plain English as a comment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Calculate current streak: consecutive days ending today or yesterday&lt;/span&gt;
&lt;span class="c1"&gt;// Use local timezone toDateString() comparison, NOT UTC timestamps&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copilot wrote the correct algorithm on the first try, including the edge case where today isn't checked yet (streak = consecutive days ending yesterday). I verified it, it was right.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Web Audio API sounds&lt;/strong&gt;&lt;br&gt;
I had zero experience with the Web Audio API. I described "ascending 3-tone chime using OscillatorNode, no audio files" and Copilot generated a working playWorkComplete() function using AudioContext, GainNode, and scheduled oscillator timing. I tested it — it played a perfect chime.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. SVG timer ring&lt;/strong&gt;&lt;br&gt;
The animated stroke-dashoffset trick for the circular countdown was something I knew conceptually but hadn't coded before. Copilot filled in the exact math:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;circumference&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;PI&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;radius&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;offset&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;circumference&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;progress&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;...and wired it to the timeLeft state automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Unsticking moments&lt;/strong&gt;&lt;br&gt;
Whenever I hit a wall — like the @dnd-kit DragOverlay not rendering correctly, or the confetti only firing on refresh — I described the bug to Copilot in a comment and it suggested the fix. The DragOverlay issue was a missing &lt;code&gt;createPortal&lt;/code&gt; wrapper. Copilot caught it immediately.&lt;/p&gt;

&lt;h3&gt;
  
  
  What I Still Had To Do Myself
&lt;/h3&gt;

&lt;p&gt;Copilot isn't magic. I had to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Review every generated function for correctness (especially date logic)&lt;/li&gt;
&lt;li&gt;Architect the Context structure myself before Copilot could fill it in&lt;/li&gt;
&lt;li&gt;Write the validation prompt to catch bugs across the whole app&lt;/li&gt;
&lt;li&gt;Make design decisions about layout and UX&lt;/li&gt;
&lt;li&gt;Test everything manually and catch edge cases
The mental model I settled on: &lt;strong&gt;Copilot is a very fast junior developer who needs clear instructions and code review.&lt;/strong&gt; When I gave it precise comments and clear function signatures, it was extraordinarily fast. When I was vague, it guessed wrong.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React 18 + Vite&lt;/strong&gt; — UI + build&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;@dnd-kit&lt;/strong&gt; — Drag and drop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recharts&lt;/strong&gt; — Weekly analytics chart&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lucide React&lt;/strong&gt; — Icons&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;react-hot-toast&lt;/strong&gt; — Notifications&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;canvas-confetti&lt;/strong&gt; — Habit celebrations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;vite-plugin-pwa&lt;/strong&gt; — PWA + offline support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Audio API&lt;/strong&gt; — Timer sounds (no files!)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;localStorage&lt;/strong&gt; — All persistence, zero backend&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Cloud sync option (optional, privacy-first)&lt;/li&gt;
&lt;li&gt;Habit templates (Morning Routine, Fitness, etc.)&lt;/li&gt;
&lt;li&gt;Timer integrations with task list (focus on specific task)&lt;/li&gt;
&lt;li&gt;Browser extension version&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Thanks for reading! If you try FlowDesk, I'd love to hear what you think.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Drop a comment or a ❤️ if the heatmap made you smile.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
    <item>
      <title>The Agent That Actually Remembers You: A Deep Dive into Hermes Agent published</title>
      <dc:creator>NITHESH SARAVANAN</dc:creator>
      <pubDate>Sun, 31 May 2026 14:00:06 +0000</pubDate>
      <link>https://dev.to/red-coder-27/the-agent-that-actually-remembers-you-a-deep-dive-into-hermes-agentpublished-1lc5</link>
      <guid>https://dev.to/red-coder-27/the-agent-that-actually-remembers-you-a-deep-dive-into-hermes-agentpublished-1lc5</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hermes-agent-2026-05-15"&gt;Hermes Agent Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;I'll be honest — I was skeptical.&lt;/p&gt;

&lt;p&gt;Every few weeks something in the AI space gets described as "turning heads quietly" and it turns out to be a wrapper around the OpenAI API with a nicer README. So when Hermes Agent started showing up in my feeds with that kind of language, I filed it under &lt;em&gt;probably fine, not urgent&lt;/em&gt; and moved on.&lt;/p&gt;

&lt;p&gt;Then it crossed 95,000 GitHub stars in seven weeks. That's not hype-shaped. That's word-of-mouth shaped. So I actually installed it.&lt;/p&gt;

&lt;p&gt;This post is about what I found.&lt;/p&gt;




&lt;h2&gt;
  
  
  The problem it's solving (which is real and annoying)
&lt;/h2&gt;

&lt;p&gt;Here's a thing that happens to me constantly. I open an AI assistant, spend the first few minutes re-establishing context — my stack, my project names, my preferences — get into a groove, do good work, close the session. Next day: blank slate. I'm typing the same paragraph again.&lt;/p&gt;

&lt;p&gt;It's not a dealbreaker. It's just... friction that compounds. Over weeks it starts to feel like working with a very talented colleague who has anterograde amnesia. You like them. You just have to brief them every single morning.&lt;/p&gt;

&lt;p&gt;Most agents acknowledge this problem by shipping a vector database and calling it "long-term memory." Which is fine. Vector search is genuinely useful. But it's passive — you query it, it retrieves, nothing actually changes. The agent doesn't &lt;em&gt;learn&lt;/em&gt; anything. It just has better notes.&lt;/p&gt;

&lt;p&gt;Hermes Agent is built around a different idea entirely.&lt;/p&gt;




&lt;h2&gt;
  
  
  What actually makes it different
&lt;/h2&gt;

&lt;p&gt;The core insight is distinguishing between two kinds of memory:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Episodic&lt;/strong&gt; — what happened in past conversations. Hermes stores this with SQLite FTS5 (full-text search), not vector embeddings. That sounds like a step backward and I thought so too at first. But keyword search has real precision advantages for the stuff that actually matters in developer workflows: project names, service names, variable names, team-specific terminology. If I mention "Gatekeeper" (our auth service) in session 12, Hermes finds it when I mention it in session 89. Vector search would find &lt;em&gt;semantically similar&lt;/em&gt; things, which is sometimes what you want and sometimes really not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Procedural&lt;/strong&gt; — &lt;em&gt;how&lt;/em&gt; to do things. This is the part I hadn't seen before. After completing a multi-step task, Hermes can convert that workflow into a Skill — a concrete, versioned, human-readable procedure saved to disk. Next time a similar task comes up, it loads the Skill, runs through the steps, and if something goes better or worse than expected, it updates the Skill accordingly.&lt;/p&gt;

&lt;p&gt;This is closer to how I actually retain knowledge than any AI memory system I've used. I don't re-derive my Docker deployment process from first principles every time. I have a procedure. I refine it when it breaks. I get faster. Hermes is doing a version of that.&lt;/p&gt;

&lt;p&gt;There's also a user modeling layer via something called &lt;a href="https://github.com/plastic-labs/honcho" rel="noopener noreferrer"&gt;Honcho&lt;/a&gt; that builds a representation of who you are across sessions — your preferences, communication style, work context. I haven't been running it long enough to have strong opinions on this part yet, but the architecture makes sense.&lt;/p&gt;




&lt;h2&gt;
  
  
  Installation (genuinely fast)
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it for Linux/macOS/WSL2. There's a PowerShell version for Windows in early beta. After installing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes setup &lt;span class="nt"&gt;--portal&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One OAuth flow and you have a model plus web search, image gen, TTS, and browser access. No juggling four separate API keys.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes chat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I had it running in under three minutes, which is not always how these things go.&lt;/p&gt;




&lt;h2&gt;
  
  
  The infrastructure stuff that actually matters
&lt;/h2&gt;

&lt;p&gt;One thing I didn't expect to care about but do: Hermes is designed to run somewhere other than your laptop.&lt;/p&gt;

&lt;p&gt;It supports six backends — local, Docker, SSH, Daytona, Singularity, and Modal. The Daytona and Modal options are serverless, meaning the environment hibernates when idle. Practically what this means: you spin it up on a cheap VPS, connect to it from Telegram, and the agent is doing work on a machine you never SSH into. Your laptop is just the interface.&lt;/p&gt;

&lt;p&gt;Most agents I've used are tethered to wherever I'm sitting. Close the laptop, the agent stops. Hermes is a persistent process that happens to communicate with you — a subtle but real difference for anything involving longer workflows.&lt;/p&gt;

&lt;p&gt;The messaging integrations lean into this: CLI, Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Teams, Google Chat... 20+ platforms. You configure once. I've been using it from Telegram while commuting and it's a genuinely different experience from "AI assistant that only exists when I'm at my desk."&lt;/p&gt;




&lt;h2&gt;
  
  
  The parallelization thing
&lt;/h2&gt;

&lt;p&gt;Hermes can spawn isolated subagents — separate processes with their own terminals and contexts — to run workstreams in parallel. Research task, data pipeline, and file conversion simultaneously, each sandboxed.&lt;/p&gt;

&lt;p&gt;I want to be careful not to oversell this because I've only tested it in limited ways, but the architecture is sound. And it's where the word "agent" starts to feel earned rather than marketing.&lt;/p&gt;




&lt;h2&gt;
  
  
  The thing that actually tripped me up
&lt;/h2&gt;

&lt;p&gt;One thing worth knowing before you dive in: the first time I let it create a Skill automatically, it over-generalized. I'd asked it to pull a summary of my GitHub issues and it turned that into a Skill called something like "fetch repository data" — which then tried to apply that same approach when I later asked about a completely different repo with different auth. Took me a minute to figure out why it was behaving weirdly.&lt;/p&gt;

&lt;p&gt;The fix was easy — Skill files are just readable text on disk, so I went in, renamed it to something specific, and tightened the scope. But it wasn't what I expected. Lesson I'd pass on: watch what it names Skills in the first few sessions and rename the vague ones early. A Skill called "fetch repository data" will haunt you. A Skill called "fetch open issues from acme-api repo" will not.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where I'd actually use it vs. not
&lt;/h2&gt;

&lt;p&gt;Being straight with you:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Good fit:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want something that genuinely compounds value over weeks of use&lt;/li&gt;
&lt;li&gt;You need a private, self-hosted setup — no telemetry, your data stays on your machine&lt;/li&gt;
&lt;li&gt;Long-horizon tasks where context continuity matters&lt;/li&gt;
&lt;li&gt;You're already living in Claude Code and wish it had cross-project memory&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Probably not the right fit:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You want a quick throwaway session with zero setup cost — just open a chat tab&lt;/li&gt;
&lt;li&gt;Your workflow is entirely in-IDE&lt;/li&gt;
&lt;li&gt;Domains where you can't reliably judge output quality — and this matters more than it sounds&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last point is worth being honest about. The self-improvement loop is only as good as the feedback it gets. If you're working in a domain where you can't confidently tell when the agent's output is correct, the Skills system can make it faster at doing the wrong thing. Hermes gives you control. It can't make you exercise it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why it matters beyond the product
&lt;/h2&gt;

&lt;p&gt;The Stanford HAI AI Index 2026 made a point that stuck with me: agents moved from question answering toward task completion in 2025, but still fail about a third of attempts on structured benchmarks. On OSWorld specifically, accuracy went from ~12% to 66.3% — within six points of human performance.&lt;/p&gt;

&lt;p&gt;What that trajectory suggests is that the bottleneck is increasingly &lt;em&gt;not&lt;/em&gt; raw model intelligence. It's memory, orchestration, recovery from failure, and repeatability. Which is exactly what Hermes is designed around.&lt;/p&gt;

&lt;p&gt;There's also just a values bet embedded in the whole project — MIT license, local-first, readable skills you can inspect and modify, no cloud lock-in. Whether or not Hermes wins the agentic framework wars, that design philosophy being competitive is something worth rooting for.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try it yourself
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

&lt;span class="c"&gt;# Set up model + tools&lt;/span&gt;
hermes setup &lt;span class="nt"&gt;--portal&lt;/span&gt;

&lt;span class="c"&gt;# Talk to it&lt;/span&gt;
hermes chat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Give it real context about your work on day one. Let it run something non-trivial. Come back two sessions later and notice what it already knows.&lt;/p&gt;

&lt;p&gt;That's the test that settled it for me.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;a href="https://hermes-agent.nousresearch.com/docs/" rel="noopener noreferrer"&gt;Hermes Agent docs&lt;/a&gt; · &lt;a href="https://github.com/NousResearch/hermes-agent" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; · &lt;a href="https://nousresearch.com" rel="noopener noreferrer"&gt;Nous Research&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>hermesagentchallenge</category>
      <category>devchallenge</category>
      <category>agents</category>
    </item>
    <item>
      <title>Gemma 4 Runs on a Raspberry Pi. Let That Sink In.</title>
      <dc:creator>NITHESH SARAVANAN</dc:creator>
      <pubDate>Sat, 23 May 2026 18:52:26 +0000</pubDate>
      <link>https://dev.to/red-coder-27/gemma-4-runs-on-a-raspberry-pi-let-that-sink-in-2h54</link>
      <guid>https://dev.to/red-coder-27/gemma-4-runs-on-a-raspberry-pi-let-that-sink-in-2h54</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-gemma-2026-05-06"&gt;Gemma 4 Challenge: Write About Gemma 4&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;I've been thinking about AI wrong for the past two years.&lt;/p&gt;

&lt;p&gt;Not completely wrong. But there's an assumption I'd quietly accepted without realizing it — that serious AI models require serious hardware. That if you wanted something capable enough to reason, handle images, work through multi-step problems, you needed a cloud API, or at minimum a machine with a real GPU. That the tradeoff between capability and accessibility was fixed: more of one meant less of the other.&lt;/p&gt;

&lt;p&gt;Gemma 4 broke that assumption for me. And the thing that broke it wasn't a benchmark number or a blog post. It was one sentence buried in the release notes:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The E2B model runs on a Raspberry Pi 5.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What Gemma 4 Actually Is
&lt;/h2&gt;

&lt;p&gt;Google DeepMind released Gemma 4 on April 2, 2026, under an Apache 2.0 license — fully open-weight, commercially usable, no strings attached. It's built from the same research as Gemini 3, which is a meaningful statement: this isn't Google's B-team effort. It's frontier-level research packaged for the open ecosystem.&lt;/p&gt;

&lt;p&gt;The family ships as four distinct variants, each targeting a different tier of hardware:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Architecture&lt;/th&gt;
&lt;th&gt;Active Params&lt;/th&gt;
&lt;th&gt;Target Hardware&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;E2B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PLE (edge)&lt;/td&gt;
&lt;td&gt;~2.3B&lt;/td&gt;
&lt;td&gt;Raspberry Pi, smartphones&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;E4B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PLE (edge)&lt;/td&gt;
&lt;td&gt;~4.5B&lt;/td&gt;
&lt;td&gt;Mobile devices, laptops&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;26B A4B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;MoE (8 of 128 experts)&lt;/td&gt;
&lt;td&gt;~4B active&lt;/td&gt;
&lt;td&gt;Consumer GPU&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;31B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Dense&lt;/td&gt;
&lt;td&gt;30.7B&lt;/td&gt;
&lt;td&gt;Workstation / multi-GPU&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Every single one of them is multimodal from the ground up — text, images, video. The smaller models also handle audio natively. Context window is 128K for the edge models and 256K for the larger ones. All support function calling, multi-step reasoning, and configurable thinking modes.&lt;/p&gt;

&lt;p&gt;That's the table stakes. Here's what's actually interesting.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Part That Stopped Me
&lt;/h2&gt;

&lt;p&gt;The E2B model runs in approximately &lt;strong&gt;1.5 GB of RAM&lt;/strong&gt; at INT4 quantization.&lt;/p&gt;

&lt;p&gt;A Raspberry Pi 5 with 8 GB of RAM can run it. Google published numbers confirming this — it's not theoretical, it's a tested deployment target.&lt;/p&gt;

&lt;p&gt;I keep coming back to what that actually means. A Raspberry Pi 5 costs around $80. It's a credit-card-sized single-board computer. And it can now run a multimodal AI model that handles text, images, and audio, with a 128K context window, with reasoning capabilities, offline, with no API calls, no cloud dependency, no subscription.&lt;/p&gt;

&lt;p&gt;For the past two years, "run AI locally" has been something that required either a powerful laptop or a desktop with a dedicated GPU. The conversation around local AI models has largely been for people with the hardware to run 7B+ parameter models comfortably. E2B changes who that conversation is for.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Is a Bigger Deal Than the Benchmarks
&lt;/h2&gt;

&lt;p&gt;I want to be honest about something: the benchmarks for Gemma 4 are genuinely impressive, but I don't think they're the most important part of this release.&lt;/p&gt;

&lt;p&gt;The 31B model sits at #3 on Arena AI's open model leaderboard (ELO 1452 as of release), scores 89.2% on AIME 2026, and hits 80% on LiveCodeBench. Those are strong numbers that hold up against Qwen 3.5 and Llama 4 Scout in most categories.&lt;/p&gt;

&lt;p&gt;But benchmark performance is something you read and nod at. The Raspberry Pi deployment is something that &lt;em&gt;changes what you can build&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Think about the categories of projects that become possible when a capable multimodal model can run locally on $80 hardware:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy-first applications.&lt;/strong&gt; Medical data, personal journals, private documents — things you'd never send to a cloud API. A model that runs entirely on your own device means sensitive data never leaves it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline-first tooling.&lt;/strong&gt; Field work, remote locations, environments with unreliable connectivity. A capable AI model that works without internet is a different category of useful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embedded systems.&lt;/strong&gt; NVIDIA Jetson devices, edge computing nodes, IoT hardware with more capability than a microcontroller. Gemma 4 E2B was specifically built with these targets in mind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Projects for students and developers in contexts where cloud API costs are a real barrier.&lt;/strong&gt; $80 hardware is still not nothing. But it's a different category of accessible than "pay per token forever."&lt;/p&gt;




&lt;h2&gt;
  
  
  How the Four Variants Actually Fit Together
&lt;/h2&gt;

&lt;p&gt;After spending time with the model card and the community documentation, here's how I'd think about which variant to reach for:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;E2B&lt;/strong&gt; — for genuine edge deployment. Raspberry Pi, smartphones, embedded hardware. If your constraint is RAM and you need offline capability, this is the one. Don't reach for it if you're on a laptop — you're unnecessarily limiting yourself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;E4B&lt;/strong&gt; — the sweet spot for most personal projects and local laptop experimentation. Fits in roughly 5 GB RAM. Strong enough for real tasks, accessible enough to run comfortably on most modern machines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;26B A4B (MoE)&lt;/strong&gt; — deceptively efficient. It has 26 billion total parameters but only activates around 4 billion per token pass thanks to Mixture-of-Experts routing. If you have a consumer GPU with 8-12 GB VRAM, this is where serious capability starts without the full cost of running a dense model. The MoE architecture means inference is faster than the parameter count suggests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;31B Dense&lt;/strong&gt; — for when you need the ceiling. All 30.7 billion parameters active on every pass. Highest benchmark scores, highest hardware requirements. Realistically a multi-GPU or high-VRAM workstation setup.&lt;/p&gt;

&lt;p&gt;One thing I appreciate about how Google structured this: these aren't just size variants of the same model. The E2B and E4B use Per-Layer Embeddings rather than traditional MoE routing — it's a genuinely different architectural approach to making models efficient at the edge, not just a quantized-down version of the larger model.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I'm Actually Thinking About Building
&lt;/h2&gt;

&lt;p&gt;I'll be honest: my hardware situation right now is a mid-range laptop and a Raspberry Pi 4 I've had sitting around for two years mostly running Pi-hole. Not exactly a GPU workstation.&lt;/p&gt;

&lt;p&gt;Before Gemma 4, my options for local AI were limited enough that I mostly reached for APIs. After reading through the E2B specs, I'm genuinely reconsidering that default.&lt;/p&gt;

&lt;p&gt;What I want to explore: a local document analysis tool that processes my own notes and files without any of that data leaving my machine. The 128K context window on E2B means I could feed in reasonably sized documents. The multimodal support means I could include images and diagrams. The offline capability means it works whether I'm connected or not.&lt;/p&gt;

&lt;p&gt;That's not a groundbreaking project. But it's exactly the kind of project I'd been mentally filing under "not possible without a paid API" — and Gemma 4 moves it into the "actually try it this weekend" category.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Honest Caveat
&lt;/h2&gt;

&lt;p&gt;The E2B running on a Raspberry Pi is real, but context matters: Google tested with INT4 quantization, which trades some precision for memory efficiency. Performance at INT4 is lower than at higher precision levels. For tasks requiring nuanced reasoning or precise outputs, you'll notice the difference.&lt;/p&gt;

&lt;p&gt;The 31B dense model's hardware requirements are also substantial — up to 19 GB RAM in some configurations. "Runs on consumer hardware" is true for the family, but not uniformly true across all variants.&lt;/p&gt;

&lt;p&gt;And the MoE architecture of the 26B, while efficient, behaves differently in practice than a dense model of equivalent active parameter count. Worth benchmarking for your specific use case rather than assuming the numbers translate directly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Open-Weight Matters Here
&lt;/h2&gt;

&lt;p&gt;Gemma 4 ships under Apache 2.0. That's not just a licensing detail — it's what makes the edge deployment story meaningful for the long term.&lt;/p&gt;

&lt;p&gt;A proprietary model that runs locally is still a dependency on the vendor's continued goodwill, roadmap, and pricing decisions. An Apache 2.0 model is something you can fork, fine-tune, redistribute, and build on without those constraints. The 100,000+ community variants already built on earlier Gemma models exist because the license made that experimentation possible.&lt;/p&gt;

&lt;p&gt;For developers building on top of Gemma 4 — fine-tuning it for a specific domain, integrating it into a product, deploying it at the edge — the license is as important as the capability.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where I Land
&lt;/h2&gt;

&lt;p&gt;I started this thinking about Gemma 4 primarily as another open model release in a busy year of open model releases. I'm ending it thinking about it as something slightly different: a signal that the capability-accessibility tradeoff in AI is more flexible than I'd assumed.&lt;/p&gt;

&lt;p&gt;Running a capable multimodal model with a 128K context window offline on an $80 single-board computer is not the ceiling of what Gemma 4 can do. It's the floor.&lt;/p&gt;

&lt;p&gt;That reframe matters for what I think about building next.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Wrote this after going through the Gemma 4 model card, release blog, and community documentation. To get started: &lt;a href="https://huggingface.co/google/gemma-4" rel="noopener noreferrer"&gt;Gemma 4 on Hugging Face&lt;/a&gt;, &lt;a href="https://ollama.com/library/gemma4" rel="noopener noreferrer"&gt;Ollama setup guide&lt;/a&gt;, or the &lt;a href="https://ai.google.dev/gemma/docs/core/model_card_4" rel="noopener noreferrer"&gt;official Google AI docs&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>gemmachallenge</category>
      <category>gemma</category>
    </item>
    <item>
      <title>Google Antigravity 2.0: The End of the IDE Era (And What Comes Next)</title>
      <dc:creator>NITHESH SARAVANAN</dc:creator>
      <pubDate>Sat, 23 May 2026 18:41:58 +0000</pubDate>
      <link>https://dev.to/red-coder-27/google-antigravity-20-the-end-of-the-ide-era-and-what-comes-next-4j0</link>
      <guid>https://dev.to/red-coder-27/google-antigravity-20-the-end-of-the-ide-era-and-what-comes-next-4j0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/google-io-writing-2026-05-19"&gt;Google I/O Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;I'll be upfront about something: I've been burned by AI coding tool hype before.&lt;/p&gt;

&lt;p&gt;Over the past couple of years, I've tried most of them — Copilot, Cursor, a few others. And my honest experience is that they're useful right up until they aren't. They suggest something plausible-looking, I accept it, and then twenty minutes later I'm digging through the mess they made while I wasn't paying close enough attention. I still end up fixing things manually. The "AI handles it" promise always seems to quietly expire somewhere in the middle.&lt;/p&gt;

&lt;p&gt;So when Google I/O 2026 rolled around and the keynote was wall-to-wall AI announcements, I watched with that specific kind of developer skepticism you develop after a few too many over-promised demos.&lt;/p&gt;

&lt;p&gt;But then something made me stop scrolling.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Demo I Wasn't Expecting
&lt;/h2&gt;

&lt;p&gt;Google Director of Software Engineering Varun Mohan stood on the I/O stage and, using Antigravity 2.0's parallel agent system, built a &lt;strong&gt;working operating system core from scratch — live&lt;/strong&gt;. Total compute cost: under $1,000. Then, on top of that OS, he ran a Doom clone.&lt;/p&gt;

&lt;p&gt;I sat with that for a moment.&lt;/p&gt;

&lt;p&gt;Not because I think I'll be building operating systems with AI agents next week. But because it reframed something for me. The tools I'd been frustrated with were all trying to assist me while I coded. This was something else entirely — agents executing in parallel, autonomously, producing something that would have taken a team of engineers weeks.&lt;/p&gt;

&lt;p&gt;Whether that's ready for everyday use or not, the &lt;em&gt;direction&lt;/em&gt; it points in is hard to ignore. And the more I looked at what Google actually shipped alongside that demo, the more I think Antigravity 2.0 deserves a more careful look than the usual I/O hype cycle gets.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Antigravity 2.0 Actually Is (And What It Isn't)
&lt;/h2&gt;

&lt;p&gt;The original Antigravity launched in November 2025 as, essentially, Google's answer to Cursor. An AI-powered IDE. Useful, but not something that changed how I thought about development.&lt;/p&gt;

&lt;p&gt;Version 2.0 is different in a way that took me a while to articulate. It's not trying to be a better editor. &lt;strong&gt;It's trying to replace the editor as the central surface of development altogether.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The 2.0 release ships as five distinct pieces:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. The Standalone Desktop App
&lt;/h3&gt;

&lt;p&gt;The new desktop app isn't a code editor with AI bolted on. It's built around managing parallel agents — you describe what you want, multiple specialized subagents spin up concurrently, and the app is your dashboard for what they're doing.&lt;/p&gt;

&lt;p&gt;The conceptual shift here is real. Every editor I've used puts me at the center — my cursor, my decisions at every line. Antigravity 2.0 puts the &lt;em&gt;agent workflow&lt;/em&gt; at the center and positions me as the person reviewing and directing, not typing.&lt;/p&gt;

&lt;p&gt;I'm genuinely not sure how I feel about that yet. But it's a different bet than anyone else is making.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. The Antigravity CLI (&lt;code&gt;agy&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;Built in Go, brings the full agent harness to your terminal. If you live in the command line — which I do more and more — this matters. It has built-in sandboxing, credential masking, and hardened Git policies baked into the foundation, not added as an afterthought.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The Antigravity SDK
&lt;/h3&gt;

&lt;p&gt;This is for teams who want to deploy custom agents on their own infrastructure rather than routing everything through Google's cloud. For anyone with compliance requirements or data concerns, this is what makes the platform actually usable in a professional context.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Managed Agents in the Gemini API
&lt;/h3&gt;

&lt;p&gt;One API call. Full agent. Sandboxed Linux environment. Persistent state. More on this in a moment — it's the part I actually tested.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. The Gemini Enterprise Agent Platform
&lt;/h3&gt;

&lt;p&gt;Managed deployment path for large organizations inside Google Cloud. More restricted access right now, but the direction is clear.&lt;/p&gt;




&lt;h2&gt;
  
  
  I Actually Tried It (Here's What I Found)
&lt;/h2&gt;

&lt;p&gt;My instinct after any big I/O announcement is to go read the actual docs rather than the blog posts. So that's what I did.&lt;/p&gt;

&lt;p&gt;The Managed Agents quickstart is genuinely simple. Here's the call that provisions a full agent environment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;google&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;genai&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Client&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;interaction&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;antigravity-preview-05-2026&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;environment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;remote&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Write a Python script that generates the first 20 Fibonacci numbers and saves them to fibonacci.txt.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;interaction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;output_text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That single call provisions a fresh Linux sandbox, loads Gemini 3.5 Flash, equips the agent with web search, code execution, and file management — and then runs the whole thing autonomously.&lt;/p&gt;

&lt;p&gt;What I kept thinking about as I read through it: the setup I used to have to do manually to get anywhere close to this — provisioning containers, wiring up tool access, managing execution state — was genuinely hours of work before I could even start on the actual problem. This collapses that completely.&lt;/p&gt;

&lt;p&gt;The part that actually surprised me was multi-turn session continuity:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Pick up exactly where the last call left off
&lt;/span&gt;&lt;span class="n"&gt;interaction2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;antigravity-preview-05-2026&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;previous_interaction_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;interaction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;environment&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;interaction&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;environment_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Now plot the Fibonacci sequence as a line chart and save it as chart.png.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same sandbox. Same file system. Same state. Just pass the ID. No serialization, no manual context management.&lt;/p&gt;

&lt;p&gt;That's the thing I'd been doing manually for months in my own projects — carefully threading state between agent calls so nothing got lost. Seeing it handled by passing a single ID was a quiet "oh" moment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The honest caveats though&lt;/strong&gt;, because there are real ones: this is in preview. The only supported base agent is &lt;code&gt;antigravity-preview-05-2026&lt;/code&gt;. There's no agent versioning or rollback yet. Subagent nesting isn't supported. The schema may still change. I wouldn't build production-critical workflows on this today — but as a signal of where the API is heading, it's concrete enough to take seriously.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Idea Behind It All That Most Coverage Is Missing
&lt;/h2&gt;

&lt;p&gt;Here's what I keep coming back to when I think about Antigravity 2.0.&lt;/p&gt;

&lt;p&gt;Every AI coding tool I've used — Cursor, Copilot, even Antigravity 1.0 — made the same underlying assumption: AI should live &lt;em&gt;inside&lt;/em&gt; the editor. The editor is where developers work, so meet them there.&lt;/p&gt;

&lt;p&gt;Antigravity 2.0 is built on a completely different assumption: &lt;strong&gt;the editor itself is the wrong primitive for the agentic era.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Think about what an IDE actually is. It's a surface optimized for a human to produce text at human speed. Every feature — syntax highlighting, file trees, the cursor — exists to support &lt;em&gt;you&lt;/em&gt; doing the writing.&lt;/p&gt;

&lt;p&gt;But if agents can write, test, and refactor code faster than you can read it, you don't need a writing surface anymore. You need something more like a workflow management dashboard — something that tells you what's running, what's done, what needs your input.&lt;/p&gt;

&lt;p&gt;That's what the Antigravity 2.0 desktop app is trying to be.&lt;/p&gt;

&lt;p&gt;I find this genuinely interesting to think about, even while holding it somewhat skeptically. The editor has been the central tool of software development for four decades. That's a long time for something to calcify into "just how things work." The question of whether it's actually the right abstraction for AI-assisted development is worth asking out loud.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where I'm Still Not Convinced
&lt;/h2&gt;

&lt;p&gt;I want to be fair here, because I've been in enough hype cycles to know that interesting architecture doesn't automatically mean good outcomes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent reliability is still the hard problem.&lt;/strong&gt; My frustration with current AI coding tools is precisely that they make plausible-looking mistakes, and I catch them too late. Parallel subagents executing in the background amplifies that risk — one wrong assumption by one agent, built upon by three others, and you have a mess that's much harder to unwind than a single bad autocomplete suggestion. The sandboxing and Git policies help, but they're guardrails around execution, not guarantees of correctness.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The pricing signals who this is really for.&lt;/strong&gt; The new AI Ultra plan is $100/month for 5x higher usage limits. That's an enterprise line item. The free and low-cost tiers that independent developers and students typically use to build ecosystem familiarity around a platform are not the story here. Google is making a deliberate choice to prioritize enterprise adoption, and that's worth naming explicitly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemini CLI is being retired for consumer users.&lt;/strong&gt; This is the consolidation that bothers me most personally. A lightweight, free CLI path is being replaced by Antigravity — which costs money. If you're not on a paid plan, your path to the agent harness is the raw API. That's a real narrowing of access.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Vibe coding" is a phrase I'm suspicious of.&lt;/strong&gt; It shows up in the Google AI Studio announcement — "native Kotlin support to vibe code Android apps." I understand what they mean. But "vibe coding" is language that frames effortlessness as the goal, when for a lot of us, understanding what our code does &lt;em&gt;is&lt;/em&gt; the goal. The complexity doesn't disappear just because the interface hides it. And for someone still building their fundamentals, that gap between "it works" and "I understand why it works" matters a lot.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Actually Different Starting This Week
&lt;/h2&gt;

&lt;p&gt;Setting aside the bigger questions, here's what concretely changed at I/O for different kinds of developers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you use the Gemini API:&lt;/strong&gt; Managed Agents is worth exploring now. The quickstart is genuinely accessible and you can have something running in under 15 minutes. The friction reduction on multi-step agent workflows is real.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you work on Android:&lt;/strong&gt; The Android CLI is now stable, and the open-sourced Android skills give LLMs verified scaffolding for complex migrations — Jetpack Compose, Jetpack Navigation 3 — rather than the hallucinated patterns that have burned people before. The migration agent for React Native or iOS codebases to native Kotlin is notable if you're carrying that kind of technical debt.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you work on the web:&lt;/strong&gt; WebMCP is the slow-burn announcement. A proposed open standard for browser-based AI agents to interact with JavaScript functions and HTML forms is infrastructure-level stuff — currently in origin trial in Chrome 149. Watch this one over the next year.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you run or work on a team:&lt;/strong&gt; The SDK and Enterprise Agent Platform are what make this usable in real organizational contexts. The security primitives aren't bolted on.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where I Land
&lt;/h2&gt;

&lt;p&gt;I came into Google I/O 2026 skeptical about AI development tooling, and I'm leaving it with that skepticism mostly intact — but pointed at more specific things.&lt;/p&gt;

&lt;p&gt;The architecture of Antigravity 2.0 is genuinely interesting. The Managed Agents API simplifies something I've been doing manually for a long time. The thesis — that the editor is a legacy abstraction — is a real idea worth taking seriously, not just keynote positioning.&lt;/p&gt;

&lt;p&gt;But the pricing, the accessibility concerns, and the unresolved question of agent reliability are all real. Interesting architecture and practical daily usefulness are different things, and only one of them matters when you're trying to ship.&lt;/p&gt;

&lt;p&gt;What I'd say is: try the Managed Agents API if you use Gemini. Read the Antigravity 2.0 release notes carefully rather than the blog posts. And if the IDE-as-legacy-abstraction thesis turns out to be right, you'll want to have been paying attention when this shipped.&lt;/p&gt;

&lt;p&gt;The direction is clear. Whether the execution catches up to it is the question the rest of 2026 will answer.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Wrote this after spending an evening with the Google I/O 2026 developer keynote and the actual Gemini API docs. Try Managed Agents at the &lt;a href="https://ai.google.dev/gemini-api/docs/managed-agents-quickstart" rel="noopener noreferrer"&gt;official quickstart&lt;/a&gt; and explore Antigravity 2.0 at &lt;a href="https://antigravity.google" rel="noopener noreferrer"&gt;antigravity.google&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>googleiochallenge</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
