<?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: Aldin Kozica</title>
    <description>The latest articles on DEV Community by Aldin Kozica (@dinall).</description>
    <link>https://dev.to/dinall</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%2F3880600%2Ff7e41ef8-6368-47bc-adf7-81c74cf0b1f5.png</url>
      <title>DEV Community: Aldin Kozica</title>
      <link>https://dev.to/dinall</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dinall"/>
    <language>en</language>
    <item>
      <title>Dealing with the first user feedback: The good, the bad, and the Brave Browser</title>
      <dc:creator>Aldin Kozica</dc:creator>
      <pubDate>Wed, 22 Apr 2026 07:44:42 +0000</pubDate>
      <link>https://dev.to/dinall/dealing-with-the-first-user-feedback-the-good-the-bad-and-the-brave-browser-l4p</link>
      <guid>https://dev.to/dinall/dealing-with-the-first-user-feedback-the-good-the-bad-and-the-brave-browser-l4p</guid>
      <description>&lt;p&gt;After 3 months of diving into SaaS discovery, marketing, and content creation—things that often make me feel uncomfortable as a developer—I finally got a sign that gave me a huge push.&lt;/p&gt;

&lt;p&gt;There’s nothing quite like getting that first email from a stranger using your tool. I recently launched &lt;strong&gt;YouThumb Tester&lt;/strong&gt;, and the first piece of feedback just landed in my inbox.&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%2Fp3fzxo92350mvuyshhbm.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%2Fp3fzxo92350mvuyshhbm.png" alt="Screenshot of an email from a user providing feedback about YouThumb Tester, mentioning a bug on Brave Browser and a missing disable button, while expressing they love the extension." width="800" height="135"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The Reality Check
&lt;/h3&gt;

&lt;p&gt;Building in a silo is one thing, but real-world usage always reveals the cracks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Bug:&lt;/strong&gt; It seems like there's a caching or injection issue on &lt;strong&gt;Brave Browser&lt;/strong&gt;. The thumbnail doesn't always show up instantly without multiple reloads. Brave's aggressive shields might be playing a role here.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The UX Flaw:&lt;/strong&gt; I completely missed a "clear/disable" button. Once the user is done testing, the preview persists in their feed. That's a friction point I need to kill immediately.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The Extension Struggle: Waiting for Approval ⏳
&lt;/h3&gt;

&lt;p&gt;Here is the kicker for anyone who isn't a browser extension dev: &lt;strong&gt;The fix isn't instant.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unlike a standard web app where I can just push a hotfix to the server and it's live for everyone in seconds, the Chrome Web Store (and other stores) has a manual review process. &lt;/p&gt;

&lt;p&gt;Even if I fix this bug in 10 minutes, I have to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Bundle the new version.&lt;/li&gt;
&lt;li&gt;Submit it for review.&lt;/li&gt;
&lt;li&gt;Wait anywhere from 24 hours to several days for it to be approved.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;It’s a strange feeling knowing there is a bug out there and having the solution ready, but being forced to wait behind a "Pending Review" status.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Win 🚀
&lt;/h3&gt;

&lt;p&gt;Despite the technical hiccups, the user mentioned they &lt;strong&gt;"really love the extension"&lt;/strong&gt; and specifically the advice it provides during the test. This is the ultimate fuel for any solo dev. It validates that the core value proposition is there, even if the implementation needs polish.&lt;/p&gt;

&lt;h3&gt;
  
  
  Next Steps
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Brave Debugging:&lt;/strong&gt; Investigating DOM injection issues specifically for Chromium-based browsers.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;The "Reset" Button:&lt;/strong&gt; Adding a clear "Reset to Original" button in the popup.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Better State Management:&lt;/strong&gt; Improving logic so the preview doesn't "ghost" after the user's session.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Technical note:&lt;/strong&gt; I tried to move as much logic as possible to my Node.js backend to keep the extension "thin," but since the issue is with DOM injection and Brave's shields, the fix still has to go through the content-script. I'm currently looking into implementing a Remote Config strategy to update selectors and UI flags via API, so I don't have to wait for a store review every time a CSS class changes.&lt;/p&gt;

&lt;p&gt;Check out the project here: &lt;a href="https://youthumb.online/" rel="noopener noreferrer"&gt;YouThumb.online&lt;/a&gt;&lt;/p&gt;

