<?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: Sulynn AI</title>
    <description>The latest articles on DEV Community by Sulynn AI (@eeyzs1).</description>
    <link>https://dev.to/eeyzs1</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%2F4052144%2Fd71ac277-fd6b-4db4-839b-2e20875aae44.png</url>
      <title>DEV Community: Sulynn AI</title>
      <link>https://dev.to/eeyzs1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eeyzs1"/>
    <language>en</language>
    <item>
      <title>DevWit v0.5.0: an open-source AI IDE with a transparent context panel (and a real editor)</title>
      <dc:creator>Sulynn AI</dc:creator>
      <pubDate>Tue, 11 Aug 2026 03:09:11 +0000</pubDate>
      <link>https://dev.to/eeyzs1/devwit-v050-an-open-source-ai-ide-with-a-transparent-context-panel-and-a-real-editor-onn</link>
      <guid>https://dev.to/eeyzs1/devwit-v050-an-open-source-ai-ide-with-a-transparent-context-panel-and-a-real-editor-onn</guid>
      <description>&lt;p&gt;DevWit is a free, MIT-licensed AI-native desktop IDE built around one principle: &lt;strong&gt;you should see exactly what the AI sees and does&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Every LLM request shows its full context — system prompt, tools, injected code / RAG hits / terminal output — with &lt;strong&gt;per-item token costs you can toggle off&lt;/strong&gt;. Agent file writes and shell commands go through an &lt;strong&gt;authorization gate&lt;/strong&gt; before they run.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's new in v0.5.0
&lt;/h2&gt;

&lt;p&gt;Editor productivity milestone (9 items):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bracket pair highlighting + indent guides&lt;/li&gt;
&lt;li&gt;Auto-pair brackets&lt;/li&gt;
&lt;li&gt;Auto-indent / selection indent-outdent&lt;/li&gt;
&lt;li&gt;Move lines, toggle line comment, duplicate line&lt;/li&gt;
&lt;li&gt;Code folding + &lt;strong&gt;minimap&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built on top of v0.4.0 retention features: TypeScript + Python LSP, Git, DAP debugging, MCP servers, multi-agent orchestration, transparent RAG.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this exists
&lt;/h2&gt;

&lt;p&gt;Most AI coding tools are black boxes. You don't see what got stuffed into the prompt, and agents can touch your files before you notice. DevWit makes both visible and enforceable — including a context manifest you can export as JSON for audit.&lt;/p&gt;

&lt;p&gt;It's a &lt;strong&gt;standalone IDE&lt;/strong&gt; (not a VS Code plugin) with a self-built editor kernel: piece-table buffer + Canvas rendering + tree-sitter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free, local-first
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No accounts, no cloud sync, no paywall&lt;/li&gt;
&lt;li&gt;Telemetry opt-in, off by default, zero content collected&lt;/li&gt;
&lt;li&gt;Ollama keyless local models supported&lt;/li&gt;
&lt;li&gt;Windows / macOS / Linux builds from public GitHub Actions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Links&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/eeyzs1/DevWit" rel="noopener noreferrer"&gt;https://github.com/eeyzs1/DevWit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Release v0.5.0: &lt;a href="https://github.com/eeyzs1/DevWit/releases/tag/v0.5.0" rel="noopener noreferrer"&gt;https://github.com/eeyzs1/DevWit/releases/tag/v0.5.0&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback welcome — especially if you care about context hygiene or compliance-friendly agent workflows.&lt;/p&gt;

</description>
      <category>productivity</category>
    </item>
    <item>
      <title>I shipped 7 AI tools in 2 months. Here's the boring code I kept rewriting.</title>
      <dc:creator>Sulynn AI</dc:creator>
      <pubDate>Thu, 06 Aug 2026 06:07:40 +0000</pubDate>
      <link>https://dev.to/eeyzs1/i-shipped-7-ai-tools-in-2-months-heres-the-boring-code-i-kept-rewriting-4594</link>
      <guid>https://dev.to/eeyzs1/i-shipped-7-ai-tools-in-2-months-heres-the-boring-code-i-kept-rewriting-4594</guid>
      <description>&lt;p&gt;I'm a solo dev. Over the past 2 months I built 7 small AI tools — a paper rewriter, an email generator, a resume optimizer, you get the idea. Different niches, same skeleton.&lt;/p&gt;

