DEV Community

Mobeen Ahmed profile picture

Mobeen Ahmed

I build small, practical web tools and write about how they are made. PHP, CSS, and shipping simple ideas without overcomplicating them.

Joined Joined on 
Minifying a shared JS engine and proving it still works

Minifying a shared JS engine and proving it still works

Comments
3 min read
Deferring render-blocking JS without breaking a vanilla-JS app

Deferring render-blocking JS without breaking a vanilla-JS app

Comments
4 min read
Favicon 404s: the tiny missing file that made Google show a generic globe

Favicon 404s: the tiny missing file that made Google show a generic globe

Comments
3 min read
I Retagged My Site With the Wrong GA4 ID and Lost a Week of Data

I Retagged My Site With the Wrong GA4 ID and Lost a Week of Data

Comments 1
3 min read
ads.txt on a plain PHP site: the 5-minute job people skip

ads.txt on a plain PHP site: the 5-minute job people skip

Comments
3 min read
Robots meta vs X-Robots-Tag: why I only use the meta tag

Robots meta vs X-Robots-Tag: why I only use the meta tag

1
Comments
3 min read
Open Graph Tags for a Downloader: Making Pasted Links Look Right

Open Graph Tags for a Downloader: Making Pasted Links Look Right

1
Comments
3 min read
WebApplication Schema for a Free Web Tool: the JSON-LD I Ship on ramrom.io

WebApplication Schema for a Free Web Tool: the JSON-LD I Ship on ramrom.io

Comments
3 min read
FAQPage JSON-LD on Tool Pages: What It Is and Why I Add It to Every New Page

FAQPage JSON-LD on Tool Pages: What It Is and Why I Add It to Every New Page

Comments
3 min read
Mobile-First CSS for a Single-Purpose Tool Page

Mobile-First CSS for a Single-Purpose Tool Page

Comments
3 min read
Why some CDNs serve empty responses to datacenter IPs — and the direct-link fallback that saved my downloader

Why some CDNs serve empty responses to datacenter IPs — and the direct-link fallback that saved my downloader

Comments
3 min read
Following redirects safely in a PHP download proxy: why I cap them at five hops

Following redirects safely in a PHP download proxy: why I cap them at five hops

Comments
4 min read
Content-Disposition: the header that makes the browser download instead of play

Content-Disposition: the header that makes the browser download instead of play

Comments
3 min read
How I Check a Download Is a Real MP4, Not an HTML Error Page Wearing a .mp4 Name

How I Check a Download Is a Real MP4, Not an HTML Error Page Wearing a .mp4 Name

Comments
3 min read
Where the Download Button Goes: Small UX Decisions on a Tool Homepage

Where the Download Button Goes: Small UX Decisions on a Tool Homepage

Comments
3 min read
Sitemap strategy for an 18-page tool site: what to include and what to leave out

Sitemap strategy for an 18-page tool site: what to include and what to leave out

Comments
3 min read
Submitting URLs to IndexNow from PHP: getting Bing and Yandex to notice new pages in hours

Submitting URLs to IndexNow from PHP: getting Bing and Yandex to notice new pages in hours

Comments
3 min read
i18n for 9 languages with a tiny JS dictionary and zero frameworks

i18n for 9 languages with a tiny JS dictionary and zero frameworks

Comments
3 min read
A network-first service worker for a tool site: installable without breaking the downloader

A network-first service worker for a tool site: installable without breaking the downloader

Comments
2 min read
Caching provider API responses in flat files to survive outages on shared hosting

Caching provider API responses in flat files to survive outages on shared hosting

Comments 1
3 min read
There Is No MP3 on YouTube: Why I Label the Audio Button M4A

There Is No MP3 on YouTube: Why I Label the Audio Button M4A

Comments
2 min read
YouTube adaptive vs muxed streams: why video-with-sound tops out at 360p

YouTube adaptive vs muxed streams: why video-with-sound tops out at 360p

Comments
3 min read
HLS vs progressive MP4: what a video downloader actually hands you

HLS vs progressive MP4: what a video downloader actually hands you

Comments
3 min read
Why I proxy video downloads through my own server instead of hotlinking

Why I proxy video downloads through my own server instead of hotlinking

Comments
2 min read
The guard rails in my PHP download proxy: stopping server-side request forgery on ramrom.io

The guard rails in my PHP download proxy: stopping server-side request forgery on ramrom.io

1
Comments
3 min read
Retrying flaky APIs in plain PHP: the 3-attempt loop behind ramrom.io's downloader

Retrying flaky APIs in plain PHP: the 3-attempt loop behind ramrom.io's downloader

1
Comments 1
3 min read
Per-IP rate limiting in plain PHP with no Redis: a file-based counter that keeps my downloader alive

Per-IP rate limiting in plain PHP with no Redis: a file-based counter that keeps my downloader alive

1
Comments
3 min read
My pay tables kept getting cut off on phones. The fix was showing less, not shrinking more.

My pay tables kept getting cut off on phones. The fix was showing less, not shrinking more.

Comments
2 min read
TikTok photo posts have no video file, so I stopped looking for one

TikTok photo posts have no video file, so I stopped looking for one

Comments
1 min read
I built a free video downloader that runs on plain PHP hosting

I built a free video downloader that runs on plain PHP hosting

Comments
2 min read
loading...