Why a video URL opens in a tab but fails in JavaScript fetchA video lookup can succeed and still leave the browser user unable to save a file. Cross-origin navigation, JavaScript fetches, and the HTML download attribute follow different browser rules. TreatingOct 12 · 3 min readevanmercer.hashnode.dev
Checking a Downloaded Video's Real Resolution and Orientation with ffprobeWhen you save a clip from social media, the label you picked ("720p", "HD", "1080×1920") and the file you get don't always match what a player shows. ffprobe tells you the truth in one command: the stSep 29 · 4 min readevanmercer.hashnode.dev
Same problem, different platform: what carried over from an X viewer to a TikTok story viewerA while ago I built Twitter Viewer, a small free tool for reading public X profiles and posts without logging in. Later I noticed the same pattern on TikTok: someone sends a link, the recipient doesn'1TSep 23 · 4 min readevanmercer.hashnode.dev
Designing around content that expires: three decisions from building a TikTok story viewerMost of the small tools I build deal with content that sits still. A tweet from 2019 is the same tweet today. A TikTok story is not like that: it is gone 24 hours after it was posted, and nothing brinSep 21 · 5 min readevanmercer.hashnode.dev
The states nobody designs for in a "paste a link, get a file" toolA "paste a link, get a file" tool looks trivial from the outside — one input, one button, one result. I've found the opposite is true: the harder a tool is to describe, the more the UX rides entirely Sep 17 · 3 min readevanmercer.hashnode.dev