Notes

Rebuilding The Efficient Guitarist, and what AI was actually for

The Efficient Guitarist has been around a long time. I wrote the first version back in 2004, and it's done its job quietly ever since: lay out the whole fretboard in five shapes and show you how they connect so you can play in any key. The teaching held up fine; what didn't was how it reached you, since for all those years it only ever came out as a PDF.

So I tore it apart and rebuilt it. AI was a big part of how I pulled that off, and I'll tell you exactly what that means, because I think it matters.

Why touch a finished book?

The original was written in LaTeX. If you've never run into it, LaTeX is a typesetting system for people who need the layout to be exact, the kind of thing academics and engineers live in. It has a reputation for being hard, and it earns that reputation. But once it clicked for me, it was amazing. I had control over every detail of the page, and I could build custom things, like the fretboard diagrams, right into the source. I'm not here to complain about LaTeX; for two decades it did almost everything I needed.

In practice, though, the book only ever came out as a PDF, and that's not the knock on LaTeX it might sound like. LaTeX can produce HTML and ePub perfectly well. My book couldn't, and that part was on me. Two of the things I'm proudest of, the custom fretboard diagrams and the music notation set in LilyPond, were wired so tightly to the printed page that they didn't survive the trip into any other format. That isn't a failure on LaTeX's part. It's the result of choices I made twenty years ago, when a beautiful PDF was the only finish line I had in mind.

And that limitation cost me where it mattered most: getting the book into people's hands. I wanted it on Amazon. A PDF can't go on Kindle, and it couldn't feed Amazon's print-on-demand either, so the two doors most readers actually walk through were closed to me. I leaned on Lulu.com to get a printed copy out into the world, and I'm glad it existed, but let's not kid ourselves: I wanted this book widely available, and Amazon was the most direct way to get there.

Could I have worked around it years ago? Sure, but it was never going to be quick. Doing it in something like Pages meant pulling all the text out of the original by hand, reformatting every page, re-inserting every image from the old source, and rebuilding all the music notation from scratch in Dorico, a notation program. That's not an afternoon of work; it's weeks of grinding, a multi-month project, and I never had that kind of time to give it.

Even if I'd found the time, I'd have come out the other side worse off. Going that way meant trading away everything LaTeX gave me. All that control and flexibility would be gone, swapped for a format I could export but couldn't really shape anymore, and that was never a trade I was willing to make.

So I waited for a better way in, and when it finally showed up, it was this: I could rebuild the book to keep the flexibility and add every format, instead of trading one away for the other.

One source, every format

The rebuild turned the book into plain, readable source plus structured data, with a pipeline that builds every format from that one source. Paperback, ebook, web version, all of it comes out of the same place, and I fix a sentence once instead of three times.

The diagrams are the best example. Even in LaTeX they were drawn by code, not by hand, which is a big part of why I loved working in it. What changed is where that code can go. Instead of being baked into one PDF, every shape is now something any format can use, something I can keep moving, recoloring, and reshaping. I didn't lose an ounce of the flexibility I had; it just isn't trapped in a single file anymore.

For the curious: how it actually works

If you like the technical side, this is roughly how it goes, and you can skip ahead if it's not your thing. The book now lives as a set of plain-text source files I write in, in a small format I made up for it. A parser reads those files and turns the whole book into one structured JSON file, and that JSON is the single source of truth for everything downstream.

From there, separate builders take over. The print PDF is drawn directly with a Python library called PyMuPDF, so the code places every line of text and every diagram on the page itself, with real control over spacing and layout. The HTML and the ePub are generated from that same JSON, so all three formats trace back to one place.

The diagrams are the part I'm happiest with. Every scale and chord shape is stored as plain data: which string, which fret, which finger, and which note is the root. A renderer turns that data into SVG, so the same shape can be a razor-sharp vector on screen and a clean image in print. For the ePub I convert those to PNG, because some e-readers run a dark mode that quietly inverts SVG colors and makes a mess of them. The music notation still goes through LilyPond for print, which is the gold standard for engraving and worth every bit of its learning curve.

Here's the leap in one example. In the old book, every dot on a diagram was placed by hand. The G minor pentatonic on the 6th string, written so the diagram labeled intervals instead of fingerings, looked like this:

\scale{t}{bf{10}p3 f{13}p6,
  f4p3 f5p5,
  f{17}p3 bf{10}p5,
  f{13}p3 f4p5,
  f5p3 f{17}p6,
  bf{10}p3 f{13}p6}{Intervals}

Every token there is a dot I positioned myself: a string, a fret, and a code for the label, where 10 meant the root and 13 meant a flat third. Six strings of that, by hand, for every shape in the book. Today the same diagram is one line:

@scale G minorPentatonic position=3 view=intervals

