I’ve changed the name of this newsletter from “tidy design principles” (which has not made sense for some time) to AI for data science. I’ve made this change even as I continue to have mixed feelings about AI. I have found AI to be very rewarding for projects at the edges of my expertise, but I am also deeply worried about its long-term implications for the environment, for how we work, and for how we learn. (I also have AI fatigue and I’m sick of every work conversation being about it in some way or another.)
But AI is happening regardless of how I feel about it, and it’s better to recognise that my work (and my writing) has changed and will continue to change. Even so, the most important things remain the same: I’m still dedicated to my mission to make data science faster, better, and more fun. And I believe I have useful knowledge to share, and that clear, informative writing has a positive impact on the world.
To that end, I’m rededicating myself to daily writing, with the goal of producing one post a week. I have a large backlog of topics I want to write about, including my recent work on data-dict and data-diff, my experiences using AI for R package development, and what my colleagues at Posit are working on.
Thanks for continuing to travel this rocky road with me. As always, if you have ideas for particular topics you think I should cover, please let me know in the comments!



really enjoyed posit:conf this year (first time) and can't wait to see what's next from you and the team at Posit. keep up the great work!
Thanks, Hadley! I'd be really interested to know more about your workflow and AI ergonomics. I see posts like https://wesmckinney.com/blog/agentic-engineering-aug-2026/ from Wes McKinney but I don't then have a clear sense or guide of how to implement them, and if that kind of workflow makes sense for my own data science workflows. I'm not managing as many projects as Wes, but I do context switch a lot - getting AI to work on one thing, checking it, then while it is running, starting up another workflow on something else. It all feels a bit inefficient, and so I wonder about these ergonomic workflows. Like, how {usethis} transformed how I set up packages/projects, and how things like {tflow} https://github.com/MilesMcBain/tflow and https://github.com/MilesMcBain/fnmate help me develop targets pipelines and iterate on functional programming.