Speaker Notes

Vibe coding

Building software by prompting, with little reading of the code.

8talks
75answers
5mainly about it
8new
DecJanFebMarAprMayJunJulAugSepOctNov

What your library answers 75

Why did you choose React for the initial vibe coding experiment?

React was chosen because the speaker did not know the language, which enforced the rule of not touching the code directly and only using prompts. Additionally, frontier LLMs have extensive training data for React, making it exceptionally well-indexed and supported compared to more niche languages.

Thumbnail: The Man Behind World’s Largest Dev Con | Stephan & Devoxx ▶ 10:57 The Man Behind World’s Largest Dev Con | Stephan & Devoxx

What happens when you rely entirely on vibe coding without understanding the architecture?

Relying 100% on vibe coding without knowing your codebase, variable names, or architecture causes development to eventually break down. Without a mental map of the code, you cannot give accurate hints or fix issues when agents fail. This leads developers into a frustrating cycle of failure.

Thumbnail: When to prompt and when to code ▶ 0:25 When to prompt and when to code

How does ULMFiT differ from traditional training approaches?

ULMFiT introduces a three-stage architecture using a general-purpose corpus for pre-training before task-specific supervised fine-tuning. This approach heavily relies on robust regularization techniques and discriminative learning rates across different model layers. Jeremy Howard found that this transfer learning methodology vastly outperformed highly specialized models on classification tasks.

Thumbnail: The Dangerous Illusion of AI Coding? - Jeremy Howard ▶ 4:30 The Dangerous Illusion of AI Coding? - Jeremy Howard

How did you transition from fixing a buggy PDF viewer to building PSPDFkit?

After encountering an extremely buggy magazine viewer app, he offered to rewrite it and later extracted the PDF rendering component into a standalone product. He started selling it online after realizing other developers faced the same complex file format challenges.

Thumbnail: The creator of OpenClaw: "I ship code I don't read" ▶ 10:06 The creator of OpenClaw: "I ship code I don't read"

Why did you stop using Claude Code and build your own agent harness?

Mainstream harnesses lack transparency and flexibility, with system prompts and tool definitions changing behind your back. They also offer zero observability, restricted model choices, and extremely shallow hooks that spawn inefficient processes.

Thumbnail: Building pi in a World of Slop — Mario Zechner ▶ 1:55 Building pi in a World of Slop — Mario Zechner

What defines the Software 3.0 programming paradigm?

Software 3.0 is characterized by large language models acting as programmable neural networks. Instead of traditional coding or tuning model weights, developers program the system using natural language prompts. This turns English into a functional programming language for the LLM.

Thumbnail: Andrej Karpathy: Software Is Changing (Again) ▶ 3:19 Andrej Karpathy: Software Is Changing (Again)

What happened when the vibe coding app reached 90% completion?

After two weeks of pure vibe coding, the app hit a wall at 90% functionality while trying to integrate features like dark themes and Firebase services. The LLM ended up creating too many redirections and abstraction layers, resulting in slow, unmaintainable spaghetti code.

Thumbnail: The Man Behind World’s Largest Dev Con | Stephan & Devoxx ▶ 12:08 The Man Behind World’s Largest Dev Con | Stephan & Devoxx

Why is pure vibe coding difficult for non-technical beginners?

Non-technical people or beginners struggle with vibe coding because fixing broken agent outputs requires distilling years of engineering experience into a few lines. Without a background in software engineering and debugging, explaining how to fix a bad AI output is extremely difficult.

Thumbnail: When to prompt and when to code ▶ 1:07 When to prompt and when to code

Why do language models fail when pushed outside their training distribution?

Language models operate by fitting complex curves across massive multidimensional training data, meaning they rely on interpolation rather than true reasoning. When a prompt pushes the model outside this known distribution, its representations collapse and it loses basic understanding. Thus, what appears to be creativity is merely compositional interpolation of existing human knowledge.

Thumbnail: The Dangerous Illusion of AI Coding? - Jeremy Howard ▶ 20:24 The Dangerous Illusion of AI Coding? - Jeremy Howard

How did you build your first successful iOS app without an official API?

Frustrated by a dating website's mobile limitations and lack of copy-paste, he downloaded Xcode and used regular expressions to parse the HTML directly. He put the app in the App Store for five dollars and made 10k in the first month.

Thumbnail: The creator of OpenClaw: "I ship code I don't read" ▶ 6:05 The creator of OpenClaw: "I ship code I don't read"

What issues arise from OpenCode's context handling and LSP server integration?

Pruning tool outputs after a minimum token threshold effectively lobotomizes the model by removing crucial context. Furthermore, injecting LSP server errors on every single edit confuses the model instead of letting it finish work first.

Thumbnail: Building pi in a World of Slop — Mario Zechner ▶ 3:46 Building pi in a World of Slop — Mario Zechner