That line only works because, underneath it, I taught the system what a minor pentatonic actually is. I defined the scale a single time, as a rule: root, flat third, fourth, fifth, flat seventh. From that one definition the engine takes any root I give it, works out which notes belong, finds them on the fretboard in whatever position I ask for, and labels them as intervals or as fingerings. So the real leap isn't that the new line is shorter than the old block. It's that the music theory itself moved out of my hands and into the system, where it now draws every key, every position, and every view of that scale on its own.

If there's one piece of this I want to brag about, it's the spacing. Getting music and text to share a page and actually look right is genuinely hard, and it's the thing the old version fought me on the most. In LaTeX I got there with a pile of manual commands, nudging the vertical space by hand, page by page, until each one finally sat right. It worked, but it was a negotiation every single time. The new system handles it with rules instead: it sizes every diagram so they all match, measures the room around the notation, the text, and the captions, and spreads the leftover space evenly so everything lands where your eye expects it, all of it calculated rather than nudged into place by hand. I haven't seen another book toolchain built quite like this, a small engine whose entire job is keeping diagrams, notation, and prose optically aligned on the same page.

And then there were the fonts. I learned far more than I ever wanted to about font embedding, because the print-on-demand services reject anything that isn't fully embedded TrueType. That sent me down a rabbit hole of converting fonts and checking, glyph by glyph, that every character was actually baked into the file. It was tedious, fiddly work, and there was no shipping the book without it.

Where the AI actually helped

I built this with an AI coding assistant working next to me, and people tend to imagine way too much or way too little about what that looks like.

So let me clear one thing up first. You see a lot of stories that end with "and the AI did it in five minutes." This was not that. This was a few weeks of work, at night and on weekends, and I went all in. The AI took the boring parts off my plate, but I still had to show up for it, night after night, and make a thousand small calls about how the book should look and read and teach. It was real work. It just wasn't the kind of work that used to make a project like this impossible for me to finish.

The AI did the engineering: it helped port the old LaTeX into the new format, wrote the code that draws the fretboard diagrams, and built the output for every format. It also chased down the genuinely maddening parts of self-publishing that have nothing to do with music: getting the fonts embedded correctly so Amazon and Lulu would actually accept the files, and untangling a registry mix-up that kept rejecting my own ISBNs for reasons that took real detective work to find. That work is tedious and easy to get wrong, and having something that would chew through it without getting bored or sloppy is what let me actually finish.

But the AI didn't write the book. Every note, every scale, every choice about how to teach this stuff is mine, same as it's always been. The music isn't generated, and the teaching isn't outsourced.

Here's what I mean: a computer will happily spell a C minor pentatonic as C, D-sharp, F, G, A-sharp. It's not wrong by the math, just wrong to any musician, who reads that scale as C, E-flat, F, G, B-flat. The tool could move the notes around, but it couldn't know which spelling a guitarist actually needs to see. Knowing that is the job, and that part is still mine.

There's another part of this that was all mine, and it comes from the day job. I've spent almost two decades at Apple, and that kind of work teaches you to debug by eye, to catch the spacing that's a hair off or the glyph that's a shade wrong before anyone else would ever notice. I brought every bit of that here. I wasn't only the author on this project; I was its QA too, and I was brutal about it. The AI would hand me an output and I'd pick it apart, line by line, until it was right, because it had to look perfect and I was unwavering about that. The eye that won't let a flaw slide is not something you can hand off to a tool. That part was my job and I took it seriously.

What I actually think about all this

AI is genuinely great at the grunt work that surrounds the creative part. It's fast, and it never gets tired of the boring engineering that stands between an idea and a finished thing.

This rebuild is the best answer I've got to all the worry about what AI is going to do to us. The project sat on my list for years; I knew exactly what I wanted, I just never had the runway to get there, so it languished, until the AI finally gave me that runway. Steve Jobs called the computer a bicycle for the mind, and that's exactly what this was for me. It wasn't a threat to anybody, just a tool that got a job off my shelf that had sat there for two decades, one I never would have gotten to otherwise.

It still takes someone who knows the music, though. So much of the craft lives in judgment that's hard to write down, and the tool can't make those calls for me. It sped me up enormously, but it couldn't do the actual teaching, and the teaching is the whole point.

I also want to say the part that's easy to leave out of a story like this: I had fun. Real fun. For all the talk about what AI does for productivity, what stuck with me is how good it felt to work this way, losing whole evenings to it because I wanted to see the next piece fall into place. I sat down to a problem I'd avoided for twenty years and found myself genuinely delighted, the way you are when something you make keeps surprising you. I haven't enjoyed a project this much in years, and that ended up mattering to me as much as the book did.

What surprised me most is that I didn't end up with a compromise. I ended up with something better than what I had before. I kept the control and flexibility that made LaTeX worth learning, I lost the one limitation that was holding the book back, and I got every format I wanted on top of it. There are a couple of things I'm building on this new foundation that I'm not ready to show yet, and when they are, you'll see them here first. For now it's enough that twenty years of teaching finally sits on a foundation it can grow from.