My wife and I had our first child recently, a baby girl (prepare yourself for dad content on this blog). It’s been wonderful, and of course has spurred me to tinker on various ways to entertain her. I’m particularly proud of this project.

Winnie-the-Pooh was written in 1926 by A. A. Milne, and both the excellent original text and its equally-excellent illustrations by E. H. Shepard are in the public domain in the United States as of a few years ago. This means you’re free to reproduce and mess around with them.

So I designed and printed a totally bespoke version of the book, with its central child Christopher Robin replaced (in both text and illustrations) — with my daughter. I colorized all the illustrations and swapped a stylized version of her into Christopher’s place; I changed all the mentions in the story to be about her instead of him; I wrote a custom introduction and dedication and designed a new cover and dust jacket and front matter and endpapers and various other little details and surprises.

Here’s the outside (with her name blurred, as throughout this post):

And representative pages:


In showing this to a few people, I’ve been amused by the reactions. The first response is invariably them thinking I just got a bespoke cover with my daughter’s name for the classic book (pretty cool by itself!). But when they realize the degree of customization, they then ask where I bought it / what service I used to make it.

When they find out that there’s no off-the-shelf service and that instead I created this myself, they say one of two things. Either a disbelieving “how could you possibly have done this, this seems like an insane amount of work” or “ah yeah I bet AI can just knock this out, it’s such a good idea.”

(Well, first they tell me I should start such a service creating custom books. But then they say one of those two things.)

The reality, of course, is that the answer is somewhere in between. I could not have done this without AI, but it still took a pretty enormous amount of work. These are the projects I have the most fun with right now: ones that would be intractable without AI (within my constraints), but also still take enough work, judgement, and taste to feel like I made them.

For those interested, the rest of this post details the rough pipeline I built to produce the book.

I’ve already been playing around with [my daughter] in Wonderland as a next edition, but if you have any other good public domain ideas, let me know…


At the highest level, the pipeline is built as a series of scripts that process various stages of the book creation process. That way I can make modifications at different points and resume the pipeline from there, or even “fork” off and try a different experiment. It’s also built to make it easier to later swap in another child instead of my daughter if I wanted to.

I used Typst for all of the typesetting and found it delightful. So much nicer than LaTeX or other typesetting systems I have used.

I also had to learn a thing or two about book printing and bookbinding to make this all work, which was a fun diversion.

Everything starts with the original text, which I picked up from Project Gutenberg. I also heavily leaned on this Internet Archive scan of the 1926 original to replicate the actual layout in many places. And I sourced high-res versions of the illustrations from Picryl.

First up, I process the images. I take the Picryl originals and enlarge them to the necessary print resolution. Mostly just bicubic upscaling, but I had some that didn’t come out great with that and I found Real-ESRGAN which largely solved the issues.

Then I colorized the black-and-white drawings with AI. It took a lot of prompt iteration and model testing to get to reliably good results, including prompting specific to each illustration. Big thanks to OpenRouter for making it so easy to try different models. x-ai/grok-imagine-image-quality ended up being best for the colorizing. After colorizing, I have a separate AI step that checks the output against the original to make sure it didn’t screw anything up (this is a recurring theme).

I originally tried then just passing a few images of my daughter to the models along with the colorized, upscaled illustrations to try to swap her in. But I found the outputs were way too inconsistent — she looked slightly different in each one. So instead, I generated a stylized “character sheet” of her from various perspectives and in different positions, based on the style of Shepard’s illustrations. The best model for this character sheet ended up being google/gemini-3.1-flash-image.

Once I had the character sheet, I used yet another image model to place her in the scenes. For each one, I passed in the colorized illustration, the character sheet, a scene-specific description of her pose, and any additional reference art for other recurring characters. For this use case, black-forest-labs/flux.2-max was the best by far. (Fascinating how different image models worked best for different use cases — e.g. Grok did better for “don’t screw anything up, just add color,” and Flux did better for “here’s a fundamental transformation to the image, but don’t lose the style.”)

Here’s an example of the original illustration and a photograph of the final version in the book:

