In my opinion this can't even be labeled as a single HTML file, because it loads external files to complete the app. But back to the question, a "plain html" file doesn't load any external resources and is usually semantically described.
Any website you visit could have been compromised and serving malicious content. Upon first visit to a website, I block all connections to domains not in the address bar, then go back in and add rules to allow connections as needed. It doesn't address malicious activity by the site directly, like a server compromise, but does limit non-addressed connections, including ones to local addresses.
For example, a compromise of .google.com which leveraged assets/code from .googleusercontent.com wouldn't initially be able to run, unless I added a rule to allow the connection. Likewise, a compromise of *.discord.com that made a connection to localhost:8983, then tried to send that data to someserver.ru would get blocked and logged. Where this can't protect me is if the server sends the mined data back to itself, then forwards that data on using its own connection.
Ad networks sell to anyone. Malicious content can be injected almost anywhere. Its happened before; it'll happen again. This web browsing hygiene has protected me enough times for me to make it my standard practice.
That's the first thing I thought when opening it. Sure looks like a "make me an app" response that Claude would output.
I mean nothing wrong with that, I needed a silly calculator thingimabob too yesterday (for some CRC checks on a piece of text) and Claude quickly cooked something up for me.
But I'm not writing blog posts about it, releasing the tool in the wild, and claiming I wrote it. Blegh.
There’s definitely nothing wrong with it normally but then like you said it’s got the blog post and the project basically clones every calculator out there that already exists.
This type of calculator is so common you can even find one on an official US government website.
You are that guy. It was obvious that he built some interactive app packaged in a single html file. There's going to be javascript and stuff in there...doah.
EDIT: I wouldn't have expected external dependencies, though.
- react app - pwa manifest - tailwind css
This is not at all a "plain html" file.