Hi DEV community! ๐ I'm Widodo, an independent web and mobile app developer.
In my day-to-day workflowโwhether I am developing mobile apps, structuring databases, or setting up serverless continuous integration pipelinesโI constantly rely on quick online utilities. Things like formatting code, generating QR codes, or stripping metadata from images.
But I realized a massive flaw in the current ecosystem of free online tools: Privacy and Performance.
If you search for a "Free EXIF Data Remover" or "JSON Formatter," 90% of the top results force you to upload your sensitive files to their remote servers just to perform a basic operation. Not only is this a massive privacy risk, but it also introduces unnecessary latency.
Since my core development philosophy has always leaned towards offline-first architectures and minimal server dependencies, I decided to build my own solution.
Enter Ic2Share.com.
It is a growing directory of web utilities built on a strict zero-server-upload architecture. Everything executes instantly within the user's browser.
Here is a breakdown of how I built some of the tools and the client-side APIs powering them.
- Secure EXIF & Metadata Stripper (Canvas API) Most EXIF strippers use backend libraries (like PHP's exif_read_data or Python's Pillow). I wanted this to happen entirely offline so users wouldn't have to upload their personal photos.
The solution? HTML5 Canvas Re-rendering.
When a user drops an image, the browser reads it via the FileReader API. I then draw that image onto a hidden element. When you export the canvas back to a Blob using canvas.toBlob(), the browser automatically discards all original EXIF headers (including the exact GPS coordinates and camera models).
It is fast, secure, and costs $0 in server compute.
The Online Teleprompter (requestAnimationFrame)
I built an auto-scrolling teleprompter for video creators. Initially, I thought about using CSS transitions or setInterval for the scrolling text. However, CSS can cause jittering on large blocks of text, and setInterval drops frames.SRT/VTT Subtitle Time Shifter (Regex Engine)
Have you ever downloaded a movie subtitle that is delayed by 2 seconds? I built a tool to fix that. Instead of uploading the .srt file, the user pastes the text, enters the millisecond offset, and Vanilla JS handles the rest using Regular Expressions.
It parses the HH:MM:SS,mmm format, converts it to total milliseconds, applies the shift (forward or backward), calculates the time rollovers, and spits out the synced text instantly.
The Architecture & Infrastructure
To keep operational costs practically non-existent while ensuring high speed, the entire suite is served statically. I utilize Cloudflare Workers to handle traffic routing and programmatic SEO setups, ensuring the application stays lightweight and highly available globally.
Other tools currently live on the site include:
Direct QR Code Generator (Bypasses URL masking)
Live Markdown Editor (With secure syntax highlighting)
Invisible Character & Blank Space Generator
and more..
I would love your feedback!
Building this has been a fun exercise in maximizing browser capabilities.
If you have a minute, check out https://ic2share.com.
I would love to hear your thoughts on the UI/UX. Also, as fellow developers, what specific client-side tool do you often wish existed (or was faster) that I can build next?
Let me know in the comments! ๐
Top comments (0)