<?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: Mayank Rai</title>
    <description>The latest articles on DEV Community by Mayank Rai (@vomayank).</description>
    <link>https://dev.to/vomayank</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%2F3861243%2Fdcef19a4-2d20-4f02-94ca-b9a9106ac074.png</url>
      <title>DEV Community: Mayank Rai</title>
      <link>https://dev.to/vomayank</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vomayank"/>
    <language>en</language>
    <item>
      <title>One month after launching Toolkiya — 97 free browser tools, real GSC numbers, what worked, what didn't</title>
      <dc:creator>Mayank Rai</dc:creator>
      <pubDate>Tue, 21 Apr 2026 14:25:16 +0000</pubDate>
      <link>https://dev.to/vomayank/one-month-after-launching-toolkiya-97-free-browser-tools-real-gsc-numbers-what-worked-what-4205</link>
      <guid>https://dev.to/vomayank/one-month-after-launching-toolkiya-97-free-browser-tools-real-gsc-numbers-what-worked-what-4205</guid>
      <description>&lt;p&gt;A month ago I &lt;a href="https://dev.to/vomayank/i-built-65-free-browser-tools-with-nextjs-zero-server-cost-4hei"&gt;launched Toolkiya&lt;/a&gt; with 65 free browser tools. It's now at 97 tools — still 100% client-side, still zero server cost.&lt;/p&gt;

&lt;p&gt;The launch post did better than I expected: hit ProductHunt, got traction on Hacker News, and pulled in real organic traffic. A month later, I have actual GSC data. Here's what it shows — and what I'd do differently.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Numbers (Google Search Console, 30 days)
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Total Impressions&lt;/td&gt;
&lt;td&gt;3,200+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total Clicks&lt;/td&gt;
&lt;td&gt;180+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Average CTR&lt;/td&gt;
&lt;td&gt;~5.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Average Position&lt;/td&gt;
&lt;td&gt;18.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pages getting impressions&lt;/td&gt;
&lt;td&gt;34&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Not viral. But real, compounding, and growing week over week.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Worked
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Long-tail tool pages rank fast
&lt;/h3&gt;

&lt;p&gt;Pages like &lt;code&gt;/tools/json-formatter&lt;/code&gt; and &lt;code&gt;/tools/base64-encoder&lt;/code&gt; started getting impressions within 2 weeks. Google indexes utility tool pages quickly when the content is focused and the intent is clear.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lesson:&lt;/strong&gt; One tool per page with a clear H1 beats a mega-page listing 50 tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Zero server cost = zero pressure
&lt;/h3&gt;

&lt;p&gt;Everything runs client-side (Next.js static export + Vercel). No API calls, no database, no monthly bill creeping up. This lets me ship and iterate without worrying about cost per user.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The DEV.to launch post brought lasting referral traffic
&lt;/h3&gt;

&lt;p&gt;Weeks after posting, it still drives occasional referral clicks. Writing a genuine build post — not just a product announcement — made people actually want to check the tool.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Didn't Work
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. The homepage ranks for almost nothing
&lt;/h3&gt;

&lt;p&gt;I optimized the homepage for "free browser tools" — too broad, too competitive. It gets impressions but ranks around position 40+. Individual tool pages outrank the homepage for their own queries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Stop trying to rank the homepage. Double down on individual tool SEO.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Tools with no search demand get no traffic
&lt;/h3&gt;

&lt;p&gt;Some tools I built because they seemed useful. Turns out nobody searches for them. GSC impressions = 0 after a month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Do keyword research &lt;em&gt;before&lt;/em&gt; building the next tool, not after.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. No internal linking strategy
&lt;/h3&gt;

