<?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: wells tang</title>
    <description>The latest articles on DEV Community by wells tang (@wells_tang_91f309318dbcb7).</description>
    <link>https://dev.to/wells_tang_91f309318dbcb7</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4020400%2Fa46b60df-7db3-49ad-861d-c2345eb49897.jpg</url>
      <title>DEV Community: wells tang</title>
      <link>https://dev.to/wells_tang_91f309318dbcb7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wells_tang_91f309318dbcb7"/>
    <language>en</language>
    <item>
      <title>I built a free online toolbox with 80+ dev and productivity tools — here's what's inside</title>
      <dc:creator>wells tang</dc:creator>
      <pubDate>Wed, 08 Jul 2026 02:46:05 +0000</pubDate>
      <link>https://dev.to/wells_tang_91f309318dbcb7/i-built-a-free-online-toolbox-with-80-dev-and-productivity-tools-heres-whats-inside-k3k</link>
      <guid>https://dev.to/wells_tang_91f309318dbcb7/i-built-a-free-online-toolbox-with-80-dev-and-productivity-tools-heres-whats-inside-k3k</guid>
      <description>&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I had 15+ browser bookmarks for small dev tools. JSON formatter here, Base64 &lt;br&gt;
encoder there, regex tester on some random site with 5 popups. Every time I &lt;br&gt;
needed to convert a timestamp or decode a JWT, I was either searching Google &lt;br&gt;
again or navigating to a site I half-remembered.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;WorkTool&lt;/strong&gt; — a single, clean toolbox with 80+ tools. Here's what's inside.&lt;/p&gt;




&lt;h2&gt;
  
  
  Developer Tools (15 tools)
&lt;/h2&gt;

&lt;p&gt;These are the ones I use most. All run client-side with zero file uploads:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JSON Tools&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;JSON Formatter&lt;/strong&gt;: Format, compress, validate JSON with syntax highlighting (Monaco editor)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON Diff&lt;/strong&gt;: Compare two JSON objects and highlight differences — great for API debugging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Encoding / Decoding&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Base64&lt;/strong&gt;: Encode/decode text and files&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;URL Encoder&lt;/strong&gt;: &lt;code&gt;encodeURIComponent&lt;/code&gt; / &lt;code&gt;decodeURIComponent&lt;/code&gt; in a clean UI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JWT Decoder&lt;/strong&gt;: Parse header and payload, check expiration at a glance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Regex &amp;amp; Patterns&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Regex Tester&lt;/strong&gt;: Real-time match highlighting with flag support (g, i, m, s)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cron Parser&lt;/strong&gt;: Explain cron expressions in plain English — e.g. &lt;code&gt;0 9 * * 1-5&lt;/code&gt; → "At 09:00 AM, Monday through Friday"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Conversion&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Timestamp Converter&lt;/strong&gt;: Unix ↔ human-readable, with timezone support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Color Converter&lt;/strong&gt;: HEX ↔ RGB ↔ HSL with live preview&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Number Base Converter&lt;/strong&gt;: Binary, octal, decimal, hex&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Generators&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;UUID Generator&lt;/strong&gt;: v1/v4, single or batch&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hash Generator&lt;/strong&gt;: MD5, SHA1, SHA256, SHA512&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;HTTP Status Codes&lt;/strong&gt;: Full reference with descriptions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQL Formatter&lt;/strong&gt;: Format SQL with dialect support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Markdown Preview&lt;/strong&gt;: Live render with GFM support&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Image Tools (12 tools)
&lt;/h2&gt;

&lt;p&gt;Privacy-first: client-side tools never upload files.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compress&lt;/strong&gt;: Uses &lt;code&gt;browser-image-compression&lt;/code&gt; — no server upload&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Format Convert&lt;/strong&gt;: JPG/PNG ↔ WebP via Canvas API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Crop&lt;/strong&gt;: Interactive crop with aspect ratio lock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resize&lt;/strong&gt;: Set exact dimensions or percentage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Remove Background&lt;/strong&gt;: AI-powered (server-side, deleted after 1h)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watermark&lt;/strong&gt;: Text or image watermark via Canvas&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image to Base64&lt;/strong&gt;: FileReader API, instant&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EXIF Viewer&lt;/strong&gt;: Read camera metadata with &lt;code&gt;exifr&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Color Picker&lt;/strong&gt;: Extract dominant colors from image&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GIF Maker&lt;/strong&gt;: Combine images into animated GIF&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image Diff&lt;/strong&gt;: Visual comparison of two images&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SVG Optimizer&lt;/strong&gt;: SVGO via WebAssembly&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  AI Tools (10 tools, DeepSeek API)
&lt;/h2&gt;

