A JavaScript script that gradually fades a website's opacity when a client doesn't pay, decreasing daily until it disappears.
Not Paid is a JavaScript script that automatically fades a website's visibility when a client fails to pay for services. It gradually reduces the opacity of the body tag each day after a specified due date, eventually making the site completely transparent if payment isn't received. This creates visual incentive for clients to settle their invoices while the site remains technically functional.
Freelance web developers, agencies, and independent contractors who need a non-destructive way to encourage client payments for completed website work.
Provides a simple, automated solution to payment disputes without taking websites completely offline, maintaining professionalism while creating clear visual consequences for non-payment. It's minimal, requires no server setup, and has inspired multiple platform-specific implementations.
Client did not pay? Add opacity to the body tag and decrease it every day until their site completely fades away
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
As per the README, just load the not-paid.js file in the HTML head, requiring no build steps or complex setup.
Users can set a due date and define days_deadline to control how quickly the site fades, offering flexibility based on payment terms.
Community-created versions for WordPress, Android, iOS, and more extend its use beyond vanilla JavaScript, as noted in the README.
It only reduces opacity over time, keeping the site functional while creating visual pressure, aligning with its pragmatic philosophy.
Since it's a client-side JavaScript script, clients can disable JavaScript or use browser dev tools to remove the effect, rendering it ineffective.
The author states 'No PR's or issues will be accepted,' meaning no updates, bug fixes, or feature improvements from the open-source community.
It only modifies the body tag's opacity, which may not properly fade dynamic or layered content in modern web applications, as it lacks advanced targeting.