A screenshot went viral this week. An AI coding tool — it looks like Cursor — with a single prompt: "who is json"
Below it: "Full access"
The internet treated this like a crime scene. Developers dunked. Thread after thread: this is why vibecoding is dangerous, this is what happens when you let non-coders touch production systems, this person should not be allowed near a keyboard.
And then, somewhere in the replies, someone made the obvious observation: this is just the localhost joke.
Both are true. Let's talk about both.
What Vibecoding Is (Quick Version)
Andrej Karpathy coined "vibecoding" in early 2025, describing a mode of programming where you basically describe what you want, watch the AI generate it, and keep going — leaning fully into the AI's judgment rather than reading every line it writes. Collins English Dictionary named it Word of the Year 2025.
By 2026, it has produced:
- Non-technical founders shipping SaaS with zero code background
- Dan Kulkov: $2,160 in revenue, 0 lines written by hand
- Products with live users, subscriptions, and dashboards — built by people who could not tell you what a function signature is
- A parallel class of engineers using it as a 10x accelerator for prototyping
It also produced: "who is json."
What JSON Actually Is (For Anyone Who Needs It)
JSON (JavaScript Object Notation) is a text-based format for storing and transmitting structured data. It looks like this:
{
"name": "Yash",
"role": "developer",
"active": true,
"tags": ["ai", "tools", "blog"]
}
Douglas Crockford specified it in the early 2000s. Every web API uses it. Every database driver can read it. Every language has a JSON parser. It is not a person, a company, a library, or a framework. It is a data format. It is the plumbing your application runs on, invisibly, in almost every request it makes.
If you are vibecoding a web app and your app talks to any external service — payment processor, auth provider, database, weather API, anything — you are using JSON constantly. You just never had to think about it because the AI wrote all of it.
The Localhost Joke
Here is the localhost joke. You have probably seen some version of it:
Tombstone: Here lies localhost. He was always home but nobody could visit him.
Bumper sticker: There's no place like 127.0.0.1
Dev humor: My social life is like localhost — always running but only accessible to me.
localhost is the name your computer uses to refer to itself. 127.0.0.1 is the IP address for the same concept — the loopback interface. When you run a web server on your machine during development, you visit http://localhost:3000 to see it. It is not a place. It is not a person. It is a network address for "this machine, right here."
The joke exists because localhost sounds like a person's name or a place you could theoretically visit. The punchline is always some variant of "he was always home / no one could reach him."
The joke is from the early 2000s. It is an in-group developer joke about a concept so foundational that anyone outside the group could plausibly misread it as a proper noun.
"Who is json" is the same joke structure in 2026. JSON sounds like a name (it is often pronounced "Jason"). Someone using an AI coding tool encountered it in an error message or a context they did not understand, and asked the AI to explain it — phrasing the question the way you'd ask about a person.
Why Both Jokes Exist at the Same Time Now
In 2005, the only people running local web servers were developers. The localhost joke was in-group humor because the out-group had no reason to encounter localhost.
In 2026, anyone can be building a web app. The AI handles the server configuration. It handles the JSON parsing. It handles the API calls. The person using the tool does not encounter localhost:3000 as a concept to learn — they encounter it as something the AI told them to type. When the AI mentions JSON in an error output, the user's frame is: the AI mentioned a word I don't know. Let me ask the AI about it.
"Who is json" is probably exactly that: someone getting a JSON parsing error from their AI-built app, not knowing what JSON is, and asking the AI. The AI has "Full access" — meaning it can look things up — and the user is just asking a question the way they would ask any question.
That is not stupidity. That is the workflow vibecoding creates. The abstraction layer is so complete that the underlying technical vocabulary is optional — until it suddenly isn't.
What the "It's Dangerous" Camp Gets Right
The critics of vibecoding have a real point, even if the dunking format obscures it.
When you build without understanding the primitives:
1. You cannot debug production failures. If your app returns a 500 because a JSON serialization broke, and you do not know what JSON is, you are completely dependent on the AI to diagnose and fix the problem. If the AI's diagnosis is wrong, you have no ability to catch it.
2. You will not notice subtle security issues. JSON injection, insecure deserialization, unvalidated inputs passing through JSON parsing — these are real attack vectors. If you have no model of the data flow, you will not notice when the AI leaves a hole.
3. You are accumulating technical debt you cannot pay. The AI builds the scaffolding. When it needs to be rebuilt, extended, or migrated, the person who built it on vibes cannot do it without the AI — and the AI may not have access to the original context.
The "who is json" moment crystallizes a real failure mode: building a production system on a foundation you do not understand creates invisible fragility.
What the "It's Fine" Camp Gets Right
The defenders of vibecoding also have a real point.
JSON parsers do not care if you know what JSON is. The product works or it does not. The customer pays or they do not. Dan Kulkov's $2,160 did not ask him to explain JavaScript Object Notation first.
More importantly: not knowing a primitive is not the same as not learning. The person who typed "who is json" is, in that moment, learning what JSON is. The AI will explain it. They will have a mental model tomorrow that they did not have yesterday. Vibecoding is for many people a way into technical understanding, not a wall that prevents it.
The localhost joke is 25 years old. It is still funny to developers. That does not mean people who did not know what localhost was in 2005 never became good engineers. The gap between "does not know what localhost is" and "cannot build anything" turned out to be small and crossable.
The Real Debate: Ceiling, Not Floor
The vibecoding debate gets most interesting when you move from "should beginners be allowed to build?" to "what is the ceiling of vibecoding as a method?"
The floor is clearly lower than the anti-vibecoding camp admits. People who cannot explain JSON are shipping products with revenue.
The ceiling question is more interesting. A few things that seem to be genuinely hard to vibe:
- Security-critical systems where audit of every data flow is required
- High-scale distributed systems where performance tradeoffs require mental models of the underlying infrastructure
- Regulated industries (healthcare, finance) where the auditor wants someone who can explain every decision
- Long-lived codebases where the original AI context is gone and the new contributor has to reason from code alone
None of these require knowing what JSON is specifically. But they require a certain kind of technical fluency that comes from building mental models — not just prompting.
The Andrej Karpathy Caveat
Karpathy's original framing of vibecoding was explicitly for throwaway prototypes and personal projects. The quote: "I'm building things I never would have built before because I would have found it tedious and not worth the effort."
He was not describing a production deployment philosophy. He was describing the experience of friction disappearing from low-stakes experiments.
The internet took "vibecoding" and applied it to everything, including production systems. That is not Karpathy's framing — but it is how the word is being used now. Collins probably did not intend to crown "production SaaS deployed without understanding JSON" as Word of the Year, but here we are.
What to Actually Take From the Meme
The "who is json" screenshot is funny. It is meant to be funny. The person who typed it probably laughed when they figured out what JSON was. That is fine.
What it actually reveals:
-
The abstraction is nearly complete. In 2026, you can build functional software without knowing the vocabulary of the data formats powering it. That is an extraordinary change from ten years ago.
-
The floor is lower but the ceiling requires judgment. Shipping your first project without knowing JSON: fine. Running security-critical infrastructure without knowing JSON: not fine.
-
The localhost joke is immortal. Every generation of new builders has a concept that sounds like a proper noun. Localhost. JSON. Now probably something in LLM tooling that sounds like a person's name. This is not a crisis. It is how the frontier of who gets to build keeps moving outward.
-
"Full access" is doing a lot of work. The AI coding tool had full access to answer the question. The user asked. The system delivered. That is, in one frame, exactly how these tools are supposed to work.
For Vibecoders: Learn the Three Concepts That Matter Most
If you are vibecoding and want to avoid the worst failure modes without taking a CS degree:
1. JSON — what it is, what a parse error means, how to read a JSON object in the browser's network tab. Takes 20 minutes to learn.
2. HTTP status codes — 200 (OK), 400 (bad request), 401 (unauthorized), 403 (forbidden), 404 (not found), 500 (server error). Takes 15 minutes to learn.
3. The difference between client and server — which code runs in the browser, which runs on the server, and why that matters for secrets and auth. Takes 30 minutes to understand at a conceptual level.
These three things will not make you a software engineer. But they will make the AI's output readable enough that you can catch the most common failure modes — and debug when things break.
The rest, honestly, the AI can hold for you.