&lt;p&gt;All use streaming output (SSE), so results start appearing immediately:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Text rewriter&lt;/li&gt;
&lt;li&gt;Article summarizer&lt;/li&gt;
&lt;li&gt;Grammar checker&lt;/li&gt;
&lt;li&gt;AI translator&lt;/li&gt;
&lt;li&gt;Weekly report generator (give bullet points → get formatted report)&lt;/li&gt;
&lt;li&gt;Code explainer (paste code → get line-by-line explanation)&lt;/li&gt;
&lt;li&gt;Title generator&lt;/li&gt;
&lt;li&gt;Resume polisher&lt;/li&gt;
&lt;li&gt;Prompt builder&lt;/li&gt;
&lt;li&gt;Mind map generator (outputs Markdown outline)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Free users: 3 AI requests/day. Pro: 200/day.&lt;/p&gt;




&lt;h2&gt;
  
  
  Data Conversion (10 tools)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;CSV ↔ JSON (PapaParse)&lt;/li&gt;
&lt;li&gt;JSON ↔ Excel (SheetJS)&lt;/li&gt;
&lt;li&gt;XML ↔ JSON (fast-xml-parser)&lt;/li&gt;
&lt;li&gt;Markdown → HTML (marked.js)&lt;/li&gt;
&lt;li&gt;Unit converter (static conversion tables)&lt;/li&gt;
&lt;li&gt;Live currency converter (rates updated daily, cached in Redis)&lt;/li&gt;
&lt;li&gt;Byte converter&lt;/li&gt;
&lt;li&gt;Random data generator (faker-js, lazy-loaded)&lt;/li&gt;
&lt;li&gt;HTML table generator&lt;/li&gt;
&lt;li&gt;SQL → JSON&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Productivity Tools (12 tools)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;QR code generator (custom colors, download PNG/SVG)&lt;/li&gt;
&lt;li&gt;Password generator (configurable length and charset)&lt;/li&gt;
&lt;li&gt;Word counter&lt;/li&gt;
&lt;li&gt;Pomodoro timer (Web Worker, works in background tab)&lt;/li&gt;
&lt;li&gt;Lorem Ipsum generator&lt;/li&gt;
&lt;li&gt;Remove duplicate lines&lt;/li&gt;
&lt;li&gt;Chinese Pinyin converter (pinyin-pro)&lt;/li&gt;
&lt;li&gt;Barcode generator (JsBarcode)&lt;/li&gt;
&lt;li&gt;Meeting countdown timer&lt;/li&gt;
&lt;li&gt;Invoice builder (HTML → PDF export)&lt;/li&gt;
&lt;li&gt;Color contrast checker (WCAG algorithm)&lt;/li&gt;
&lt;li&gt;Whiteboard (simple Canvas)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Document Tools (10 tools)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;PDF merge (pdf-lib, client-side)&lt;/li&gt;
&lt;li&gt;PDF compress (server-side API)&lt;/li&gt;
&lt;li&gt;PDF → Word (server-side API)&lt;/li&gt;
&lt;li&gt;Word → PDF (server-side API)&lt;/li&gt;
&lt;li&gt;PDF → Image (PDF.js)&lt;/li&gt;
&lt;li&gt;Image → PDF (pdf-lib)&lt;/li&gt;
&lt;li&gt;PDF split (pdf-lib)&lt;/li&gt;
&lt;li&gt;PDF OCR (server-side)&lt;/li&gt;
&lt;li&gt;PDF protect (pdf-lib)&lt;/li&gt;
&lt;li&gt;Excel → CSV (SheetJS)&lt;/li&gt;
&lt;/ul&gt;




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



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Framework:    Next.js 14 (App Router) + TypeScript
Styling:      Tailwind CSS + shadcn/ui
Database:     Neon (Postgres) + Drizzle ORM
Cache:        Upstash Redis (rate limiting, quota counting)
AI:           DeepSeek API (streaming via SSE)
Auth:         Auth.js v5 (email magic link)
Payment:      XorPay (CNY) + Creem (international)
Deploy:       Vercel
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Privacy Design
&lt;/h2&gt;

&lt;p&gt;This was important to me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Client-side tools&lt;/strong&gt; (JSON formatter, Base64, image compress, etc.): nothing ever leaves the browser&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server-side tools&lt;/strong&gt; (PDF conversion, AI, remove background): files auto-deleted 1 hour after processing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No file history&lt;/strong&gt;: we don't store what you processed&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What's Free vs Pro
&lt;/h2&gt;

&lt;p&gt;Free: all tools available, 50 tool uses/day, 3 AI requests/day, 5MB file limit&lt;/p&gt;

&lt;p&gt;Pro ($2.50/month): unlimited tool use, 200 AI requests/day, 100MB file limit, &lt;br&gt;
batch processing, 30-day usage history&lt;/p&gt;




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

&lt;p&gt;→ &lt;strong&gt;worktool.app&lt;/strong&gt;: &lt;a href="https://worktool.app?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=launch" rel="noopener noreferrer"&gt;https://worktool.app?utm_source=devto&amp;amp;utm_medium=article&amp;amp;utm_campaign=launch&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love to hear what tools are missing from your workflow. What's the one &lt;br&gt;
browser-bookmark dev tool you use every week?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built this as a side project. Happy to answer questions about any part of the implementation.&lt;/em&gt;&lt;/p&gt;




</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>nextjs</category>
      <category>tools</category>
    </item>
  </channel>
</rss>
