<?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: zhan jianping</title>
    <description>The latest articles on DEV Community by zhan jianping (@zhan_jianping_43b53afc14f).</description>
    <link>https://dev.to/zhan_jianping_43b53afc14f</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%2F3949014%2Ff81016df-52e6-4c2d-bafc-4a6c5619e2d7.png</url>
      <title>DEV Community: zhan jianping</title>
      <link>https://dev.to/zhan_jianping_43b53afc14f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zhan_jianping_43b53afc14f"/>
    <language>en</language>
    <item>
      <title>How I built a browser-based image compressor that never uploads your files</title>
      <dc:creator>zhan jianping</dc:creator>
      <pubDate>Sun, 24 May 2026 12:24:15 +0000</pubDate>
      <link>https://dev.to/zhan_jianping_43b53afc14f/how-i-built-a-browser-based-image-compressor-that-never-uploads-your-files-4no2</link>
      <guid>https://dev.to/zhan_jianping_43b53afc14f/how-i-built-a-browser-based-image-compressor-that-never-uploads-your-files-4no2</guid>
      <description>&lt;p&gt;I recently launched &lt;a href="https://imagekittools.com" rel="noopener noreferrer"&gt;ImageKitTools&lt;/a&gt;, a browser-based image compressor, resizer, and converter built around one rule: your images should stay on your device.&lt;/p&gt;

&lt;p&gt;A lot of image tools still require uploads for basic tasks. That works, but it also adds friction, privacy concerns, and unnecessary waiting for small workflows like compressing images to 100KB, resizing a few social assets, or converting between JPG, PNG, and WebP.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built it this way
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Privacy: files are processed locally in the browser instead of being uploaded to a server.&lt;/li&gt;
&lt;li&gt;Speed: local processing feels much faster for everyday image tasks.&lt;/li&gt;
&lt;li&gt;Simplicity: no account, no watermark, no upload queue.&lt;/li&gt;
&lt;li&gt;Practicality: batch processing and ZIP download matter more than fancy editing for many users.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the tool currently does
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Compress images with practical size targets like 100KB and 200KB&lt;/li&gt;
&lt;li&gt;Resize images for common workflows&lt;/li&gt;
&lt;li&gt;Convert between JPG, PNG, and WebP&lt;/li&gt;
&lt;li&gt;Process multiple files and download the results as a ZIP&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What was harder than expected
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Hitting size targets without destroying quality
&lt;/h3&gt;

&lt;p&gt;"Compress to 100KB" sounds simple until you try to make the result look acceptable across very different images. Some images compress nicely, while others fall apart quickly. The UI has to balance predictable output size with reasonable visual quality.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Keeping the browser responsive
&lt;/h3&gt;

&lt;p&gt;Batch processing is useful, but it is easy to make the browser feel heavy when multiple images are being decoded, transformed, and exported. Managing that workflow carefully matters a lot more than it seems at first.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Making format conversion feel obvious
&lt;/h3&gt;

&lt;p&gt;Users do not want to think about implementation details. They just want to know: what format should I use, what quality will I lose, and what comes out at the end?&lt;/p&gt;

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

&lt;p&gt;The biggest lesson is that small utility products become better when they focus on one promise and remove everything that gets in the way. In this case, that promise was: quick image processing, no upload, no watermark.&lt;/p&gt;

&lt;p&gt;If you want to try it or share feedback, here is the project:&lt;/p&gt;

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

&lt;p&gt;I would especially love feedback on compression quality, batch UX, and which image workflows are still missing.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>data</category>
    </item>
  </channel>
</rss>