&lt;p&gt;Every single time, I was rebuilding the same boring plumbing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API key input + localStorage + show/hide toggle&lt;/li&gt;
&lt;li&gt;Streaming output (SSE parsing, buffering, abort handling)&lt;/li&gt;
&lt;li&gt;Responsive UI shell (header, hero, input/output panels)&lt;/li&gt;
&lt;li&gt;SEO boilerplate (meta tags, Open Graph, JSON-LD)&lt;/li&gt;
&lt;li&gt;Error mapping (401/402/429/network)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of this is hard. It's just &lt;em&gt;long&lt;/em&gt;. About 15 hours of work each time, mostly copy-paste from the last project with tweaks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;API key management    → 2 hrs
SSE streaming + abort → 4 hrs
Responsive UI shell   → 6 hrs
SEO setup             → 2 hrs
Deploy + configure    → 1 hr
-------------------------
Total per tool        → 15 hrs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The actual "AI" part — defining modes, writing system prompts, picking a niche — was 30 minutes. The other 14.5 hours was infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I did about it
&lt;/h2&gt;

&lt;p&gt;I distilled all of it into a single static boilerplate. No framework, no build step, no backend. One &lt;code&gt;config.js&lt;/code&gt; file defines everything:&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;CONFIG&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;site&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;My AI Tool&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Powered by DeepSeek&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;api&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.deepseek.com/v1/chat/completions&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;model&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;deepseek-chat&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;modes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;rewrite&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Rewrite&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Rewrite this text: {{input}}&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;expand&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Expand&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Expand this idea: {{input}}&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's literally the only file you touch. The engine handles API calls, streaming, UI, SEO, errors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why no framework?
&lt;/h2&gt;

&lt;p&gt;I tried React. I tried Next.js. They're great, but for a &lt;em&gt;single-purpose&lt;/em&gt; AI tool with one input and one output, they're overkill. You ship to GitHub Pages, you're done. No server costs, no cold starts, no Vercel limits.&lt;/p&gt;

&lt;p&gt;The key insight: AI wrapper tools are static frontends. The API call goes browser → LLM directly. There's no backend to speak of.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;API key management (localStorage, validation, auto-save)&lt;/li&gt;
&lt;li&gt;SSE streaming with cross-chunk buffering and AbortController&lt;/li&gt;
&lt;li&gt;Responsive UI (header, hero, config, panels, toast, status bar)&lt;/li&gt;
&lt;li&gt;SEO (meta, Open Graph, Twitter Card, JSON-LD FAQ schema)&lt;/li&gt;
&lt;li&gt;Config-driven engine (edit ONE file)&lt;/li&gt;
&lt;li&gt;Zero-cost deploy (GitHub Pages, Vercel, Netlify, Cloudflare Pages)&lt;/li&gt;
&lt;li&gt;Copy &amp;amp; toast, error handling, accessible markup&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I use it
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Edit &lt;code&gt;config.js&lt;/code&gt; (define modes, prompts, branding)&lt;/li&gt;
&lt;li&gt;Push to GitHub&lt;/li&gt;
&lt;li&gt;Enable GitHub Pages&lt;/li&gt;
&lt;li&gt;Post on Reddit / Indie Hackers&lt;/li&gt;
&lt;li&gt;Maybe add AdSense or affiliate links&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Total time from idea to live: ~1 hour. Most of that is writing good prompts.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest part
&lt;/h2&gt;

&lt;p&gt;This isn't a get-rich-quick thing. Each tool makes maybe $5-30/month in ad revenue or $0-2 sales. But building 10 of them with 15 hours each (150 hours total) vs. 10 hours total (1 hour each) — that's a 15x difference in shot count.&lt;/p&gt;