&lt;p&gt;I had 97 tools with almost no cross-linking. Wasted PageRank and missed opportunities to keep users exploring.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fix:&lt;/strong&gt; Added "Related Tools" sections. Already seeing longer session times.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I'm Doing in Month 2
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Writing individual "how to" blog posts for high-traffic tools&lt;/li&gt;
&lt;li&gt;Adding structured data (FAQ schema) to top pages&lt;/li&gt;
&lt;li&gt;Targeting 10 new tools based on keyword gap analysis&lt;/li&gt;
&lt;li&gt;Building backlinks through genuine community posts (like this one)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Stack (in case you missed it)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Framework:&lt;/strong&gt; Next.js (static export)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; Vercel (free tier)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost:&lt;/strong&gt; $0/month&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tools:&lt;/strong&gt; 97 and counting&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you're building a tools site or thinking about one — the client-side only approach is genuinely underrated for SEO. Fast pages, no server errors, easy caching.&lt;/p&gt;

&lt;p&gt;Happy to answer questions about the architecture, the SEO approach, or anything else. And if you want to try the tools: &lt;a href="https://toolkiya.com" rel="noopener noreferrer"&gt;toolkiya.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>nextjs</category>
      <category>seo</category>
      <category>indiehackers</category>
    </item>
    <item>
      <title>I Built 65+ Free Browser Tools with Next.js — Zero Server Cost</title>
      <dc:creator>Mayank Rai</dc:creator>
      <pubDate>Sat, 04 Apr 2026 16:47:24 +0000</pubDate>
      <link>https://dev.to/vomayank/i-built-65-free-browser-tools-with-nextjs-zero-server-cost-4hei</link>
      <guid>https://dev.to/vomayank/i-built-65-free-browser-tools-with-nextjs-zero-server-cost-4hei</guid>
      <description>&lt;p&gt;Every time I needed to merge a PDF, compress an image, or generate a QR code, I had to:                                                                                           &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sign up for yet another account
&lt;/li&gt;
&lt;li&gt;Upload my files to some unknown server
&lt;/li&gt;
&lt;li&gt;Hit a "free limit" after 2 uses
&lt;/li&gt;
&lt;li&gt;Pay $12/month for basic utilities
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So I decided to build my own solution. &lt;strong&gt;65+ tools. Zero server cost. Everything runs in the browser.&lt;/strong&gt;                                                                           &lt;/p&gt;

&lt;p&gt;## What I Built                                                                                                                                                                   &lt;/p&gt;

&lt;p&gt;&lt;a href="https://toolkiya.com" rel="noopener noreferrer"&gt;Toolkiya&lt;/a&gt; — a free online tools platform where every tool runs 100% client-side in your browser. No file uploads, no signups, no limits.                   &lt;/p&gt;

&lt;p&gt;### Tools Available                                                                                                                                                               &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PDF Tools&lt;/strong&gt; — Merge, compress, split, edit (with signatures, stamps, annotations)                                                                                               &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Image Tools&lt;/strong&gt; — Compress, resize, crop, convert, AI background removal, watermark                                                                                               &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;QR Tools&lt;/strong&gt; — Generate and scan QR codes                                                                                                                                         &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developer Tools&lt;/strong&gt; — JSON formatter, regex tester, diff checker, hash generator, Base64 encoder, timestamp converter                                                             &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Document Generators&lt;/strong&gt; — Invoice, resume builder, rent receipt, salary slip                                                                                                      &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Calculators&lt;/strong&gt; — EMI, GST, age calculator, unit converter                                                                                                                        &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creative Tools&lt;/strong&gt; — Meme generator, collage maker, WhatsApp sticker maker, festival greeting cards                                                                               &lt;/p&gt;

&lt;p&gt;## The Tech Stack                                                                                                                                                                 &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Framework:&lt;/strong&gt; Next.js 16 (App Router)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Styling:&lt;/strong&gt; Tailwind CSS + shadcn/ui
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language:&lt;/strong&gt; TypeScript
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF:&lt;/strong&gt; pdf-lib + pdfjs-dist
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Images:&lt;/strong&gt; Canvas API + browser-image-compression
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI:&lt;/strong&gt; &lt;a class="mentioned-user" href="https://dev.to/imgly"&gt;@imgly&lt;/a&gt;/background-removal (client-side ONNX)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;QR:&lt;/strong&gt; qrcode + jsqr
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; Vercel (free tier)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analytics:&lt;/strong&gt; Vercel Analytics + Google Analytics 4
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## Why Client-Side?                                                                                                                                                               &lt;/p&gt;

