intro and motivation

  • I don’t feel accomplished when I vibe code, “he who does the work gets the learning” and if I outsource all / most of it then I’m not actually becoming a more capable person when I have Claude write all my code, and I think that’s not good.

  • Instead, I had the thought that I can LLM’s to write code for my projects, get something that works, then go back through and come to understand why the code is working and what it’s doing under the hood.

  • Relatedly, I’ve seen some job applications that say they’re fine with people using AI tools to write code in interviews, but the interviewer will also test whether the applicant actually understands what’s being written. If that’s a make or break it, then I’d like to prevent myself from breaking it, which is also helpful if the LLM isn’t able to replace programmers yet; you may need to visit the trenches from time to time!

  • And so, I decided I would 1. use LLM’s to (help) create different projects I’m working on and 2. go back through to understand what it was that made the code work at all. Ideally, this should make me a better developer as well, in the least to understand on an intuitive level and be able to use that to better prompt models in the future.

  • In the “Book of Five Rings”, Miyamoto Musashi mentions the phrase “The master as the needle, the student as the thread.” As I’d never heard this before, I looked around and the best explanation I found was saying how:

    • The master will guide the student through the terrain of the problem (like a needle)
    • But the student has to do the actual work by providing the strength needed for a solution to work (like the thread).
      • the master will no longer be necessary, but the student remains while keeping the structure together.
  • In this way, I become the thread and come out on the other side understanding better how the machine works.

  • This is a series of experiments in this vein where I’ll detail how I built different projects and what I learned in the post-mortem, complete with prompts, facts, and other tidbits that will help your own journey.

the solution relies on the strength of the student to support the residual structure

the master as the needle

“Tell me and I’ll forget, show me I’ll remember, involve me and I’ll understand.”

There’s a critical line between technological capability and genuine understanding, can you truly comprehend something without wrestling with its complexity? The phrase ‘those who do the work receive the learning’ is more than a platitude; it’s a commitment to technologically influenced thinking, where AI becomes a tool for insight, not a replacement for understanding.

the core learning strategy

My approach is simple, and deliberate: use LLMs to generate working code for projects, and then dive deep to understand why and how that code works under the hood.

In the “Book of Five Rings”, Miyamoto Musashi mentions the phrase “The master as the needle, the student as the thread.” The consensus I’ve found on what this means goes:

  • The master guides the student through the terrain of a problem (like a needle)
  • The student provides solution and uses their strenth to support it (like the thread)
  • Ultimately, the master becomes unnecessary, but the student remains, holding the structure together

In this way, I aim to have LLMs be my needle and have myself become the thread, learning to support the structures I’m working with.

what to expect in this series

This blog series is an experiment in active, intentional learning. Each post will be a deep dive into a specific project:

  • How the project was conceived
  • Initial AI-assisted code generation
  • Code review with detailed exploration of key concepts
  • Personal reflections and learning moments
  • Practical insights for other learners

This series is a live experiment in understanding; deliberately messy, intentionally iterative, and perpetually evolving. Not to continually be seeking perfection, but instead persistent curiosity.

the experiments