<?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>Forem: AAAA147</title>
    <description>The latest articles on Forem by AAAA147 (@zakerr).</description>
    <link>https://forem.com/zakerr</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%2F3774948%2F45cf1994-7864-4862-871d-146f5ffc015f.jpeg</url>
      <title>Forem: AAAA147</title>
      <link>https://forem.com/zakerr</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/zakerr"/>
    <language>en</language>
    <item>
      <title>I Built 28 Developer Tools That Run Entirely in Your Browser — Here's What I Learned</title>
      <dc:creator>AAAA147</dc:creator>
      <pubDate>Mon, 16 Feb 2026 05:46:48 +0000</pubDate>
      <link>https://forem.com/zakerr/i-built-28-developer-tools-that-run-entirely-in-your-browser-heres-what-i-learned-3jei</link>
      <guid>https://forem.com/zakerr/i-built-28-developer-tools-that-run-entirely-in-your-browser-heres-what-i-learned-3jei</guid>
      <description>&lt;h3&gt;
  
  
  Body
&lt;/h3&gt;

&lt;p&gt;Every developer has a collection of bookmarked tool websites. JSON formatter here, Base64 encoder there, JWT decoder somewhere else. Most of them are bloated with ads, require sign-ups, or — worst of all — send your data to a server.&lt;/p&gt;

&lt;p&gt;I decided to build &lt;strong&gt;&lt;a href="https://devtk.dev" rel="noopener noreferrer"&gt;DevTK&lt;/a&gt;&lt;/strong&gt; — a single place for 28 essential developer tools, all running 100% client-side.&lt;/p&gt;

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

&lt;p&gt;Here's the full tool list:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Format &amp;amp; Preview:&lt;/strong&gt; JSON Formatter, SQL Formatter (8 SQL dialects), Markdown Preview&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Encode/Decode:&lt;/strong&gt; Base64, URL Encoder, JWT Decoder, Base64 Image Encoder&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generators:&lt;/strong&gt; UUID, Hash (MD5/SHA), Lorem Ipsum, QR Code, Password Generator (Web Crypto API)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Converters:&lt;/strong&gt; Color (HEX/RGB/HSL), Timestamp, YAML ↔ JSON, CSV ↔ JSON, Number Base, Text Case (10 formats)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Minifiers:&lt;/strong&gt; HTML, CSS, JavaScript&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Validators:&lt;/strong&gt; JSON Schema (Ajv), Cron Expression Parser, Chmod Calculator&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Power Tools:&lt;/strong&gt; JSON Explorer (handles 100MB+ files), WASM Call Stack Resolver&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Utilities:&lt;/strong&gt; Regex Tester, Diff Checker&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture Decisions Worth Sharing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Tool Registry Pattern
&lt;/h3&gt;

&lt;p&gt;Adding a new tool is just 4 steps:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. Write logic    → src/lib/tools/xxx.ts
2. Write component → src/components/tools/XxxTool.tsx
3. Register       → src/lib/registry.ts (one object)
4. Add i18n       → messages/en.json + zh.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Routes, SEO metadata, sitemap entries, and the homepage grid are all auto-generated from the registry. This pattern has scaled from 8 to 28 tools without any refactoring.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Lazy Parsing for Large Files
&lt;/h3&gt;

&lt;p&gt;The JSON Explorer was the most challenging tool. Opening a 100MB JSON file in a browser would normally crash the tab. My approach:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use a &lt;strong&gt;Web Worker&lt;/strong&gt; with a custom scanner that indexes the file without fully parsing it&lt;/li&gt;
&lt;li&gt;Only parse nodes when the user expands them in the tree view&lt;/li&gt;
&lt;li&gt;Search uses &lt;code&gt;key:value&lt;/code&gt; syntax and navigates via a pre-built chain, so it doesn't need to expand every node&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This lets you browse 500MB+ JSON files smoothly. I wrote a &lt;a href="https://devtk.dev/en/blog/json-large-file-navigation" rel="noopener noreferrer"&gt;detailed blog post&lt;/a&gt; about the algorithm.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Shareable URLs
&lt;/h3&gt;

&lt;p&gt;Every tool encodes its state into URL parameters. When you format a JSON, test a regex, or generate a hash, you can copy the URL and share it — the recipient sees the exact same state.&lt;/p&gt;

&lt;p&gt;The implementation uses a &lt;code&gt;useRegisterShare&lt;/code&gt; hook that each tool calls to register its serializable state with the layout.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Bilingual from Day One
&lt;/h3&gt;

&lt;p&gt;Using &lt;code&gt;next-intl&lt;/code&gt;, every string in the app has English and Chinese translations. The site auto-detects the browser's language and routes accordingly. This was straightforward with Next.js App Router's &lt;code&gt;[locale]&lt;/code&gt; segment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer&lt;/th&gt;
&lt;th&gt;Choice&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Framework&lt;/td&gt;
&lt;td&gt;Next.js 15 (App Router, static export)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Language&lt;/td&gt;
&lt;td&gt;TypeScript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Styling&lt;/td&gt;
&lt;td&gt;Tailwind CSS 4 + shadcn/ui&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;i18n&lt;/td&gt;
&lt;td&gt;next-intl v4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hosting&lt;/td&gt;
&lt;td&gt;Cloudflare Pages (free tier)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Total hosting cost: &lt;strong&gt;$0/month&lt;/strong&gt;.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;More tools every month (aiming for 40+ by mid-year)&lt;/li&gt;
&lt;li&gt;Blog posts that drive organic SEO traffic&lt;/li&gt;
&lt;li&gt;Exploring EthicalAds for sustainable revenue&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It Out
&lt;/h2&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://devtk.dev" rel="noopener noreferrer"&gt;devtk.dev&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All feedback welcome — especially tool requests. What dev tools do you reach for daily that you wish were faster or simpler?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>productivity</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
