Generate portfolio screenshots and Upwork copy with Firecrawl, ScreenshotOne, OpenAI and Google Workspace

Go to Workflow
1 views
Built by Valeriy Halahan Valeriy Halahan
Created on June 15, 2026

Description

AI Portfolio Generator for Freelancers

Automatically transform any website URL into a complete portfolio entry with professional screenshots and AI-generated Upwork project descriptions.

🎯 Perfect For

Freelancers** building their Upwork/portfolio from past projects
Agencies** documenting client work at scale
Web developers** showcasing their websites professionally
Anyone** who needs consistent, high-quality website screenshots

✨ What It Does

Submit a URL via simple web form
AI analyzes the website (structure, niche, audience, services)
Smart screenshots capture hero, fullpage, individual sections, and mobile views
AI writes compelling Upwork portfolio description with title, role, and skills
Auto-saves everything to Google Drive + Sheets + sends Telegram notification

πŸ”₯ Key Features

JavaScript Rendering** β€” Works with React, Vue, Next.js, and any SPA (via Firecrawl)
Intelligent Section Detection** β€” AI identifies real content sections, not utility elements
Multiple Screenshot Types** β€” Hero (1920Γ—1080), fullpage, custom sections, mobile (375Γ—812)
Retina Quality** β€” 2x device scale factor for crisp images
Smart Error Handling** β€” Retries failed screenshots, filters invalid results
Rate Limit Protection** β€” Built-in delays to respect API limits
Complete Logging** β€” Every run logged to Google Sheets with all metadata

πŸ“Έ Screenshots Captured

| Type | Resolution | Description |
|------|------------|-------------|
| Hero | 1920Γ—1080 @2x | Above-the-fold view |
| Fullpage | 1920Γ—auto @2x | Entire scrollable page |
| Sections | 1920Γ—1080 @2x | Each detected content section |
| Mobile | 375Γ—812 @2x | iPhone-style mobile view |

πŸ€– AI-Generated Upwork Content

Project Title** (max 50 chars)
Your Role** (e.g., "Full-Stack Developer", "Lead Designer")
Project Description** (goals, solution, impact β€” max 600 chars)
Skills** (5 relevant technical skills)

πŸ”§ Services Used

| Service | Purpose | Free Tier |
|---------|---------|-----------|
| Firecrawl | JavaScript rendering | βœ… 500 pages/month |
| ScreenshotOne | Screenshot API | βœ… 100 screenshots/month |
| OpenAI | GPT-4o-mini analysis | Pay-as-you-go |
| Google Drive | Image storage | βœ… 15GB free |
| Google Sheets | Results logging | βœ… Free |
| Telegram | Notifications | βœ… Free |

πŸ“‹ Setup Checklist

βœ… Import workflow
βœ… Add Firecrawl API key
βœ… Add ScreenshotOne API key
βœ… Connect OpenAI credentials
βœ… Connect Google Drive (+ set your folder)
βœ… Connect Google Sheets (+ set your spreadsheet)
βœ… Set up Telegram bot + chat ID
βœ… Activate & share the form URL!

πŸ’‘ Pro Tips

Test with simple sites first** before complex SPAs
Increase delay** in Wait node if hitting rate limits
Change AI model** to gpt-4o for better analysis quality
All instructions included** as Sticky Notes inside the workflow!

πŸ“Š Output Example

After processing example.com:
πŸ“ 5 PNG screenshots in Google Drive
πŸ“Š Full analysis row in Google Sheets
πŸ“± Telegram message with all links and AI-generated Upwork content

Built for freelancers, by a freelancer. Stop wasting hours on manual portfolio creation β€” let AI do the heavy lifting! πŸš€

#portfolio, #screenshots, #upwork, #freelancer, #ai, #gpt, #automation, #firecrawl, #screenshotone, #google-drive, #google-sheets, #telegram, #website-analysis, #form-trigger

Nodes Used (5)

Code
n8n-nodes-base.code
Google Drive
n8n-nodes-base.googleDrive
Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest
Telegram
n8n-nodes-base.telegram