Case Study

How TechFlow Reduced Documentation Maintenance by 85% with Screenshotly

TechFlow was spending 20+ hours weekly on manual screenshot updates. See how they automated everything with Screenshotly's API.

Asad AliFebruary 6, 20268 min read

When TechFlow's engineering team launched their new SaaS platform, they faced a challenge familiar to many growing companies: keeping documentation screenshots up-to-date. With a rapidly evolving UI and weekly releases, their documentation was constantly falling behind.

"Every time we shipped a feature, we'd have to manually update screenshots across 200+ documentation pages," explains Sarah Chen, TechFlow's Lead Technical Writer. "It was taking our team 20+ hours every week just on screenshot maintenance."

The Challenge: Documentation Debt

TechFlow's documentation challenges were mounting:

  • 200+ pages requiring regular screenshot updates
  • Weekly releases with UI changes
  • 3 team members spending significant time on manual captures
  • Inconsistent quality - different browsers, screen sizes, and capture times
  • Outdated screenshots leading to customer confusion and support tickets

The traditional approach of using browser extensions or manual screenshots simply couldn't scale with their release velocity.

The Solution: Automated Screenshot Pipeline

TechFlow integrated Screenshotly into their CI/CD pipeline, automating screenshot capture on every deployment. Here's how their workflow evolved:

Before: Manual Process

1. Developer ships feature
2. QA identifies affected docs
3. Technical writer manually captures screenshots
4. Writer crops, resizes, and optimizes images
5. Writer updates documentation
6. Review and publish

Time: 2-3 days per feature

After: Automated Pipeline

1. Developer ships feature
2. CI/CD triggers Screenshotly API
3. Screenshots captured automatically
4. Images committed to docs repo
5. Documentation auto-deploys

Time: < 5 minutes

Implementation Details

TechFlow's implementation leverages several Screenshotly features:

AI Element Removal

Their application uses Intercom for customer support and a cookie consent banner. Previously, every screenshot required manual editing to remove these elements.

// TechFlow's documentation screenshot config
const captureDocScreenshot = async (page) => {
  const response = await fetch('https://api.screenshotly.app/screenshot', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.SCREENSHOTLY_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      url: `https://app.techflow.io${page.path}`,
      device: 'desktop',
      format: 'png',
      aiRemoval: {
        enabled: true,
        types: ['cookie-banner', 'chat-widget', 'popup'],
      },
      viewport: { width: 1280, height: 800 },
    }),
  });
  
  return response;
};

"The AI removal is a game-changer," says Sarah. "We don't have to worry about Intercom or cookie banners appearing in our docs. Every screenshot is clean automatically."

Consistent Viewport Sizing

All documentation screenshots use the same 1280x800 viewport, ensuring visual consistency across their entire knowledge base.

Authenticated Captures

For screenshots of logged-in states, TechFlow passes session cookies to capture authenticated views:

const captureAuthenticatedPage = async (page, sessionToken) => {
  return await fetch('https://api.screenshotly.app/screenshot', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.SCREENSHOTLY_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      url: `https://app.techflow.io${page.path}`,
      device: 'desktop',
      format: 'png',
      cookies: [
        { 
          name: 'session', 
          value: sessionToken, 
          domain: 'app.techflow.io' 
        }
      ],
      aiRemoval: { enabled: true },
    }),
  });
};

The Results

After three months with Screenshotly:

Time Savings

Metric Before After Improvement
Hours/week on screenshots 20+ 3 85% reduction
Time to update after release 2-3 days 5 minutes 99% faster
Screenshots needing manual edits 100% 0% 100% automated

Quality Improvements

  • 100% consistency across all documentation screenshots
  • Zero outdated screenshots - docs always match current UI
  • Professional appearance - no more cookie banners or chat widgets

Support Impact

  • 40% reduction in "documentation doesn't match" support tickets
  • Faster onboarding - new users see accurate screenshots
  • Higher NPS - customers appreciate up-to-date documentation

Team Feedback

"I used to dread documentation updates," admits James Park, TechFlow's Senior Engineer. "Now I just add a page to our screenshot manifest and it's captured automatically on next deploy. The AI removal means I never have to open Photoshop again."

The technical writing team has been able to redirect their time from screenshot maintenance to creating new content:

"We've published 3x more documentation content since implementing Screenshotly," notes Sarah. "Instead of updating old screenshots, we're writing guides for new features. It's transformed our documentation workflow."

Technical Architecture

TechFlow's integration runs as a GitHub Action triggered on deployments:

# .github/workflows/update-docs-screenshots.yml
name: Update Documentation Screenshots
on:
  deployment:
    types: [completed]

jobs:
  capture-screenshots:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Install dependencies
        run: npm ci
        
      - name: Capture screenshots
        env:
          SCREENSHOTLY_API_KEY: ${{ secrets.SCREENSHOTLY_API_KEY }}
        run: node scripts/capture-screenshots.js
        
      - name: Commit updated screenshots
        run: |
          git config user.name "Screenshot Bot"
          git config user.email "bot@techflow.io"
          git add docs/images/
          git commit -m "Update documentation screenshots" || exit 0
          git push

The capture script iterates through a manifest of pages and captures each one:

// scripts/capture-screenshots.js
const pages = require('./screenshot-manifest.json');

async function captureAll() {
  for (const page of pages) {
    console.log(`Capturing: ${page.path}`);
    const screenshot = await captureDocScreenshot(page);
    await fs.writeFile(`docs/images/${page.filename}`, screenshot);
  }
}

captureAll();

Lessons Learned

TechFlow shares these tips for teams implementing documentation screenshot automation:

  1. Start with a manifest: Create a JSON file listing all pages and screenshots. This makes it easy to add new pages and track what's covered.

  2. Use consistent naming: Establish a naming convention like {feature}-{view}.png for easy organization.

  3. Capture on staging first: Test your screenshot pipeline on staging environments before production to catch issues early.

  4. Set appropriate delays: Some pages need time for animations or data loading. Use the delay parameter when needed.

  5. Monitor failures: Set up alerts for screenshot capture failures so issues are caught quickly.

Conclusion

TechFlow's documentation transformation demonstrates the power of treating screenshots as code. By automating capture with Screenshotly, they've eliminated a major source of documentation debt while improving quality and consistency.

"Documentation is now a first-class citizen in our development workflow," says Sarah. "Screenshots update themselves, which means our docs are always accurate. It's exactly how it should be."


Want similar results for your documentation?

Get started with Screenshotly free → - 100 free screenshots to get started.

Have questions about implementing documentation automation? Check our documentation guide →

customer story
documentation
automation
case study

About the Author

Asad Ali

Asad Ali

Full-Stack Developer and Founder of ZTabs with 8+ years of experience building scalable web applications and APIs. Specializes in performance optimization, SaaS development, and modern web technologies.

Credentials: Founder & CEO at ZTabs, Full-Stack Developer, Expert in Next.js, React, Node.js, and API optimization

Ready to capture your first screenshot?

Get started with 100 free screenshots. No credit card required.

Related Articles