<?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: Mohamed Younis</title>
    <description>The latest articles on DEV Community by Mohamed Younis (@moyrith).</description>
    <link>https://dev.to/moyrith</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%2F3227095%2Fc0d4f52b-d46a-4836-9ee3-f0d0673c0c6b.png</url>
      <title>DEV Community: Mohamed Younis</title>
      <link>https://dev.to/moyrith</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/moyrith"/>
    <language>en</language>
    <item>
      <title>I Built a Chrome Extension in 2 Days Without Writing a Single Line of Code</title>
      <dc:creator>Mohamed Younis</dc:creator>
      <pubDate>Sun, 22 Feb 2026 03:40:39 +0000</pubDate>
      <link>https://dev.to/moyrith/i-built-a-chrome-extension-in-2-days-without-writing-a-single-line-of-code-4574</link>
      <guid>https://dev.to/moyrith/i-built-a-chrome-extension-in-2-days-without-writing-a-single-line-of-code-4574</guid>
      <description>&lt;p&gt;Every morning I open the same tabs.&lt;/p&gt;

&lt;p&gt;Figma. Notion. Analytics. Docs.&lt;/p&gt;

&lt;p&gt;One by one. Every. Single. Day.&lt;/p&gt;

&lt;p&gt;Small frustration — but small frustrations compound. So I decided to fix it.&lt;/p&gt;

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

&lt;p&gt;Toolflow is a Chrome extension that lets you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Group your tools into named workflows&lt;/li&gt;
&lt;li&gt;Open everything in one click&lt;/li&gt;
&lt;li&gt;Launch a full Chrome tab group in seconds&lt;/li&gt;
&lt;li&gt;Drag to reorder, rename, edit — everything&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's a 90-second demo:&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/qUabRoLZsLQ"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://toolflow.moyrith.com" rel="noopener noreferrer"&gt;Get Toolflow — $2.99 lifetime&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Honest Story: I Wrote Zero Code
&lt;/h2&gt;

&lt;p&gt;I directed &lt;strong&gt;Claude (Opus 4.6)&lt;/strong&gt; to build the entire thing. Every file — the manifest, background service worker, popup UI, CSS, all of it — was written by Claude.&lt;/p&gt;

&lt;p&gt;What I actually did:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Came in with one clear, specific idea&lt;/li&gt;
&lt;li&gt;Made every product and UX decision myself&lt;/li&gt;
&lt;li&gt;Described not just &lt;em&gt;what&lt;/em&gt; I wanted but &lt;em&gt;why&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;Reviewed everything and redirected when something felt off&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My job was clarity. Claude's job was implementation.&lt;/p&gt;




&lt;h2&gt;
  
  
  How It's Structured Under the Hood
&lt;/h2&gt;

&lt;p&gt;For those curious about the architecture — it's a standard Manifest V3 extension with three core files:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;background.js&lt;/code&gt;&lt;/strong&gt; — A service worker that handles URL meta-fetching. When you paste a URL into the Add Tool modal, it fetches the page's &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; and extracts the OG title and meta description automatically. It reads only the first 50KB to avoid large downloads, uses an 8-second abort timeout, and falls back gracefully if the fetch fails.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;popup.js&lt;/code&gt;&lt;/strong&gt; — All state management, rendering, drag-to-reorder logic, CRUD operations, and navigation live here. No framework — pure vanilla JS with Chrome's storage API for persistence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;popup.css&lt;/code&gt;&lt;/strong&gt; — A milky light theme with liquid glass UI components. The buttons use &lt;code&gt;backdrop-filter: blur()&lt;/code&gt; with layered border gradients to achieve the glass effect without any external library.&lt;/p&gt;

&lt;p&gt;The whole thing is intentionally zero-dependency. No React, no build step, no bundler. Just HTML, CSS, and JS — which is exactly what a Chrome extension needs to be fast and lightweight.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Directing AI Actually Looks Like
&lt;/h2&gt;

&lt;p&gt;This is the part most people get wrong when they say “AI built it.”&lt;/p&gt;

&lt;p&gt;AI doesn't make product decisions. It implements them.&lt;/p&gt;

&lt;p&gt;When I told Claude I wanted an auto-fetch feature for URLs, I didn't just say “add auto-fetch.” I described:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When it should trigger (on blur and on paste)&lt;/li&gt;
&lt;li&gt;What it should fill in (name and description only if fields are empty)&lt;/li&gt;
&lt;li&gt;How it should handle failure (silently, no error shown to user)&lt;/li&gt;
&lt;li&gt;What the loading state should look like (spinner, then checkmark, then idle)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That level of specificity is what separates a good AI-built product from slop. The taste is mine. The speed is Claude's.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Kept It Fast
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;One clear idea before starting&lt;/strong&gt; — I didn't scope-creep mid-build&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No design tool&lt;/strong&gt; — straight to code, faster feedback loop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shipped rough first&lt;/strong&gt; — polished after it worked, not before&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Total time: 2 days to build, 1 day to record the demo, build the landing page, and launch.&lt;/p&gt;




&lt;h2&gt;
  
  
  What This Means for Developers
&lt;/h2&gt;

&lt;p&gt;The bottleneck in building products used to be implementation speed.&lt;/p&gt;

&lt;p&gt;That bottleneck is largely gone for people who learn to direct AI well.&lt;/p&gt;

&lt;p&gt;The new bottleneck is &lt;strong&gt;clarity&lt;/strong&gt;. Can you describe what you want precisely enough? Can you spot what's wrong with something you didn't write yourself? Can you make fast decisions about what to cut?&lt;/p&gt;

&lt;p&gt;Those are human skills. They're worth more now, not less.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;If you open the same tabs every day, Toolflow was built for you.&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://toolflow.moyrith.com" rel="noopener noreferrer"&gt;toolflow.moyrith.com&lt;/a&gt; — $4.99, lifetime access&lt;/p&gt;

&lt;p&gt;Follow me on X &lt;a href="https://x.com/Moyrith" rel="noopener noreferrer"&gt;@Moyrith&lt;/a&gt; where I build in public.&lt;/p&gt;

&lt;p&gt;Would love to hear what workflows you'd set up — drop them in the comments.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Would love your feedback on my Portfolio 😊</title>
      <dc:creator>Mohamed Younis</dc:creator>
      <pubDate>Tue, 23 Sep 2025 22:57:01 +0000</pubDate>
      <link>https://dev.to/moyrith/would-love-your-feedback-on-my-portfolio-bj7</link>
      <guid>https://dev.to/moyrith/would-love-your-feedback-on-my-portfolio-bj7</guid>
      <description>&lt;p&gt;Hi everyone! I've been working on building my portfolio website using v0.app, and I thought, why not ask the amazing Dev Community for some fresh eyes? Everyone sees things differently, and your ideas and suggestions would mean a lot to me.&lt;/p&gt;

&lt;p&gt;Please take a moment to check out &lt;a href="https://moyrith.com" rel="noopener noreferrer"&gt;https://moyrith.com&lt;/a&gt; and share your thoughts. Thanks in advance for your time and support!&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>webdev</category>
      <category>feedback</category>
    </item>
  </channel>
</rss>