Finally, I needed to make the images blend into the page. The generated images typically had a subtly different assumed paper color as a background. The image models don’t seem to do well with transparency requirements. So I built out a deterministic page-tone stage that analyzed the artwork and separated “painted/inked” areas from the background, and then everything in the background is set to exactly the same cream color I use for the book layout. This way the images “float” on the page, just like the original line drawings.

Next up: the text. I put the original in Markdown files by chapter, and then made a pipeline stage that replaces Christopher Robin’s name and the times he is referred to by a pronoun (but not any of the other characters’ pronouns!). There are also a couple other little surprises I tweaked, but otherwise, the text is identical to the original — I didn’t want to change the story.

I also changed all the front matter — the title page, dedication, introduction, colophon, and so on. I wrote my own copy for all of these.

Then the Markdown chapters are converted into Typst and combined with the final / toned illustrations, mostly exactly in line with the 1926 original’s layout (this took quite a bit of fiddling!). I also added some details — sunk chapter headings and stacked subtitles, drop caps to start the chapters, period-appropriate indentation, running heads, and some nice custom treatments for poems, songs, signs, and display text outside of the normal prose. (Crafting these details, along with the custom dedication poem and introduction, were some of the most fun parts.)

Then I spent a bunch of time learning about the various requirements for printing the book well, and adjusted the Typst layout accordingly — binding margins, bleed, background color and page thickness considerations, and so on.

After that, there’s a whole bunch of other things to be designed. The case itself, the dust jacket, masks for the gold foil on both of those (which I love), the spine, customized endpapers of the original Pooh map (featuring my daughter at her home instead of Christopher Robin), the built-in ribbon, head/tail bands, and — a nice final touch — sprayed edges on the sides of the book pages that show bees flying.

Finally, it all gets converted to printer-ready files using the right file formats, color schemes (first time I’ve ever heard of “Coated FOGRA39”), embedded fonts, and so on. I have a lots of test scripts here to make sure everything passes all the quality requirements discovered along the way.

And then we’re off to the printer! I got a first proof back and it was good, but not great. Bunch of little misalignments and printing issues.

So then my brother and I (thank you so much Noah) painstakingly went through the physical book and the digital files to improve everything. Many of the images still needed improvement, some of the typesetting had issues, some of the layouts looked a little janky… lots and lots and lots of little fixes. And lots of tests added for reviewing all sorts of new issue categories.

For each of them, I then intervened at the appropriate step of the pipeline, introduced the fixes so they would be reproducible (or at least re-runnable, in the case of AI steps), and ran it back.

Interestingly, in certain cases, a different model ended up outperforming — sometimes Flux did end up being better for particularly tricky recolorizations (even though Grok was better for most of them), and in cases where the characters are small, Grok sometimes outperformed Flux. Lots of trial and error. I also tried Gemini 3 Pro Image, GPT Image 2, Krea 2 Large, and Riverflow 2.5 Pro in various places. There are a couple instances of several of those where they happened to win. And of course, many detailed prompt and instruction changes specific to each image.

In the worst of the cases, simply rerolling didn’t work. So instead I did “plate surgery” — programmatically cropping around the defective area, giving that crop to the models with a very narrow instruction, resizing the returned image to the exact original dimensions, and pasting it in through a feathered mask. In many cases this was related to hand-drawn text in the original illustrations, which the models really struggled with.

Thankfully, after all that work — lots of QA, re-rolling, squinting, and tweaking (thanks again Noah) — the second proof came out great. I’m already reading it to her, but I can’t wait until she’s old enough to understand it…

Like I said above — there’s no way I would have tackled this project without AI — it just would have taken way too much time. But I also found the most fun and interesting parts were where I was injecting my taste and crafting things myself (iterating on output styles, coming up with ideas for special formatting and surprises, writing, putting a twist on elements of the original). I’m very excited for more projects at this intersection.


Looking for more to read?

Want to hear about new essays? Subscribe to my roughly-monthly newsletter recapping my recent writing and things I'm enjoying:

And I'd love to hear from you directly: andy@andybromberg.com