Skip to main content

'God.js' lets you program and enforce your own browser-based religion

'God.js' lets you program and enforce your own browser-based religion


'Thou shalt not browse 4chan'

Share this story

God.js at 319 Scholes
God.js at 319 Scholes

Piety is hard to come by in the anything-goes swamp of sin that is the internet. But thanks to a group of computer artists, true believers can now find divine purity right where they need it most: running inside their web browser.

Built in 48 hours during Art Hack Day's "God Mode" hackathon at 319 Scholes in Brooklyn, God.js is a Chrome plugin and scripting language that enforces religious edicts as you browse the web. Think of it as your very own computational Ten Commandments — an executable holy scripture that rewards and punishes actions based on the defined parameters of your chosen faith. But despite being in the style of traditionally immutable sacred texts, God.js is a functional language thats lets anyone code their own beliefs, making it like an open source platform for browser-based religion.

The hackathon takes its name from the invincibility mod frequently found in computer games of the 1990s, expanding it into a larger exploration of the various god-like abilities technology now offers. Programmer Ivan Safrin worked on the God.js project along with Art Fag City Editor-in-Chief Will Brand and Eyebeam resident computer scientist Ramsey Nasser. "For me personally, this idea drew a lot of parallels to my own thoughts around the ‘God Mode’ theme, which involved end-user terms of service agreements as religious commandments," he explains in an email. His other project for the hackathon is "Terms of Mt. Sinai," an audio installation which recites Facebook's TOS inside the bathroom at 319 Scholes. Other projects explore similar ideas, like “Pantheon,” another Chrome plugin that allows everyone else using it to momentarily see which sites you’re browsing, and “Pious Web,” which covers any questionable Google image search results with pictures of Jesus.


Religious web-filtering and monitoring isn't new, of course. With church websites and hardcore pornography always just a few clicks apart, devout families and institutions have long relied on a sketchy selection of services to try and keep their web experience sacred — often futilely. One of the oldest examples, the Christian, has been around since 1999 as a dial-up internet provider, now boasting 67 filters for "pornography, gambling, profanity, social networking, intimate apparel, and more." Its Jewish equivalent, Guard Your Eyes, also offers a support network for internet addicts on top of its Rabbi-monitored religious censorship tool.

But God.js takes a more playful approach to religious observance. The plugin uses keywords and other attributes to conform your browsing experience to the ethos you've selected, as defined in the corresponding scripts (er, "scriptures") which can be viewed and activated from a button on your browser's navigation bar. Each religion's doctrine lays out the forbidden fruits, which include everything from browsing Tumblr to loading a page that contains the word "Java" (the latter enforcing the will of Nasser, who hates Java).

Navigate onto a page containing blasphemous material and you'll get a stern warning from your higher power via pop-up message. Disobey one too many times and you'll be punished with two dozen tabs of animated GIF hellfire, boils and frogs covering your web pages, or all of your open browser tabs being smitten in one vengeful blow.


Computer commands and religious commandments are not all that different, says Safrin. "We began looking at the language of religious scripture and drawing parallels to computer language instructions and brainstorming language syntax that emulated religious writing." Instrumental in this was Nasser, who previously built a computer language derived from Arabic script. Sure enough, the code reads a lot like the Javascript it's based on, but substitutes more appropriate terms like "travel to thy kingdom" to denote hyperlinks, "recite" to call functions, and of course "Amen" to stand in for the semicolon which normally marks the end of a statement. It also allows a fair amount of poetic license, letting authors inject their scripts with biblical flair in the same way you'd normally add comments to your code. Safrin says it’s a reference to how religious texts are usually a combination of clearly defined rules and narrative filler text.

The God.js plugin is available for free, and currently holds three pre-loaded scriptures, one for each of the project's authors. But it also routinely scans Github and includes any other set of beliefs it finds written using the language. For on the internet, we are all gods by the glory of our own code. Amen.