<?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[Jazi Tech]]></title><description><![CDATA[Jazi Tech]]></description><link>https://jazitech.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Thu, 12 Nov 2026 08:57:25 GMT</lastBuildDate><atom:link href="https://jazitech.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How Long Will Your Solar Battery Last? Calculate It in Seconds]]></title><description><![CDATA[If you run a home solar setup, you have asked this question: how long will my battery actually last when the power goes out? The answer depends on three…]]></description><link>https://jazitech.hashnode.dev/how-long-will-your-solar-battery-last-calculate-it-in-seconds</link><guid isPermaLink="true">https://jazitech.hashnode.dev/how-long-will-your-solar-battery-last-calculate-it-in-seconds</guid><category><![CDATA[solar]]></category><category><![CDATA[calculator]]></category><category><![CDATA[tools]]></category><category><![CDATA[Energy]]></category><dc:creator><![CDATA[Jazi Tech]]></dc:creator><pubDate>Sat, 07 Nov 2026 22:43:34 GMT</pubDate><content:encoded><![CDATA[<p>If you run a home solar setup, you have asked this question: how long will my battery actually last when the power goes out? The answer depends on three numbers — your battery capacity, your load, and how deeply you are willing to discharge the battery. The math itself is simple:</p>
<p>Backup time = (battery Ah x battery voltage x usable depth of discharge) / load in watts</p>
<p>A worked example: a 150Ah, 12V battery at 80 percent usable capacity gives you 1,440 watt-hours. Run a 500W load on it and you get just under 3 hours. Change the load to 200W and the same battery lasts over 7 hours. Most people get this wrong because they guess the load instead of adding it up.</p>
<p>Doing this by hand every time you change an appliance is tedious, so I use a free calculator that does it instantly — enter your battery size and load, and it tells you the backup time. No sign-up, no download: <a href="https://segaflash.com/2026/09/17/solarbatterybackuptimecalculator/">https://segaflash.com/2026/09/17/solarbatterybackuptimecalculator/</a></p>
<p>Two things the calculator reminds you of that the raw math hides: first, never plan to drain a lead-acid battery to zero — staying above 50 percent depth of discharge roughly doubles its life. Second, your inverter is not 100 percent efficient, so add a small margin to the load side. Plan with those two rules and your backup estimate will be honest instead of optimistic.</p>
]]></content:encoded></item><item><title><![CDATA[Everything Client-Side: How I Built 50+ Free Browser Tools That Never Upload Your Files]]></title><description><![CDATA[When I started building SegaFlash, I made one architectural decision that shaped everything: if a file can be processed in the browser, it never touches a…]]></description><link>https://jazitech.hashnode.dev/everything-client-side-how-i-built-50-free-browser-tools-that-never-upload-your-files</link><guid isPermaLink="true">https://jazitech.hashnode.dev/everything-client-side-how-i-built-50-free-browser-tools-that-never-upload-your-files</guid><category><![CDATA[webdev]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[tools]]></category><category><![CDATA[Open Source]]></category><dc:creator><![CDATA[Jazi Tech]]></dc:creator><pubDate>Wed, 21 Oct 2026 15:11:54 GMT</pubDate><content:encoded><![CDATA[<p>When I started building <a href="https://segaflash.com/tools/">SegaFlash</a>, I made one architectural decision that shaped everything: <strong>if a file can be processed in the browser, it never touches a server.</strong></p>
<p>No upload queues. No "your file will be deleted in 24 hours" promises you have to trust. No storage costs. Here is what that looks like in practice, and what I learned shipping 50+ tools this way.</p>
<h2>The stack is boring — on purpose</h2>
<p>Almost everything is vanilla JavaScript plus a few well-chosen libraries:</p>
<ul>
<li><strong>Canvas API</strong> for image compression, resizing, watermarking and format conversion</li>
<li><strong>pdf-lib / PDF.js</strong> for merging, splitting and editing PDFs entirely in memory</li>
<li><strong>Tesseract.js</strong> for OCR that runs on the user's own CPU</li>
<li><strong>ONNX Runtime Web</strong> for AI tasks like background removal — the model downloads once (~40 MB) and then inference is 100% local</li>
</ul>
<h2>Lesson 1: File size is a UX problem, not a storage problem</h2>
<p>The background remover taught me this. Users would upload a 45 MP phone photo and the model would choke. The fix was simple: downscale to a max of 1024px on the longest edge <em>before</em> inference. Quality stayed great for the output people actually need, and processing time dropped by ~5x.</p>
<p>The same trick powers the <a href="https://segaflash.com/2026/09/06/image-compressor/">image compressor</a> — draw to canvas at the target dimensions, export at a quality ladder (try 0.85, step down until the size target is met), done.</p>
<h2>Lesson 2: WordPress will mangle your JavaScript</h2>
<p>Most of the tools live inside WordPress posts, and <code>wpautop</code> loves injecting <code>&lt;p&gt;</code> and <code>&lt;br&gt;</code> tags into inline scripts — which silently kills them with syntax errors. Six of my tools were dead for exactly this reason (plus a regex-escaping bug and one missing brace).</p>
<p>The durable fix was a single render-time snippet that protects tool scripts from <code>wpautop</code> mangling, instead of editing 51 posts one by one. If you ship JS inside CMS content, sanitize at render time, not at authoring time.</p>
<h2>Lesson 3: "Runs locally" is a feature users understand</h2>
<p>I expected people to care about speed. They care about <strong>privacy</strong> more. "Your files never leave your device" is the single line that converts visitors — for the <a href="https://segaflash.com/2026/09/06/pdftoword/">PDF to Word converter</a>, the <a href="https://segaflash.com/password-generator/">password generator</a>, everything.</p>
<h2>The trade-offs are real</h2>
<p>Client-side isn't free:</p>
<ul>
<li>Big WASM models mean a heavy first load (mitigate: lazy-load the model only when the tool is opened, and show honest progress)</li>
<li>Low-end phones struggle with OCR and AI inference</li>
<li>You can't do anything that genuinely needs a server (real-time collab, huge files)</li>
</ul>
<p>But for the classic "utility tool" category — compress, convert, generate, calculate — the browser is enough, and the user wins on privacy, speed and cost.</p>
<h2>Try them</h2>
<p>All 50+ tools are free with no sign-up on the <a href="https://segaflash.com/tools/">SegaFlash tools hub</a>. The calculators (like the <a href="https://segaflash.com/2026/10/09/mortgage-calculator/">mortgage calculator</a> and <a href="https://segaflash.com/bmi-calculator/">BMI calculator</a>) are pure JS too — view source and steal whatever is useful.</p>
<p>If you are building client-side tools, I would love to hear how you handle the model-size problem. Drop your approach in the comments.</p>
]]></content:encoded></item></channel></rss>