This is a submission for the DEV April Fools Challenge π«
What I Built
NotJS β a dead-serious code analyzer that does exactly one thing: tells you whether your code is JavaScript or not.
Does it compile your code? No. Does it run it? Absolutely not. Does it parse an AST? Not even close. It reads your code, runs it through a highly sophisticatedβ’ scoring algorithm (keyword spotting + vibes), and either congratulates you for writing JavaScript or hits you with an HTTP 418 I'm a Teapot for daring to submit Python/Java/Rust/literally anything else.
Features include:
- A fake "analysis" progress bar with fake terminal logs that say things like "Cross-referencing ECMAScript spec..."
- A confidence meter that always hits 99.99% NOT JAVASCRIPT for non-JS code
- A "Convert to JavaScript" button that redirects you to Google Translate
- A toast that just says "Just learn JavaScript bro."
Built on the core belief that JavaScript is the only language that matters.
Demo
π Live Demo
JavaScript submitted: 200 OK β JavaScript Detected Successfully. Excellent choice. Superior language.
Submitted some other language: 418 I'm a Teapot β Cannot process non-JavaScript input
Code
Rohan-Shridhar
/
NotJS
JS code recogniser - Build something completely useless
NotJS π«
If it's not JavaScript, it's a teapot.
A dead-serious code analyzer that does exactly one thing β detect whether your code is JavaScript or not.
Features
- Fake terminal analysis with fake logs
- Scoring engine based on JS keywords, APIs, and vibes
-
418 I'm a Teapotfor Python, Java, Rust, and all other inferior languages - "Convert to JavaScript" button (opens Google Translate)
- Toast message: "Just learn JavaScript bro."
- 99.99% confidence. Always.
Stack
- React 18 (no build step)
- Vanilla CSS
- IBM Plex Mono
- Zero backend. Maximum bias.
Built for
DEV April Fools Challenge 2026
License
MIT β but morally, only JavaScript projects should use this.
How I Built It
Built with React 18 (via Babel standalone, no build step), vanilla CSS, and a deep personal vendetta against other programming languages.
The "analysis engine" (computeScore) is a scoring function that awards points for JS keywords (const, let, =>, async/await), built-in APIs (console.log, fetch, localStorage), and syntax patterns (template literals, optional chaining, spread). It deducts points for anti-patterns from Python, Java, C++, PHP, and Rust. Score β₯ 3 = JavaScript. Score < 3 = teapot.
The UI is a fake terminal β yellow/black JS branding, typewriter headings, animated progress bar, scrolling fake logs. Every screen has an entry animation. The error screen has two buttons: one that shames you before letting you retry, and one that pretends to "convert" your code while opening Google Translate.
Stack:
- React 18 (UMD + Babel standalone)
- IBM Plex Mono, Space Grotesk, Syne (Google Fonts)
- Vanilla CSS (no Tailwind, no UI libs)
- Zero backend. Zero actual analysis. Maximum confidence.
Prize Category
Community Favorite β because nothing brings developers together like the shared delusion that their language is the best one. NotJS is a love letter to JavaScript supremacy, a participation trophy for JS devs, and a gentle (aggressive) nudge for everyone else.
Best Ode to Larry Masinter β Larry Masinter authored RFC 2324, the original 418 I'm a Teapot joke RFC from 1998. NotJS is essentially a shrine to that bit. The entire error screen is built around 418, complete with a fake HTTP response payload, a confidence meter, and a redirect to Google Translate as the "conversion engine." Larry planted the seed. NotJS watered it with JavaScript bias.

Top comments (0)