Urgent.News

What's breaking now, across thousands of outlets.

Tech

Moving image work into the browser took that bill to zero

For about two months last year I had a habit: check the API usage graph before anything else in the morning. Not because traffic was flattering — because every time that line went up I had to work out how much credit was left. Image processing on my site ran entirely through a third-party API, billed per call. Some background. I run a small tool site: users upload an image, something happens to…

Two months ago, I developed a habit of checking the API usage graph at the start of each day. This was not because traffic was impressive, but because every rising line forced me to calculate how much credit remained. My site processed images through third-party APIs, charging a few cents to tens of cents per operation. While inexpensive individually, my site's free access made it costly when many users engaged.

Background removal, an AI endpoint, was the most expensive single feature, accounting for over half my server costs in one month. To reduce expenses, I moved as much as possible into users' browsers using ImgIng. This involved compressing, converting formats, conducting AI background removal, and offering an animation workshop and multilingual OCR.

I also added an image editor, AI upscaling, and PDF processing, allowing these services to run in users' browsers on their devices. This shift to local processing meant the cost of operations went to zero, as the user's CPU and memory handled the work, and I only paid for static hosting and bandwidth. Consequently, the site became free and unmetered without accounts or watermarks.

ImgIng.ai explained that common formats processed locally incurred no extra cost for them, which I confirmed by checking DevTools. The user's device absorbed the cost, albeit at the expense of potentially slower performance on older machines. Although this change seemed advantageous, it also meant losing valuable data from the API dashboard and being locked into free services, as charging for computation running on users' laptops seemed impractical.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

I sell social media automation. My survey says people want the opposite.

I work at Publora — an API and MCP for publishing to social networks from one place, including through an AI agent. So, in a sense, my job is selling automation for posting.

  • Survey reveals people want control over final posting step in social media automation
  • AI use limited to ideation or time constraints, not for publishing
  • Human involvement valued for security, personal touch, and content approval

OAuth Consent Phishing: The Attack a Password Change Does Not Fix

The FBI's Internet Crime Complaint Center published PSA I-090126 on September 1, 2026, and it describes an attack that quietly defeats the two things most people rely on: changing your password, and…

  • Phishing attack bypasses password changes and MFA
  • Users unknowingly grant app permission during OAuth flow
  • Damage undone by removing consent grant, not password

issued.live is live

issued.live is open to the public today. This note is about how it is built and why it behaves the way it does, because those choices are the difference between a lookup you can rely on and one that…

  • issued.live launched today for real-time domain data access
  • Index holds 334 million domains with 15.9M certificates ingested
  • Data updates continuously, served in JSON, Markdown, and MCP

Hitting an image size ceiling with Rust and WebAssembly

Many image tools expose a quality slider. Forms and government portals usually expose a different requirement: “the file must be under 100 KB.” Those are not the same problem.

  • Implement HEIC converter in browser using Rust compiled to WebAssembly
  • Outputbytes = targetkb 1024 invariant for image size control
  • Separate conversion path from compression for clean implementation

How I Run 114 Posts, 98 Tools and 32 Games on Firebase Blaze for $0 a Month

Firebase's Blaze plan has a reputation problem. People hear "pay as you go", picture the horror stories — the recursive Cloud Function that wrote back into the collection that triggered it, the…

  • Site runs on Firebase Blaze plan with $0 monthly bill
  • Powers 114 blog posts, 98 tools, and 32 games
  • Utilizes Firestore and Cloud Storage for functionality

More from Thursday 3 September →