oWp

OWebP

OneWebPropaganda

Home / Watch on YouTube
Overcoding: Coding without Code
The Living Web Directives #1 - Uploaded August 18th, 2025
🍎
By now, we all know that feeling of uncertainty that sets in when you code with LLMs. As the conversation gets longer, you start to wonder if you're issuing conflicting requests; "did I say this?" or "does the AI know about that?" — it can get to a place where it feels like pleading for aliens to make miracles work.
I found a little trick to make that problem easier to deal with. It makes AI coding feel more like a process of building and learning, rather than of persuading someone to do something for you.
🥩
// server.js.overcode
SIMPLE HELLO WORLD SERVER IN NODE.JS
// server.js
const http = require('http');
const server = http.createServer((req, res) => {
  res.end('Hello World!');
});
server.listen(3000);
I call it overcoding: The main difference is an additional layer of metadata called the "overcode." Imagine every code file has another file, an "overcode file," dedicated to storing descriptions of the code. Human words describing what the code does, how it's structured, like audio descriptions for the visually impaired, but for people who want to reason about the code without having to actually see it.
// fib.js.overcode
EXPORTS A FUNCTION THAT RETURNS THE NTH FIBONACCI NUMBER
  USES MEMOIZATION FOR EFFICIENCY
  HANDLES NEGATIVE INPUTS GRACEFULLY
  RETURNS ARRAY OF FIRST N FIBONACCI NUMBERS
  NEVER GONNA GIVE YOU UP~ NEVER GONNA LET YOU DOWN~
// fib.js
function fibonacci(n) {
  if (n < 0) return 0;
  if (n <= 1) return n;
  return fibonacci(n-1) + fibonacci(n-2);
}
module.exports = fibonacci;
The idea is that everything you say in this file will be evaluated as a true/false statement about the contents of the "undercode" — the actual code. Who judges the true/false? The LLM, of course. We teach it some basic "grading syntax" so it can annotate our statements as true or false (or ambiguous).
// prompt for grading overcode
You are reviewing an overcode file - code annotated with human statements about what it does.
Your task: Grade each statement by comparing it to the actual code behavior. Use emoji brackets to show your assessment:
✅ Statement accurately reflects code reality ✅
⚠️ Mostly true but has some discrepancies ⚠️
⛔ Doesn't work like that at all ⛔
❓ Statement itself is ambiguous or unclear ❓
Structure notes:
• Statements are in 2-space indented trees
• Each paragraph is evaluated independently
• Add 🤖 comments explaining your reasoning when helpful
Focus on what the code actually does vs. what the statements claim.
// fib.js.overcode (graded)
✅ EXPORTS A FUNCTION THAT RETURNS THE NTH FIBONACCI NUMBER ✅
  ⛔ USES MEMOIZATION FOR EFFICIENCY ⛔
    🤖 Current implementation is recursive without memoization. 🤖
  ✅ HANDLES NEGATIVE INPUTS GRACEFULLY ✅
  ⛔ RETURNS ARRAY OF FIRST N FIBONACCI NUMBERS ⛔
    🤖 Returns single number, not array. Negative inputs return 0. 🤖
  ❓ NEVER GONNA GIVE YOU UP~ NEVER GONNA LET YOU DOWN~ ❓
    🤖 The function is exported (given up), is that what you meant? 🤖
And we're off to the races!
Instead of having to frame your code changes as a request to AI, you can code by decrees! Declare something about the underlying code that isn't true, and the AI will flag it as a "misfit" that it wants to talk to you about.
claude code session #21eb93c9-f85f-4bd7-947c-29669633c08c
topic: misfit in fib.js.overcode: ⛔ USES MEMOIZATION FOR EFFICIENCY ⛔
AI: I found a misfit in your overcode. You've declared that the fibonacci function uses memoization for efficiency, but the current implementation is purely recursive without any caching. Would you like me to add memoization? I can implement it recursively with a cache object, or switch to an iterative approach with memoization. What's your preference?
You: Keep it recursive but add the memoization cache.
AI: Perfect! I'll modify the code to add a memoization cache while preserving the recursive structure. This will make it much more efficient for larger values of n.
claude code session #21eb93c9-f85f-4bd7-947c-29669633c08c (continued)
updated fib.js.overcode with implementation details:
✅ EXPORTS A FUNCTION THAT RETURNS THE NTH FIBONACCI NUMBER ✅
  ✅ USES MEMOIZATION FOR EFFICIENCY ✅
    ✅ CACHE OBJECT PASSED AS PARAMETER TO RECURSIVE FUNCTION ✅
  ✅ HANDLES NEGATIVE INPUTS GRACEFULLY ✅
  ⛔ RETURNS ARRAY OF FIRST N FIBONACCI NUMBERS ⛔
  ⛔ NEVER GONNA GIVE YOU UP~ NEVER GONNA LET YOU DOWN~ ⛔
AI: Great! I've updated the implementation and re-graded your overcode. The memoization is now working correctly. Should we tackle the next misfit about returning an array, or are you happy with the single number return?
So you talk to the AI about the misfit, and in the process reconcile the code and your vision — both by changing the code to meet your vision and by developing your vision into more precise statements and requirements in the overcode layer.
🍰
When you first start overcoding, it plays out like a "20-question" game that you play for every file in your project. Here, you're trying to bootstrap the overcode layer. For code that you wrote yourself, this is pretty easy, and fun (depending on how well it's organized).
Where it gets interesting is when you try to overcode someone else's code. You don't have the mental model that allowed you to write the code, so it really becomes a 20-question game where you feel your way through by testing hypotheses about the code, while simultaneously generating documentation of your own understanding.
I've been trying to post things earlier, before I start making wild speculations, so that's all I have. I'm just beginning to learn what I'm doing here; I think the natural follow-up is to create a UI for the whole workflow. The idea of creating extra syntax/semantics by layering files on top of each other is actually from a different project I was working on called Mycelium (which is, relatedly, about a new kind of self-developing web development environment). Overcoding seems to be a useful application of its structural properties.
Thanks for reading. I'm still working on that post about Mycelium....
© owebp.net - All Rights Reserved in Protest.
OneWebPropaganda is a trademark of The Unique You Are Company.