Vibeleaderboard
← All Intel
Intel / article

Why I Stopped Using nbdev

Source
hamel.dev
Author
Hamel Husain
Date

Context

A workflow's source of truth can become a source of confusion for coding agents. Hamel Husain, who helped build and maintain nbdev, explains why he stopped using it: developers edit notebooks, which generate library code and documentation, but his AI tools struggled to distinguish the editable notebooks from the generated files.

That friction changed his personal trade-off. He preferred more conventional project structures where the agents had a clearer editing target, despite his investment in nbdev. He still uses notebooks for exploratory data analysis and machine learning. His account concerns notebook-based software packaging, rather than rejecting notebooks wherever interactive exploration is useful.

Key takeaways · AI-distilled
  • nbdev transpiles notebooks into a Python library, and AI coding tools cannot tell which artifact to edit — the notebook source or the generated code. Working in it means fighting the assistant on every change.
  • The literate-programming pitch was that co-located docs stay fresh. AI weakens it: a model can read an undocumented codebase and explain it on demand, and handle the tedium of docs kept separately.
  • TypeScript has overtaken both Python and JavaScript on GitHub, partly because types make generated code more reliable. One study found 94% of compilation errors in TypeScript are type violations — errors the compiler catches for free.
  • Idiosyncratic tooling used to be a quiet filter for a certain kind of contributor. That is now a liability: the same friction that blocks human collaborators blocks the AI ones too.
  • Cursor won by feeling familiar and letting developers change habits slowly, rather than demanding a whole new workflow on day one.
Terms in this piece · Glossary
  • LLM — A large language model — the neural network behind tools like Claude and ChatGPT, trained on huge amounts of text to predict what comes next.
Key quotes

“I write software to solve problems, not to write code. I want to work in an environment where AI has the highest chance of success.”

“Notebooks don’t force you to write clean code. AI tools don’t force you to think carefully. Discipline comes from the developer, not the environment.”

“Cursor won because it felt familiar and let developers change their habits slowly, rather than demanding a new workflow on day one.”

“The same impediments that get in the way of collaborating with humans tend to get in the way of collaborating with AI.”

More from Hamel Husain
Recommended reads
Comments

Checking sign-in…

Loading comments…