Explore code to write technical documentation

TL;DR: Fern’s technical writer, Devin, uses AI tools to ship 20,000 new lines of documentation per month about Fern, an open source tool that generates API documentation and SDKs. Task: TL;DR: Fern’s technical writer, Devin, uses AI tools to ship 20,000 new lines of documentation per month about Fern, an open source tool that generates API documentation and SDKs. I’m the only technical writer at Fern, responsible for 500 pages of documentation for a devtool that’s got releases 5 times a week. Our documentation covers Fern Docs (including AI search, visual editor, and the docs platform itself), SDKs in 9 languages, and our platform management dashboard. Features ship daily. Keeping up with all of this means either spending all my time on routine updates or finding ways to do more with the same hours.' The AI tools I use AI tooling is how I do more and keep up. Here are the tools that boost my productivity: Devin is an AI software engineer from Cognition. (Yes, we share a name; I get tagged accidentally a few times a week.) Our engineers already use it across all of our repos, so it has context on our entire codebase. I use it directly when I need to explore code before writing, and through Fern Writer, our Slack-based writing agent built on top of Devin. Fern Writer is where most of the mechanical docs work happens: I give it context in Slack and it creates a PR with drafted pages, reorganized content, and redirects. Claude Code is my local iteration tool. When I've pulled a branch and want to try different arrangements of content, tweak wording across multiple files, or quickly test something with fern docs dev, Claude Code lets me work fast in my own environment. It's especially useful for iterative judgment-call work like reorganizing a section, combining pages, or cutting down on repetition. Claude (and sometimes ChatGPT) is where I workshop the writing itself — iterating on drafts, getting feedback on structure, and figuring out the right framing. It's what I reach for when the work isn't in a repo: product launches, marketing content, blog posts. For that kind of work, I'll also use Notion AI's Slack integration to pull together context like product history or customer details. Day-to-day usage Here's what AI-assisted documentation work has looked like for me recently: Documenting a new feature from a Slack thread: Engineers were discussing our new OpenAPI overlays feature in Slack. I tagged Fern Writer with the thread and it drafted the documentation page, which I then reviewed and tightened up. OpenAPI Overlays → Fixing customer issues: A customer was confused about HTTP vs. SDK snippets. I identified the issue across a customer Slack thread and an internal discussion, then used Fern Writer to update the relevant pages. Display HTTP snippets → Iterating on structure locally: After Fern Writer created a PR reorganizing our Ask Fern docs, I pulled the branch and used Claude Code to try a few different information architectures with fern docs dev. Some decisions — like where to nest a section — are faster to experiment with locally than to describe in Slack. Ask Fern overview → Quick findability fixes: I prompted Fern Writer to add the word "timestamp" to our documentation on the last-updated setting. Tiny change, but now the page is findable when people search for that term. Page-level settings—Last updated Example: iterating on PDF export docs We recently shipped some new features to our PDF export feature based on customer requests: customers can now export specific products and versions of their docs. To update our documentation, I tagged Fern Writer in Slack with an internal thread discussing the new functionality, and it made a PR updating the existing page. I didn't love the initial structure Fern Writer created: it added the product/version filtering as a new step in the export instructions, but I thought it should be folded into the existing step listing all the customizations you can make to your export. Plus, it didn't create a changelog entry, probably because the addition was so small. (But a number of customers had asked for this, so I thought it was worth noting.) Because I had specific changes in mind, I pulled the branch and switched to Claude Code.; tools: Devin. Human role: I review and edit every page, often extensively.; limitations: AI does not write autonomously; extensive human review and editing are required. The workflow depends on Fern Writer's integration with Devin and Slack, and Claude Code's local environment setup. Technical accuracy issues, such as incorrect conceptual framing, require engineer feedback and manual restructuring..

Tools

Devin

Published on Agent Work Atlas:

Overview

TL;DR: Fern’s technical writer, Devin, uses AI tools to ship 20,000 new lines of documentation per month about Fern, an open source tool that generates API documentation and SDKs.

Workflow