&lt;p&gt;The key architectural decision was making everything run in the browser:                                                                                                          &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Privacy&lt;/strong&gt; — Files never leave the user's device. No server ever sees your data.                                                                                              &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Zero marginal cost&lt;/strong&gt; — Whether 1 user or 100,000 users, server cost stays at $0.                                                                                             &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. No rate limits&lt;/strong&gt; — No server to overload, so users can process unlimited files.                                                                                              &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Speed&lt;/strong&gt; — No upload/download time. Processing starts instantly.                                                                                                              &lt;/p&gt;

&lt;p&gt;## How It Works                                                                                                                                                                   &lt;/p&gt;

&lt;p&gt;For PDF merging, I use pdf-lib to load each PDF, copy all pages into a new document, and save — all in JavaScript. The file never touches a server.                               &lt;/p&gt;

&lt;p&gt;For image compression, browser-image-compression uses Web Workers to process images without blocking the UI thread.                                                               &lt;/p&gt;

&lt;p&gt;For AI background removal, &lt;a class="mentioned-user" href="https://dev.to/imgly"&gt;@imgly&lt;/a&gt;/background-removal runs an ONNX model directly in the browser using WebAssembly.                                                                &lt;/p&gt;

&lt;p&gt;## SEO Strategy                                                                                                                                                                   &lt;/p&gt;

&lt;p&gt;Every tool page has:                                                                                                                                                              &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unique metadata (title, description, keywords)
&lt;/li&gt;
&lt;li&gt;FAQ schema (JSON-LD) for Google rich results
&lt;/li&gt;
&lt;li&gt;Breadcrumb schema
&lt;/li&gt;
&lt;li&gt;Canonical URLs
&lt;/li&gt;
&lt;li&gt;Sitemap with all 110+ routes
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## The Numbers                                                                                                                                                                    &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Week 1 stats:&lt;/strong&gt;                                                                                                                                                                 &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;46 visitors, 273 page views
&lt;/li&gt;
&lt;li&gt;6 pages per visitor (good engagement)
&lt;/li&gt;
&lt;li&gt;Google already indexing pages
&lt;/li&gt;
&lt;li&gt;Traffic growing daily
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cost breakdown:&lt;/strong&gt;                                                                                                                                                               &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Domain: $10/year
&lt;/li&gt;
&lt;li&gt;Hosting: $0 (Vercel free tier)
&lt;/li&gt;
&lt;li&gt;Server: $0 (client-side processing)
&lt;/li&gt;
&lt;li&gt;Total: $10/year for 65+ tools
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## What I Learned                                                                                                                                                                 &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Client-side processing is underrated.&lt;/strong&gt; Most "online tools" upload your files unnecessarily. Canvas API and pdf-lib can handle 90% of common tasks.                          &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;SEO compounds.&lt;/strong&gt; Every blog post and tool page is a potential entry point from Google. More pages = more traffic over time.                                                  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dark mode matters.&lt;/strong&gt; Switching to dark mode by default increased time-on-site noticeably.                                                                                    &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Users love "no signup."&lt;/strong&gt; The #1 feedback I get is "thank you for not making me create an account."                                                                          &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;## Try It                                                                                                                                                                         &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://toolkiya.com" rel="noopener noreferrer"&gt;https://toolkiya.com&lt;/a&gt;&lt;/strong&gt;                                                                                                                                  &lt;/p&gt;

&lt;p&gt;65+ tools, all free, all client-side. No signup needed.                                                                                                                           &lt;/p&gt;




</description>
      <category>nextjs</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