&lt;p&gt;More shots = more chance one hits.&lt;/p&gt;




&lt;p&gt;If you want to skip the 15-hour boilerplate and just build tools, I put the whole thing up at &lt;a href="https://shipai.work" rel="noopener noreferrer"&gt;shipai.work&lt;/a&gt;. $199 one-time, lifetime updates.&lt;/p&gt;

&lt;p&gt;But honestly — even if you don't buy it, the pattern is the takeaway: &lt;strong&gt;stop rebuilding infrastructure, start shipping products.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>I built 7 AI tools, then realized I was doing it wrong. Here's what I learned.</title>
      <dc:creator>Sulynn AI</dc:creator>
      <pubDate>Mon, 03 Aug 2026 07:33:25 +0000</pubDate>
      <link>https://dev.to/eeyzs1/i-built-7-ai-tools-then-realized-i-was-doing-it-wrong-heres-what-i-learned-195b</link>
      <guid>https://dev.to/eeyzs1/i-built-7-ai-tools-then-realized-i-was-doing-it-wrong-heres-what-i-learned-195b</guid>
      <description>&lt;p&gt;I built 7 AI tool sites. A paper rewriter, a copywriter, a resume optimizer, a weekly report generator, an email generator, a meeting notes tool, and an AI navigation site.&lt;/p&gt;

