<?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: RAJAT DAS</title>
    <description>The latest articles on DEV Community by RAJAT DAS (@rajat_das_212ef22dde4dc6d).</description>
    <link>https://dev.to/rajat_das_212ef22dde4dc6d</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%2F4133872%2F479fbf2d-1ca7-4dce-8013-eb54079c09ba.jpg</url>
      <title>DEV Community: RAJAT DAS</title>
      <link>https://dev.to/rajat_das_212ef22dde4dc6d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rajat_das_212ef22dde4dc6d"/>
    <language>en</language>
    <item>
      <title>I built two AI tools that run entirely in the browser — no server, no API bills. Here's what worked and what didn't.</title>
      <dc:creator>RAJAT DAS</dc:creator>
      <pubDate>Sun, 20 Sep 2026 08:37:16 +0000</pubDate>
      <link>https://dev.to/rajat_das_212ef22dde4dc6d/i-built-two-ai-tools-that-run-entirely-in-the-browser-no-server-no-api-bills-heres-what-worked-408j</link>
      <guid>https://dev.to/rajat_das_212ef22dde4dc6d/i-built-two-ai-tools-that-run-entirely-in-the-browser-no-server-no-api-bills-heres-what-worked-408j</guid>
      <description>&lt;p&gt;I've been building a free converter toolkit (Toolbench), and wanted to add some AI-powered tools without taking on API costs or a backend. Turns out you can run real AI models — OCR and image upscaling — entirely client-side using WebAssembly and TensorFlow.js.&lt;/p&gt;

&lt;p&gt;What worked:&lt;/p&gt;

&lt;p&gt;OCR via Tesseract.js — genuinely solid text extraction, runs fully in-browser&lt;br&gt;
Image upscaling via UpscalerJS — WebGL-accelerated, no server round-trip&lt;/p&gt;

&lt;p&gt;What didn't work:&lt;br&gt;
I also tried adding background removal using a model pulled from a CDN. Looked simple on paper. In practice, the model failed to load reliably across browsers — CORS issues, CDN timeouts, inconsistent behavior. After a few days of chasing it, I just cut it. Sometimes the right move is dropping a feature instead of forcing it to work.&lt;/p&gt;

&lt;p&gt;The part nobody tells you:&lt;br&gt;
Client-side AI models have real constraints — memory limits on large images, worker initialization latency, WebGL backend requirements for usable speed. None of it is hard, but all of it is stuff you only learn by actually shipping.&lt;/p&gt;

&lt;p&gt;I wrote up the full build process (with code) if anyone wants to replicate it — [&lt;a href="https://rajatdash.gumroad.com/l/miciyo" rel="noopener noreferrer"&gt;https://rajatdash.gumroad.com/l/miciyo&lt;/a&gt;]. Happy to answer questions about the implementation in the comments too.&lt;/p&gt;

&lt;p&gt;Also figuring out what to build/write next — genuinely curious if people would rather see another tool breakdown like this one, or something on getting a side project's first users without spending on ads. Drop a comment if you have a strong preference.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>ai</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
