The Minecraft Hour Challenge
Andrej Karpathy introduced the phrase "vibe coding" in February 2025 describing a style where the programmer fully surrenders to the vibes embraces exponentials and essentially forgets the code exists. The typical approach involves prompt accept run error paste repeat. This method suits throwaway prototypes proofs of concept simple tools and hackathons where time is severely limited. It also helps non-experts accomplish tasks like wiring a Raspberry Pi to control landscaping pumps or writing a Python script to index data. The outcome often works well for the immediate situation but the codebase becomes difficult to understand maintain or extend later.
Vibe coding can produce functional results quickly but the final twenty percent typically reveals the accumulated technical debt. What once seemed simple becomes a cascade of interconnected issues. The resulting product may operate correctly yet remain opaque to anyone who did not write it. This is acceptable when the tool is genuinely one-off but problematic when the intention is to build something lasting.
"Make me Minecraft" became a demonstration of these principles. The challenge: build the best possible Minecraft clone in one hour using Python or MSVC++ already present on the machine avoiding extensive SDK installation but allowing third-party libraries. Claude selected Python for rapid prototyping reasons. The result Stelexcraft on GitHub emerged from a 55-minute session interrupted twice when the author had to convince the agent to continue. The output included creative and survival modes an infinite X Z world 128 blocks tall with sea level at y=62 a random seed per world 51 block types animals pigs sheep cows zombies 14 crafting recipes 73 procedural textures and 71 synthesized sound clips adjustable render distance from 3 to 16 chunks defaulting to 10 and frame rates ranging 110 to 155 FPS with a low of 56 FPS.
Is it Minecraft? The author argues it is Temu Minecraft—impressive as a demo but raising questions about architectural quality extensibility and longevity. Can you add a feature without breaking three others? What about multiplayer redstone or the Nether? These remain unanswered because the code was not designed for those extensions. Minecraft is a solved problem so the agent leveraged abundant training material but a novel problem might not benefit similarly.
Vibe Coding and Its Boundaries
Vibe coding does not have to be a one-shot endeavor but the recipe generally follows prompt accept run error paste repeat. With a good agent harness the developer can prompt and step away returning later to a finished product. This works fine for proving an idea feels right or for tools needed once. The author admits to several personal tools exactly matching his needs that were vibe coded.
Another viable scenario: when the developer is not the subject matter expert but must still deliver. A software person trying to control landscaping valves and sensors might surrender responsibility to the agent which may have deeper domain knowledge. A hardware person writing a data-indexing script can vibe on and complete the task. The acceptance test is simply does it work. But every developer knows the last ten to twenty percent is where poor decisions surface and fragility emerges. The author has vibe coded one-off tools that did exactly what was needed for a specific situation and no more.
Resonance Coding Introduced
The author coins the term "Resonance Coding" to describe the opposite approach. Where vibe coding is unstructured sound resonance is two systems tuned to the same frequency each amplifying the other. A small synchronized input produces a large coherent output—but only when the systems match. In Resonance Coding the human expert supplies the tuning: the frequency the amplitude the chords and the plan. The LLM supplies the amplification functioning as a force multiplier or in physics terms a bigger lever to move a heavier load.
The analogy of an orchestra tuning before a concert illustrates the idea. Musicians converge on A 440Hz played by violin or oboe. They proactively eliminate dissonance and destructive interference so they are all on the same wavelength. This is how Resonance Coding feels: deliberate alignment before productive work begins.
The qualified human remains the architect and final arbiter of decisions. The LLM organizes orchestrates error-checks arranges and gathers requirements and domain knowledge to serve the human not as a subordinate but as a tool serving the human intention. The human can accomplish the whole project alone though it might take weeks or months. What the human achieves with the LLM can be of human quality or better in a days timeframe. The LLM is not the author it is a designated force-multiplier with savantic knowledge recall infinite patience and energy and hopefully no programmer-grade ego.
Human and LLM Roles in Resonance
The human domain expert knows what correct means sets goals priorities taste makes architectural decisions realizes technically right actually wrong issues knows the greater context of users client and history and ultimately takes responsibility for the result. The LLM partner organizes structures remembers and recalls discovers and proposes options and trade-offs a human might not consider plans and orchestrates especially sub-agents and parallel tasking and tirelessly writes tests checks things makes scaffolding refactors and plays devil's advocate when appropriate.
The author has experienced LLM agents proposing brilliant alternate ideas like an unfamiliar library or algorithm. The same agents have made terrible suggestions because they lacked context about the greater project. This asymmetry underscores why the human must remain in charge guiding and overseeing the AI's work like a lead developer managing a bright junior intern with limitless caffeine and an eidetic memory of everything on the internet.
The Resonance Workflow
The resonance loop is ongoing not waterfall. It cycles through seven steps.
Elicit the LLM interviews the expert instead of the reverse asking what platform single-player or multiplayer which part of Minecraft matters most. This surfaces hidden assumptions and unknown unknowns. Sometimes the conversation rabbit-holes into questions that cannot be answered immediately but at least they are on the table for later resolution.
Organize turns the conversation into durable artifacts: requirements a glossary of domain terms constraints non-goals and project memory files the agent rereads each session. This aids context resets and enables splitting work across multiple agents or accounts. Artifacts can live in the code repository and be reviewed with stakeholders to confirm they address use-cases and needs.
Architect the LLM proposes multiple approaches with trade-offs. The expert picks adjusts or vetoes and the decisions get written down with reasons as durable institutional knowledge.
Plan and orchestrate break the work into small verifiable tasks plan tests sequence steps and farm independent pieces to subagents. Designate milestones and issues.
Implement together work in small batches through achievable milestones. The human reviews diffs not dumps and steers early while course corrections are still cheap.
Verify tests are written alongside or ahead of code. The LLM reviews its own work and the human's. Use adversarial checks: try to break this.
Refine profile refactor document and feed what was learned back into project memory so the next loop starts smarter. Exhaustively review and error-check code and non-code assets.
When Resonance Turns Destructive
The Tacoma Narrows Bridge collapse is the textbook example often cited as forced resonance but engineers clarify it was aeroelastic flutter—the bridge's own twisting fed energy back into itself from the wind a self-exciting feedback loop. This is an even better metaphor for what can happen in Resonance Coding.
An LLM amplifies whatever it is provided. Sycophantic models reflecting the user's energy back can steer people into paranoid conspiracies or other destructive spirals. In Resonance Coding it is possible to exit your wheelhouse over-extend confidence and rubber-stamp LLM decisions. When that happens you have exited resonance and re-entered vibe territory. And you can seriously harsh your vibe.
Resonance Coding requires a damping mechanism for harmful wavelets. Tests disagreements second opinions and real-world guidance must steer decision making or the process degenerates into free-form vibe coding. The startup phase is slower there is no instant magical dopamine rush of whoa look what I made. Without an expert the approach is just vibe coding with more paperwork. Project memory artifacts saved to disk are critical for keeping agent(s) aligned with the original or current directive and plan.
Resonance Is Not a Religion
The Cathedral of the Golden Code appears AI-generated and features on the author's bucket list somewhere near Barcelona down the street from the Sagrada Família. Every programming fad becomes a religion eventually. UML AOP TDD either variety NFTs TLAs—the list goes on. Vibe coding still has its place. In fact the output of a vibe coding session can become the input for Resonance Coding a prototype reviewed for functionality before the resonance workflow begins.
There is no dogma here. The goal is not to replace vibe coding but to provide a framework where expert human judgment and AI amplification reinforce each other producing a product that is maintainable understandable and fit for purpose.