&lt;p&gt;Each one took me days to build. And each time, I was rebuilding the same infrastructure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API key management (input, validation, localStorage)&lt;/li&gt;
&lt;li&gt;SSE streaming (progressive output, abort, error handling)&lt;/li&gt;
&lt;li&gt;Responsive UI (mode tabs, input/output panels, copy button)&lt;/li&gt;
&lt;li&gt;SEO setup (meta tags, Open Graph, JSON-LD)&lt;/li&gt;
&lt;li&gt;Deployment config (GitHub Pages, Vercel, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By tool #7, I realized: &lt;strong&gt;I was solving the same problems 7 times instead of solving them once.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The mistake
&lt;/h2&gt;

&lt;p&gt;I thought I was building products. I was actually building infrastructure — over and over.&lt;/p&gt;

&lt;p&gt;The actual "product" part of each tool — the prompts, the modes, the domain knowledge — was maybe 10% of the code. The other 90% was boilerplate I had already written for the previous tool.&lt;/p&gt;

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

&lt;p&gt;I distilled the common code from all 7 tools into a single config-driven boilerplate called &lt;strong&gt;ShipAI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea: edit ONE file (&lt;code&gt;config.js&lt;/code&gt;), ship a new AI tool.&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;// config.js - this is the only file you edit&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;CONFIG&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;site&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;My AI Tool&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;...&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;api&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;endpoint&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.deepseek.com/v1/chat/completions&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;modes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;rewrite&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Rewrite&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Rewrite: {{input}}&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;id&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;expand&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Expand&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Expand: {{input}}&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. The boilerplate handles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;API key input + validation + localStorage&lt;/li&gt;
&lt;li&gt;SSE streaming with abort + error handling&lt;/li&gt;
&lt;li&gt;Responsive UI (Tailwind, no build step)&lt;/li&gt;
&lt;li&gt;SEO template (meta, OG, JSON-LD)&lt;/li&gt;
&lt;li&gt;Copy button, loading states, empty states&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pure frontend. No backend, no servers, no &lt;code&gt;npm install&lt;/code&gt;. Deploy to GitHub Pages for free.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned studying successful indie hackers
&lt;/h2&gt;

&lt;p&gt;After building 7 tools that nobody used, I studied every verifiable indie hacker success story I could find:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pieter Levels&lt;/strong&gt; (&lt;a class="mentioned-user" href="https://dev.to/levelsio"&gt;@levelsio&lt;/a&gt;): 70+ projects, 95% failed. Ships in days, not weeks. PHP + jQuery (not fancy frameworks).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Marc Lou&lt;/strong&gt; (@marclouvion): 30 failed projects before ShipFast ($249) took off. Now $100K+/month with 16 products.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Filip Panoski&lt;/strong&gt;: Failed 5 times. Learned B2B &amp;gt; B2C, subscription &amp;gt; one-time, validate with waitlist BEFORE coding.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The pattern was clear: &lt;strong&gt;they all built audiences BEFORE products, not the other way around.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I did it backwards. I built 7 products with zero audience. This time, I'm doing it right — building in public from day one.&lt;/p&gt;

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

&lt;ol&gt;
&lt;li&gt;Ship the boilerplate ($199 one-time, inspired by ShipFast)&lt;/li&gt;
&lt;li&gt;Build in public — share revenue, failures, process&lt;/li&gt;
&lt;li&gt;Launch more products for indie devs&lt;/li&gt;
&lt;li&gt;Cross-promote&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Day 1. Revenue: $0. Followers: 0. Let's see what happens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you're building AI tools, check out &lt;a href="https://eeyzs1.github.io/shipai/" rel="noopener noreferrer"&gt;ShipAI&lt;/a&gt;.&lt;/strong&gt; It might save you the 7 failed attempts it took me to learn these lessons.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This is part of my build-in-public journey. I'll share updates as I go — the good, the bad, and the $0 revenue reports.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>aiindiehackershowdevwebdevs</category>
    </item>
    <item>
      <title>I built an AI IDE that shows you exactly what it sends to the model</title>
      <dc:creator>Sulynn AI</dc:creator>
      <pubDate>Wed, 29 Jul 2026 05:00:32 +0000</pubDate>
      <link>https://dev.to/eeyzs1/i-built-an-ai-ide-that-shows-you-exactly-what-it-sends-to-the-model-3jh8</link>
      <guid>https://dev.to/eeyzs1/i-built-an-ai-ide-that-shows-you-exactly-what-it-sends-to-the-model-3jh8</guid>
      <description>&lt;p&gt;Every AI coding tool asks for the same leap of faith: trust that the context it&lt;br&gt;
sends is reasonable, and trust that the agent won't touch anything it&lt;br&gt;
shouldn't. I got tired of leaps of faith, so I built&lt;br&gt;
&lt;a href="https://github.com/eeyzs1/DevWit" rel="noopener noreferrer"&gt;DevWit&lt;/a&gt; — a free, open-source AI IDE where&lt;br&gt;
both are fully visible and enforceable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two walls I kept hitting
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Wall 1: opaque context.&lt;/strong&gt; The model's answer degrades, and you can't tell&lt;br&gt;
why. Was a 40k-token file silently injected? Did a stale RAG chunk crowd out&lt;br&gt;
the file you actually care about? Most tools treat the prompt as a black box.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wall 2: ambient authority.&lt;/strong&gt; Agents that can write files and run shell&lt;br&gt;
commands are genuinely useful — right up until one does something you didn't&lt;br&gt;
expect. "It mostly asks first" is not a permission model.&lt;/p&gt;

&lt;p&gt;DevWit's answers to these two walls are its core features.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature 1: The Context Panel
&lt;/h2&gt;

&lt;p&gt;Every LLM request in DevWit renders a complete manifest before it's sent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The system prompt (per-mode, editable)&lt;/li&gt;
&lt;li&gt;The tool list&lt;/li&gt;
&lt;li&gt;Every injected item — files, RAG chunks, terminal output, diagnostics —
each with its own token count&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Any item can be toggled off, per request. Cut a noisy retrieval result and you&lt;br&gt;
watch the token total drop in real time. After the request, the manifest is&lt;br&gt;
written to disk, so "what exactly did the model see when it produced this&lt;br&gt;
diff?" is an answerable question — weeks later, in an audit, if needed.&lt;/p&gt;

&lt;p&gt;The codebase index (RAG) follows the same rule: retrieval hits appear as&lt;br&gt;
individual, labeled items in the manifest, and if nothing was injected, the&lt;br&gt;
panel says &lt;em&gt;why&lt;/em&gt; (index disabled / still building / no hits / provider&lt;br&gt;
doesn't support embeddings). No silent failures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature 2: The Authorization Gate
&lt;/h2&gt;

&lt;p&gt;The agent runtime physically cannot write a file or execute a shell command&lt;br&gt;
without a per-action approval. The gate shows the exact operation — file path&lt;br&gt;
or full command line — and you approve, reject, or remember the decision for&lt;br&gt;
the project.&lt;/p&gt;

&lt;p&gt;This isn't a system-prompt promise. The tool execution path routes through an&lt;br&gt;
authorizer; without a recorded approval the call doesn't happen. MCP tool&lt;br&gt;
servers get the same treatment: every external tool call goes through the gate&lt;br&gt;
under its fully-qualified name.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature 3: Lean context by routing
&lt;/h2&gt;

&lt;p&gt;More context isn't better context. DevWit includes a task router that&lt;br&gt;
classifies each request: simple ones (typo fixes, small questions) go to a&lt;br&gt;
local model via Ollama — free, private, offline-capable — while complex&lt;br&gt;
multi-file work goes to your configured cloud model (Anthropic or any&lt;br&gt;
OpenAI-compatible API). A per-session usage ledger tracks tokens and estimated&lt;br&gt;
cost, so the routing decision is auditable too.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's a real IDE, not a chat wrapper
&lt;/h2&gt;

&lt;p&gt;Under the AI features is a daily-driver editor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript language server&lt;/strong&gt; — live diagnostics, hover, go-to-definition&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrated Git&lt;/strong&gt; — status badges in the file tree, stage/commit, inline diff&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Breakpoint debugging&lt;/strong&gt; — DAP via js-debug: breakpoints, stepping, variable
inspection&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-agent orchestration&lt;/strong&gt; — a planner mode decomposes intent into
parallel sub-agents with per-agent activity streams&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Custom modes&lt;/strong&gt; — define your own system prompt / tool set / model /
context policy per mode, hot-reloaded, shareable as JSON&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP tool servers&lt;/strong&gt; — stdio servers managed from settings, lifecycle
handled on quit&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Engineering honesty
&lt;/h2&gt;

&lt;p&gt;v0.3.0 is verified by &lt;strong&gt;614 unit tests and 28 end-to-end suites&lt;/strong&gt; that drive&lt;br&gt;
the real packaged app (not mocks). Ships for Windows (NSIS), macOS (dmg/zip),&lt;br&gt;
and Linux (AppImage/deb), with auto-update from GitHub Releases.&lt;/p&gt;

&lt;p&gt;What it deliberately does &lt;strong&gt;not&lt;/strong&gt; have: accounts, cloud sync, a marketplace,&lt;br&gt;
or any paywall. Telemetry is opt-in, off by default, anonymous, and collects&lt;br&gt;
zero content — the endpoint is configurable if you'd rather self-host&lt;br&gt;
&lt;a href="https://posthog.com" rel="noopener noreferrer"&gt;PostHog&lt;/a&gt;. It's free software, and it will stay that way.&lt;/p&gt;

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

&lt;p&gt;The near-term roadmap is trust and reach: Azure Trusted Signing for Windows&lt;br&gt;
builds (infrastructure is already in CI, waiting on my account), winget&lt;br&gt;
distribution (PR under review), then deeper LSP language coverage.&lt;/p&gt;

&lt;p&gt;If you work on a team with compliance requirements — or you simply want to&lt;br&gt;
know what your AI tools are doing — I'd genuinely love your feedback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links&lt;/strong&gt;: &lt;a href="https://github.com/eeyzs1/DevWit" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; ·&lt;br&gt;
&lt;a href="https://github.com/eeyzs1/DevWit/releases/latest" rel="noopener noreferrer"&gt;Releases&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>electron</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
