<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[How We Built a 100% Client-Side Exact-KB Image Compressor & 16-Mode SVG QR Studio in TypeScript]]></title><description><![CDATA[Most online image compressors and QR code generators have two major problems:

Privacy risks: They upload your sensitive passport photos, ID cards, or governmen]]></description><link>https://exact-kb.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 11:28:04 GMT</lastBuildDate><atom:link href="https://exact-kb.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How We Built a 100% Client-Side Exact-KB Image Compressor & 16-Mode SVG QR Studio in TypeScript]]></title><description><![CDATA[Most online image compressors and QR code generators have two major problems: To solve this, we built CompressPhoto (ExactKB) — a 100% client-side…]]></description><link>https://exact-kb.hashnode.dev/how-we-built-a-100-client-side-exact-kb-image-compressor-16-mode-svg-qr-studio-in-typescript</link><guid isPermaLink="true">https://exact-kb.hashnode.dev/how-we-built-a-100-client-side-exact-kb-image-compressor-16-mode-svg-qr-studio-in-typescript</guid><category><![CDATA[webdev]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Open Source]]></category><dc:creator><![CDATA[KACI Abdelkhalek]]></dc:creator><pubDate>Tue, 03 Nov 2026 15:45:33 GMT</pubDate><content:encoded><![CDATA[<p>Most online image compressors and QR code generators have two major problems:</p>
<ol>
<li><strong>Privacy risks:</strong> They upload your sensitive passport photos, ID cards, or government forms to remote cloud servers.</li>
<li><strong>Lack of exact byte control:</strong> Standard sliders let you pick <code>"80% quality"</code>, which is useless when a government portal (like <strong>USCIS</strong>, <strong>DS-160</strong>, or <strong>SSC/UPSC</strong>) strictly requires a photo under <strong>20KB</strong>, <strong>50KB</strong>, or <strong>100KB</strong>.</li>
</ol>
<p>To solve this, we built <a href="https://compressphoto.space/"><strong>CompressPhoto (ExactKB)</strong></a> — a 100% client-side, zero-upload web utility suite powered by the HTML5 Canvas API, Web Workers, and custom SVG geometry.</p>
<hr />
<h2>1. Binary Search for Exact-KB Image Compression</h2>
<p>Instead of guessing a JPEG or WebP quality factor, <a href="https://compressphoto.space/"><strong>CompressPhoto</strong></a> runs a deterministic binary search loop over the <code>HTMLCanvasElement.toBlob()</code> quality parameter (<code>0.01</code> to <code>1.00</code>) directly in the user's browser memory.</p>
<h3>Built-In Presets for Strict Portal Requirements</h3>
<p>We created dedicated workflows for the most common file-size limits on the web:</p>
<ul>
<li><a href="https://compressphoto.space/compress-image-to-20kb"><strong>Compress Image to 20KB</strong></a> &amp; <a href="https://compressphoto.space/compress-image-to-50kb"><strong>Compress Image to 50KB</strong></a> for <a href="https://compressphoto.space/ssc-upsc-photo-signature-compressor"><strong>SSC &amp; UPSC Photo/Signature Portals</strong></a>.</li>
<li><a href="https://compressphoto.space/compress-image-to-100kb"><strong>Compress Image to 100KB</strong></a> &amp; <a href="https://compressphoto.space/compress-image-to-200kb"><strong>Compress Image to 200KB</strong></a> for <a href="https://compressphoto.space/ds-160-photo-compressor"><strong>DS-160 Visa Photo Submissions</strong></a> and <a href="https://compressphoto.space/uscis-photo-compressor"><strong>USCIS Immigration Forms</strong></a>.</li>
</ul>
<hr />
<h2>2. 16-Mode Vector SVG QR Code &amp; Barcode Studio</h2>
<p>Most free QR generators lock vector SVG downloads, custom eye frames, or center logos behind a monthly subscription, or inject tracking redirects that expire after 14 days.</p>
<p>With the <a href="https://compressphoto.space/qr"><strong>CompressPhoto QR Code &amp; Barcode Studio</strong></a>, every code is generated locally as pure mathematical SVG geometry:</p>
<ul>
<li><strong>16 Direct-Payload Modes:</strong> URL, Plain Text, Wi-Fi (<code>WIFI:T:WPA;...</code>), Full vCard 3.0 Contact, Email, SMS, Phone, WhatsApp, Calendar Event (<code>VEVENT</code>), GPS Coordinates, Cryptocurrency (BTC/ETH/SOL), <a href="http://PayPal.Me">PayPal.Me</a>, Zoom Meeting, Social Links, App Store, and 1D Barcodes (CODE128, EAN-13, UPC).</li>
<li><strong>Custom Styling Engine:</strong> Supports square, rounded, dot, diamond, and classy module shapes, linear/radial SVG gradients, custom corner finder eyes, scan-me CTA frames, and center brand logos.</li>
<li><strong>Batch QR ZIP Export:</strong> Generate dozens of QR codes at once and download them as high-resolution PNG, WebP, or infinitely scalable vector SVG files.</li>
</ul>
<hr />
<h2>3. Biometric Passport Photo Maker &amp; Private PDF Toolkit</h2>
<p>Alongside exact-KB compression and QR generation, the suite includes two additional zero-server tools:</p>
<ul>
<li><a href="https://compressphoto.space/passport"><strong>Biometric Passport &amp; Visa Photo Maker</strong></a><strong>:</strong> Crops and formats official 2x2 inch (US DS-160 / USCIS), 35x45mm (UK / Schengen), and international passport photos with printable 4x6 sheet layouts.</li>
<li><a href="https://compressphoto.space/pdf"><strong>Client-Side PDF Compressor &amp; Converter</strong></a><strong>:</strong> Compresses oversized PDFs, merges multiple documents, converts images to PDF, and extracts PDF pages to JPG without uploading sensitive documents to third-party servers.</li>
</ul>
<hr />
<h2>Open Source &amp; Architecture</h2>
<p>The entire project is built with <strong>React 19</strong>, <strong>TypeScript</strong>, and <strong>Tailwind CSS</strong>, running 100% in the browser with zero cloud storage dependencies.</p>
<ul>
<li><strong>Live Web App:</strong> <a href="https://compressphoto.space/">https://compressphoto.space/</a></li>
<li><strong>QR Studio:</strong> <a href="https://compressphoto.space/qr">https://compressphoto.space/qr</a></li>
<li><strong>GitHub Repository:</strong> <a href="https://github.com/abdelkhalekkaci/exactkb">https://github.com/abdelkhalekkaci/exactkb</a></li>
</ul>
]]></content:encoded></item></channel></rss>