Amazon Connect Customer now supports Cases and External Tool events in the Wait block, giving you more control over how your customer experience flows react to real-time data changes. In addition to waiting for a Lambda…
Forms are the backbone of user inputs and interactions in websites. However, as developers, we know the golden rule: never trust user input. Trusting user inputs too much will expose our websites' vulnerabilities.…
A crop is four numbers, not a drag gesture Cropping an image looks like a mouse action. Underneath it is a rectangle: an x, a y, a width and a height, in pixels. Most croppers keep those numbers to themselves and give…
Base64 is not encryption, but the paste box still matters Base64 turns bytes into printable ASCII. It is an encoding, not encryption - anyone can decode what you encode - but the practical problem is the same: a lot of…
When dealing with digital documents like invoices, boarding passes, e-tickets, and transaction receipts, QR codes are frequently embedded inside multi-page PDF documents. Most conventional online decoders force users to…
Have you ever used an online calculator, only to wonder: Where is my financial data going? Most loan calculators today require you to upload your data to a server to compute the results. Some even ask for an email…
I work on OnePassApps. We build browser studios that work on files in the tab instead of uploading them. This one is the Image Studio's Convert tab - the step that turns one image format into another. Most online image…
The blog had 1,200 posts and paginated archives. A redesign swapped numbered pages for a "Load more" button and canonicalised every ?page=N URL to page 1. Six months later, about 900 older posts had dropped out of the…
A new cookie banner shipped on the 3rd. It pushed the main content down after load. Search Console's Core Web Vitals report started showing "Poor" CLS URLs around the 20th, and the team only connected it to the banner…
CounterKit is a small, self-hosted system for independent cafés, bakeries, and delis whose regulars order by name and run house tabs — the notebook-and-memory workflow, minus the notebook. Try it first: live demo — it…
The product pages looked perfect in DevTools: unique titles, correct canonicals, a full set of internal links. Rankings slid anyway. Someone finally ran curl on a product URL and found a generic title, a canonical…
The trial-expiry email was scheduled with setTimeout(sendEmail, 3 * 24 * 60 * 60 * 1000). It worked in testing. In production, the app deployed twice a day, and every deploy wiped every pending timer. Almost nobody got…
The link checker reported zero broken links. Every URL returned 200 OK. Then someone actually clicked through the old pricing links and found a friendly "Oops, we couldn't find that page" on every single one. The site…
Most icon exports arrive with a canvas bigger than the artwork. You open the PNG, see a band of transparent pixels around your logo, and that padding is baked into the file. Trimming it by hand means a round trip…
We have all done it during a late-night debugging session. You grab a raw JSON payload from a production log, a curl command with an active bearer token, or a customer CSV export, and paste it into the first "Free…
A raw list of local businesses isn't a lead list yet. It's a list of names. If you sell websites, SEO or ads, the useful question is which of those businesses have a visible problem you can fix: no website, a dead one,…
I build free, privacy-first web tools as Loona Automation. The newest one is a set of salary and tax calculators, and the first calculator I built — UAE end-of-service gratuity — taught me something surprising: a large…
If you have ever built an e-commerce scraper or a price tracker, you have definitely run into messy strings. Different locales use different thousand separators, decimal separators, and currency symbols. Using a naive…
I wanted to see how far one sentence could get me. Not a spec, not a design doc. Just this: a blocky survival game like Minecraft that runs in the browser I typed it into UIMorph, the tool I'm building, and waited a…