TL;DR: Fern’s technical writer, Devin, uses AI tools to ship 20,000 new lines of documentation per month about Fern, an open source tool that generates API documentation and SDKs. I’m the only technical writer at Fern, responsible for 500 pages of documentation for a devtool that’s got releases 5 times a week. Our documentation covers Fern Docs (including AI search, visual editor, and the docs platform itself), SDKs in 9 languages, and our platform management dashboard. Features ship daily. Keeping up with all of this means either spending all my time on routine updates or finding ways to do more with the same hours.' The AI tools I use AI tooling is how I do more and keep up. Here are the tools that boost my productivity: Devin is an AI software engineer from Cognition. (Yes, we share a name; I get tagged accidentally a few times a week.) Our engineers already use it across all of our repos, so it has context on our entire codebase. I use it directly when I need to explore code before writing, and through Fern Writer, our Slack-based writing agent built on top of Devin. Fern Writer is where most of the mechanical docs work happens: I give it context in Slack and it creates a PR with drafted pages, reorganized content, and redirects. Claude Code is my local iteration tool. When I've pulled a branch and want to try different arrangements of content, tweak wording across multiple files, or quickly test something with fern docs dev, Claude Code lets me work fast in my own environment. It's especially useful for iterative judgment-call work like reorganizing a section, combining pages, or cutting down on repetition. Claude (and sometimes ChatGPT) is where I workshop the writing itself — iterating on drafts, getting feedback on structure, and figuring out the right framing. It's what I reach for when the work isn't in a repo: product launches, marketing content, blog posts. For that kind of work, I'll also use Notion AI's Slack integration to pull together context like product history or customer details. Day-to-day usage Here's what AI-assisted documentation work has looked like for me recently: Documenting a new feature from a Slack thread: Engineers were discussing our new OpenAPI overlays feature in Slack. I tagged Fern Writer with the thread and it drafted the documentation page, which I then reviewed and tightened up. OpenAPI Overlays → Fixing customer issues: A customer was confused about HTTP vs. SDK snippets. I identified the issue across a customer Slack thread and an internal discussion, then used Fern Writer to update the relevant pages. Display HTTP snippets → Iterating on structure locally: After Fern Writer created a PR reorganizing our Ask Fern docs, I pulled the branch and used Claude Code to try a few different information architectures with fern docs dev. Some decisions — like where to nest a section — are faster to experiment with locally than to describe in Slack. Ask Fern overview → Quick findability fixes: I prompted Fern Writer to add the word "timestamp" to our documentation on the last-updated setting. Tiny change, but now the page is findable when people search for that term. Page-level settings—Last updated Example: iterating on PDF export docs We recently shipped some new features to our PDF export feature based on customer requests: customers can now export specific products and versions of their docs. To update our documentation, I tagged Fern Writer in Slack with an internal thread discussing the new functionality, and it made a PR updating the existing page. I didn't love the initial structure Fern Writer created: it added the product/version filtering as a new step in the export instructions, but I thought it should be folded into the existing step listing all the customizations you can make to your export. Plus, it didn't create a changelog entry, probably because the addition was so small. (But a number of customers had asked for this, so I thought it was worth noting.) Because I had specific changes in mind, I pulled the branch and switched to Claude Code.

Reported result

The author reports shipping 20,000 new lines of documentation per month. Specific outcomes include updated pages for OpenAPI overlays, PDF export features, and authentication docs. The workflow involves iterative corrections where AI drafts are refined by human judgment for structure and technical precision.

Human role

I review and edit every page, often extensively.

Limitations

AI does not write autonomously; extensive human review and editing are required. The workflow depends on Fern Writer's integration with Devin and Slack, and Claude Code's local environment setup. Technical accuracy issues, such as incorrect conceptual framing, require engineer feedback and manual restructuring.

Try it

Act as a technical writer for [Product Name] using [Tool 1: e.g., Fern Writer/Devin] and [Tool 2: e.g., Claude Code]. 1. Identify a recent feature update from [Source: e.g., Slack thread/PR]. 2. Use [Tool 1] to draft a documentation page and create a PR. 3. Pull the branch locally and use [Tool 2] to refine structure, wording, and add changelog entries. 4. Review the draft for technical accuracy and information architecture. 5. Present the final draft for human approval before merging. Ensure all AI-generated content is verified by a human expert. Output: A reviewed documentation PR and changelog entry.

Original source

Source reports are not independently verified. Publication date is the catalog publication date, not the original article date.

More cases · Content & creative