DEV Community

Cover image for I built 30 free developer tools in 4 weeks after work — here's everything I learned
Sachith Perera
Sachith Perera

Posted on

I built 30 free developer tools in 4 weeks after work — here's everything I learned

It started with a stupid moment of paranoia.

I was merging some work PDFs one evening.
Contracts. NDAs. Sensitive stuff.

Using one of those popular online PDF tools.

And then I thought — wait. Where do these files actually go?

I read the privacy policy.

"We delete your files after 2 hours."

Sure. But I have no way to verify that.

That frustration turned into 4 weeks of building after work every day.

The result is taptools.dev — 30 free developer tools that run entirely in your browser.


The core idea

Most online tools work like this:

Your file → their server → processing → result
Enter fullscreen mode Exit fullscreen mode

taptools works like this:

Your file → your browser → processing → result
Enter fullscreen mode Exit fullscreen mode

No upload. No server. No way for anyone to access your files.

Your data never leaves your device. Not mine. Not anyone's.


What I built

PDF Tools

  • Merge PDF — combine multiple PDFs into one
  • Split PDF — extract specific pages
  • Compress PDF — reduce file size
  • PDF to JPG — convert pages to images
  • PDF to Word — extract text with paragraph detection

Developer Utilities

  • JSON Formatter — format + auto-fix broken JSON
  • XML Formatter — format with syntax highlighting
  • JWT Decoder — decode and inspect JWT tokens
  • Base64 Encoder/Decoder — encode and decode instantly
  • Regex Tester — test with live match highlighting
  • Hash Generator — MD5, SHA-1, SHA-256, SHA-512
  • Unix Timestamp Converter — with next run times
  • URL Encoder/Decoder — component and full URL modes
  • UUID Generator — v1 and v4 with multiple formats
  • cURL to Fetch Converter — convert in both directions
  • Cron Expression Parser — plain English explanation
  • Diff Checker — unified and split view
  • Color Converter — HEX, RGB, HSL, CMYK

Text & Other Tools

  • Word Counter — words, chars, reading time, top words
  • Text Case Converter — camelCase, snake_case and more
  • Lorem Ipsum Generator — paragraphs, sentences, words
  • Password Generator — random + passphrase mode
  • Number Base Converter — decimal, binary, octal, hex
  • QR Code Generator — with custom frames and colors
  • Image to Base64 — drag and drop converter
  • And more...

The tech stack

Framework:  Next.js 14 + TypeScript
Styling:    Tailwind CSS
Hosting:    Vercel

PDF:        pdfjs-dist + pdf-lib
Crypto:     Web Crypto API
Images:     Canvas API
Word docs:  docx library
QR codes:   qrcode library
Enter fullscreen mode Exit fullscreen mode

The most interesting technical challenge

JSON Auto-Fix

Most JSON formatters just show you the error and stop.

Mine tries to fix the error automatically.

The fix pipeline:

// Step 1 — Remove comments
s = s.replace(/\/\/[^\n]*/g, '')

// Step 2 — Fix boolean casing
s = s.replace(/\bTrue\b/g, 'true')
s = s.replace(/\bFalse\b/g, 'false')

// Step 3 — Remove trailing commas
s = s.replace(/,\s*([}\]])/g, '$1')

// Step 4 — Add missing quotes around keys
s = s.replace(/([{,]\s*)([a-zA-Z_][a-zA-Z0-9_]*)\s*:/g, '$1"$2":')

// Step 5 — Fix missing closing quote on keys
s = s.replace(/"([a-zA-Z0-9_\s\-]+)(?<!"):(?!\s*\/\/)/g, '"$1":')

// Step 6 — Character level scanner (handles edge cases)
Enter fullscreen mode Exit fullscreen mode

It handles:

  • Single quotes → double quotes
  • Trailing commas
  • Unquoted keys
  • Missing closing quotes on keys
  • Wrong boolean casing
  • Comments (JavaScript style)

Not perfect. But it handles the most common real-world mistakes.

PDF to Word with Smart Paragraph Detection

Instead of dumping raw text I built a positioning algorithm:

// 1. Extract text items with X, Y positions
// 2. Group items on the same line (similar Y value)
// 3. Detect paragraph breaks (large Y gap between lines)
// 4. Detect headings (larger font size than average)
// 5. Detect bullet points (starts with •, -, *, etc)
// 6. Create proper Word paragraphs with spacing
Enter fullscreen mode Exit fullscreen mode

Result is a properly structured Word document
instead of a wall of text.

Browser-Based PDF Rendering

const pdfjsLib = await import('pdfjs-dist')
const pdf      = await pdfjsLib.getDocument({ data }).promise
const page     = await pdf.getPage(pageNum)
const viewport = page.getViewport({ scale: 2 }) // 144 DPI

const canvas  = document.createElement('canvas')
canvas.width  = viewport.width
canvas.height = viewport.height

await page.render({ 
  canvasContext: canvas.getContext('2d'), 
  viewport,
  canvas 
}).promise

const dataUrl = canvas.toDataURL('image/jpeg', 0.92)
Enter fullscreen mode Exit fullscreen mode

All in the browser. No server needed.


What I learned

1. Ship early with fewer tools

I launched with 8 tools in week 1.

Real users from 10 countries found it organically
within the first month without any marketing.

🇺🇸 USA         — 24 users
🇮🇹 Italy        — 19 users
🇫🇷 France       — 6 users
🇱🇰 Sri Lanka    — 4 users
🇬🇧 UK           — 4 users
🇳🇱 Netherlands  — 4 users
Enter fullscreen mode Exit fullscreen mode

That feedback loop is worth more than any amount of planning.

2. Privacy is a real differentiator

Most competing tools upload your files to their servers.

Some even have subscription traps — generate a QR code
for free, print it on 1000 business cards, then your
QR code expires unless you pay monthly.

taptools QR codes are static — the data is embedded
directly in the image. They work forever even if
taptools.dev shuts down tomorrow.

3. 56 hours is enough to build something real

2 hours/day × 28 days = 56 hours
Enter fullscreen mode Exit fullscreen mode

I work on a legacy enterprise system by day.
Next.js was relatively new to me.

Those 2-3 hours after work every day compounded
into 30 live tools.

Your day job teaches you more than you think.
Debugging complex systems, thinking about edge cases,
handling errors — those skills transfer directly.

4. SEO compounds slowly but powerfully

Each tool page targets specific search terms.

Merge PDF          — 1.2M searches/month
Compress PDF       — 900k searches/month  
QR Code Generator  — 800k searches/month
Word Counter       — 500k searches/month
Password Generator — 400k searches/month
Enter fullscreen mode Exit fullscreen mode

30 pages × focused keywords = compounding
organic traffic over time.

5. The hardest part is not the code

It's convincing yourself to keep going
when nobody is watching.

When you have a full time job a side project
lives or dies in those 2-3 hours after work.

Tired hours. Distracted hours.

But those hours compound into something real.


The numbers

Tools live:           30
Countries with users: 10+
Marketing spend:      €0
Enter fullscreen mode Exit fullscreen mode

What's next

  • More tools based on analytics data
  • Blog content targeting long-tail SEO keywords
  • AdSense monetization (pending approval)

The goal is simple passive income that funds
future projects.

Not to get rich. Just to build something
sustainable that keeps earning while I sleep.


Try it yourself

taptools.dev

No signup. Nothing stored. Ever.

Would love your feedback in the comments below 👇

What tools do you use daily that you wish had a
privacy-first browser-based version?


Thanks for reading! If you found this useful
consider following for more build-in-public content.

Top comments (0)