Why do LLMs resemble 1960s operating systems?

LLM compute is currently expensive and centralized in the cloud, forcing developers to act as thin clients interacting over a network. This mirrors early computing where time-sharing was necessary because users lacked full utilization of the underlying hardware. Furthermore, direct text interactions with chat interfaces feel like accessing an operating system through a terminal.

Thumbnail: Andrej Karpathy: Software Is Changing (Again) ▶ 11:05 Andrej Karpathy: Software Is Changing (Again)

How do you transition from vibe coding to a spec-driven development process?

To move toward a spec-driven approach, the speaker fed the existing React application into multiple CLI tools to generate detailed markdown specifications for each feature. Using several frontier models to review and refine these specs ensured they were clear enough to guide subsequent implementation in Angular.

Thumbnail: The Man Behind World’s Largest Dev Con | Stephan & Devoxx ▶ 16:32 The Man Behind World’s Largest Dev Con | Stephan & Devoxx

When should a developer stop prompting and start writing code themselves?

You should write code yourself when prompts become longer and more complicated than the actual fix. The ideal balance is using AI to write boilerplate code you want to avoid, while maintaining enough architectural understanding to halt the agent and redirect it when it goes off track.

Thumbnail: When to prompt and when to code ▶ 1:29 When to prompt and when to code

What is the main issue with relying on vibe coding for software development?

Relying on AI coding tools creates a false illusion of control and productivity while leaving developers with code nobody truly understands. Studies show that vibe coding often decreases actual shipping productivity and introduces severe long-term maintenance risks. Software engineering requires rigorous design and understanding rather than blindly pulling a slot machine lever.

Thumbnail: The Dangerous Illusion of AI Coding? - Jeremy Howard ▶ 48:14 The Dangerous Illusion of AI Coding? - Jeremy Howard

Why do you rely on custom pricing for enterprise software?

Custom pricing allows vendors to assess a company's size and willingness to pay, ensuring the price reflects the differing value a freelancer versus a Fortune 500 company gets. If the price is too low, large enterprises view it as fishy, while a fixed low price excludes big buyers.

Thumbnail: The creator of OpenClaw: "I ship code I don't read" ▶ 22:29 The creator of OpenClaw: "I ship code I don't read"

Why do minimal harnesses like Terminal Bench perform so well on leaderboards?

Terminal Bench provides only a simple tool to send keystrokes to a tmux session and read the output. Despite lacking file tools or sub-agents, this minimalist approach outperforms complex native harnesses.

Thumbnail: Building pi in a World of Slop — Mario Zechner ▶ 4:57 Building pi in a World of Slop — Mario Zechner

What cognitive deficits do large language models exhibit?

LLMs have encyclopedic memory but suffer from rough edges like hallucinations and jagged intelligence where they fail simple logic tasks. They also lack native long-term memory consolidation, suffering from an equivalent of anterograde amnesia where their context windows are wiped. Additionally, they are gullible and vulnerable to prompt injection risks.

Thumbnail: Andrej Karpathy: Software Is Changing (Again) ▶ 16:19 Andrej Karpathy: Software Is Changing (Again)

Why are unit and integration tests crucial when using AI code assistants?

AI assistants frequently break older features accidentally when implementing new changes across an application. Maintaining a robust suite of unit and integration tests acts as a vital guardrail to catch these regressions early since visual inspection alone is insufficient.

Thumbnail: The Man Behind World’s Largest Dev Con | Stephan & Devoxx ▶ 21:19 The Man Behind World’s Largest Dev Con | Stephan & Devoxx

Why doesn't generating 90% of code with AI make engineers proportionally more productive?

Typing code was never the primary bottleneck in software engineering, echoing Fred Brooks's observation that writing code is only a fraction of the work. Delegating design to LLMs often results in superficial solutions modeled on surface-level similarities rather than novel engineering.

Thumbnail: The Dangerous Illusion of AI Coding? - Jeremy Howard ▶ 27:50 The Dangerous Illusion of AI Coding? - Jeremy Howard

How did you handle extreme edge cases in PDF parsing?

When a customer with a massive 50,000-page document caused their data model to explode due to thousands of links, they had to completely redesign the internals. They implemented lazy loading so the application could handle massive files without breaking existing APIs for users.

Thumbnail: The creator of OpenClaw: "I ship code I don't read" ▶ 24:39 The creator of OpenClaw: "I ship code I don't read"

How does Pie achieve self-modification without complex mechanisms?

Pie ships documentation and code examples of extensions alongside its core tools. By instructing the model with these examples, the agent can write its own extensions to modify its behavior.

Thumbnail: Building pi in a World of Slop — Mario Zechner ▶ 6:48 Building pi in a World of Slop — Mario Zechner