<?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: Sreten Madzgalj</title>
    <description>The latest articles on DEV Community by Sreten Madzgalj (@sreten).</description>
    <link>https://dev.to/sreten</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%2F3877139%2F27bc55cd-65bb-4b59-a5f7-dfe499973e09.jpg</url>
      <title>DEV Community: Sreten Madzgalj</title>
      <link>https://dev.to/sreten</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sreten"/>
    <language>en</language>
    <item>
      <title>I build free browser tools with Next.js — no backend, no uploads, everything runs client-side</title>
      <dc:creator>Sreten Madzgalj</dc:creator>
      <pubDate>Mon, 13 Apr 2026 17:26:19 +0000</pubDate>
      <link>https://dev.to/sreten/i-build-free-browser-tools-with-nextjs-no-backend-no-uploads-everything-runs-client-side-a0m</link>
      <guid>https://dev.to/sreten/i-build-free-browser-tools-with-nextjs-no-backend-no-uploads-everything-runs-client-side-a0m</guid>
      <description>&lt;p&gt;I've been building &lt;a href="https://supereasy.tools/en" rel="noopener noreferrer"&gt;supereasy.tools&lt;/a&gt; — a collection of small, fast, privacy-friendly browser utilities. No accounts, no uploads, no server-side processing.&lt;/p&gt;

&lt;p&gt;Here's what's live so far:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Color Palette Extractor&lt;/strong&gt; — drop an image, get the dominant colors as hex codes - this one I'm proud of&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON Formatter&lt;/strong&gt; — paste messy JSON, get it clean and readable instantly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Base64 Encoder / Decoder&lt;/strong&gt; — encode or decode without leaving the browser&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SVG to PNG&lt;/strong&gt; — convert SVGs client-side, pick your resolution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HEIC to JPG&lt;/strong&gt; — convert iPhone photos without installing anything&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text Case Converter&lt;/strong&gt; — camelCase, snake_case, UPPER, Title Case, and more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Percentage Calculator&lt;/strong&gt; — simple but surprisingly useful&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it's built
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js App Router&lt;/strong&gt; with &lt;code&gt;output: 'export'&lt;/code&gt; — fully static, hosted on Cloudflare Pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;next-intl&lt;/strong&gt; for i18n wired from day one (only English ships now, but adding a locale later is just config + translation files)&lt;/li&gt;
&lt;li&gt;Heavy libraries (like the HEIC converter) lazy-load behind user interaction, not on mount — so initial page load stays fast&lt;/li&gt;
&lt;li&gt;Each tool is code-split independently — visiting the JSON formatter doesn't download the HEIC converter&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why client-side only?
&lt;/h2&gt;

&lt;p&gt;Privacy. Most tools that handle files send them to a server. With these tools, your files never leave your device. It also means zero infrastructure costs and no GDPR headaches.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;More tools. If there's something you keep reaching for a clunky online tool to do, let me know in the comments.&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://supereasy.tools/en" rel="noopener noreferrer"&gt;supereasy.tools&lt;/a&gt;&lt;/p&gt;

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