Per the Docs – June 2026

Per the docs is a monthly article series where technical writers explore various aspects of our craft. Each month, a different host curates a topic and brings together diverse voices to share insights, experiences, and practical advice.
June 2026 topic: Content Alchemy
Raw information doesn’t become documentation on its own. We’re exploring what it takes for technical writers to transform the unrefined, the inconsistent, and the overwhelming into something a reader can actually use.
| Brandi Hopkins Brandi is a senior documentation strategist who builds scalable content systems, with expertise in docs-as-code workflows, AI-assisted documentation, and developer experience. Read their post: When the source of truth isn’t true -> brandihopkins.com | LinkedIn |
![]() |
| James Beach James is a content strategist and technical writer with a knack for prompt engineering and AI-assisted workflows, and a love for finding new ways to bridge the gap between ideas and execution. Read their post: Turning Constraints Into Structure -> jamesmbeach.com | LinkedIn |
![]() |
| Jill Shaheen Jill is a documentation leader who’s been building content systems, leading documentation teams, and figuring out where infrastructure breaks for nearly 20 years. Read their post: Every bucket has a bottom: How to shrink your queue and manage what’s left -> jillshaheen.com | LinkedIn |
![]() |
| Nicholas Galinski Nick is an M-shaped multidisciplinary writer, content designer, systems architect, and AI-fluid storyteller. Turning complex problems into elegant narratives while leading with empathy. Read their post: Timmy Techwriter and the Sorcerer’s Schema -> nicholasgalinski.com | LinkedIn |
![]() |
| Cody Anthony Cody is a Senior Technical Writer and Content Strategist who builds automated systems to ship docs like software. He focuses on influencing technical design upstream to improve the developer experience, while deploying AI-assisted tools downstream to help users navigate complex systems. Read their post: Where the Script Stops and the Judgment Starts -> |
![]() |