</description>
      <category>buildinpublic</category>
      <category>webdev</category>
      <category>saas</category>
      <category>showdev</category>
    </item>
    <item>
      <title>From 0 to 50 Users in 2 Months: Building a Chrome Extension with React, Node.js, and Gemini Nano</title>
      <dc:creator>Aldin Kozica</dc:creator>
      <pubDate>Wed, 15 Apr 2026 18:24:40 +0000</pubDate>
      <link>https://dev.to/dinall/from-0-to-50-users-in-2-months-building-a-chrome-extension-with-react-nodejs-and-gemini-nano-4l8g</link>
      <guid>https://dev.to/dinall/from-0-to-50-users-in-2-months-building-a-chrome-extension-with-react-nodejs-and-gemini-nano-4l8g</guid>
      <description>&lt;p&gt;Building a browser extension sounds simple until you actually try to scale it. Two months ago, I launched YouThumb a tool that help creators with the thumbnails to optimize CTR with AI, and while 50 users might seem small to some, the technical and marketing journey to get there was a massive learning curve.&lt;/p&gt;

&lt;p&gt;Here is the exact stack I used and what I’ve learned about launching a dev-tool.&lt;/p&gt;

&lt;p&gt;The Architecture (The "Banana" Stack 🍌)&lt;br&gt;
I wanted a setup that was both scalable and cost-effective. Here’s how it looks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt; (Extension): Built with React. It handles the UI for thumbnail comparisons and the overlay logic on the YouTube DOM.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend&lt;/strong&gt;: A Node.js API hosted on a Hetzner VPS. I chose Hetzner for the high performance-to-cost ratio, which is crucial when you're a solo founder keeping margins high.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Database &amp;amp; Auth&lt;/strong&gt;: Firebase. It’s still the king for quick implementation of Google Auth and real-time data syncing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The AI Brain&lt;/strong&gt;: I’m using Gemini Nano for on-device analysis. It allows for fast, multimodal processing without the heavy latency (or cost) of constantly hitting a cloud API.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Landing Page&lt;/strong&gt;: Built with Next.js for that sweet SEO and fast load times.&lt;/p&gt;

&lt;p&gt;Check out the landing page here: [&lt;a href="https://youthumb.online/" rel="noopener noreferrer"&gt;https://youthumb.online/&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;The 50-User Milestone: What Worked?&lt;br&gt;
Getting those first 50 users wasn't about "build it and they will come." It was about being where the creators are.&lt;/p&gt;

&lt;p&gt;Building in Public: Documenting the OAUTH struggles and the "Featured" badge win on social media.&lt;/p&gt;

&lt;p&gt;Dogfooding: Using the tool for my own YouTube channel and showing the results.&lt;/p&gt;

&lt;p&gt;The "Featured" Badge: This was a game-changer for credibility in the Chrome Web Store.&lt;/p&gt;

&lt;p&gt;The Biggest Challenge: The "Manifest.json" &amp;amp; OAUTH Trap&lt;br&gt;
If you’ve worked with Manifest V3, you know the pain. My biggest nightmare was aligning Firebase Auth with Chrome’s identity API while moving the backend to a dedicated VPS. It’s a delicate dance of redirect URIs and background service worker lifecycles.&lt;br&gt;
Also in addition a feature badge on chrome store to build trust and authority.&lt;/p&gt;

&lt;p&gt;I need your advice: How to scale from 50 to 500?&lt;br&gt;
Now that the technical foundation is solid and the first 50 users are providing feedback, I’m looking at the next phase.&lt;/p&gt;

&lt;p&gt;My question to the Dev.to community:&lt;br&gt;
How do you approach marketing for a browser extension? Should I focus on SEO for the landing page &lt;a href="https://youthumb.online/" rel="noopener noreferrer"&gt;YouThumb&lt;/a&gt;, or double down on niche communities like Reddit, Discord or Youtube? If you’ve launched an extension, what was your "inflection point" for growth?&lt;/p&gt;

&lt;p&gt;Let’s discuss in the comments!&lt;/p&gt;

&lt;h1&gt;
  
  
  webdev #showdev #javascript #ai #node #buildinpublic #chromextension #discuss
&lt;/h1&gt;

</description>
      <category>ai</category>
      <category>showdev</category>
      <category>buildinpublic</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
