Back to Alchemy
Alchemy RecipeBeginnerworkflow

Freelancer portfolio and case study generation from project deliverables

You've just finished a substantial project for a client. The deliverables are excellent: redesigned interfaces, improved metrics, happy stakeholder feedback. But converting this work into a compelling case study that attracts premium clients requires hours of writing, screenshot curation, metric extraction, and design polish. Most freelancers skip this step entirely, missing the opportunity to command higher rates from prospects who want proof of impact. The challenge isn't the work itself; it's that case study production involves multiple tools and formats. You need to extract key information from project files, write polished narrative copy, generate visual mockups, and assemble everything into a presentable format. Each step currently requires manual handoff and context-switching. This workflow automates that conversion. By connecting your project deliverables to a content generation and design system, you can produce a complete case study draft with minimal input. The system handles writing, visual generation, and assembly so you spend your time on refinement rather than creation. For more on this, see SEO Content Creation Without the Grind: AI Tools for Fast....

The Automated Workflow

We'll build this workflow using n8n, which gives you fine control over each step without the cost overhead of other platforms. The workflow moves from deliverables to case study in four stages: extraction, writing, design generation, and assembly.

Stage 1: Trigger and File Processing

Start by connecting a folder on your local system or cloud storage (Google Drive, Dropbox) to n8n. When you drop project files into a designated folder, the workflow triggers automatically.

Trigger: n8n File Watcher node - Watch folder: /projects/case-studies/input - Monitor for: PDF, DOCX, PNG, JPEG files - Action: Read file content

For PDFs containing your project brief or final report, use a document parsing step. n8n has built-in PDF extraction, but for richer parsing, integrate the API from a document analysis tool.

API Endpoint: Document parsing (if using third-party service)
POST /api/v1/documents/parse
{ "file_path": "/projects/case-studies/input/project-report.pdf", "extract_types": ["text", "tables", "metadata"]
}

Stage 2: Content Generation with Claude

Once you have extracted text and metadata, send this to Claude Opus 4.6 via the Anthropic API. Claude excels at synthesising information into coherent narrative. Structure your prompt to request specific case study sections.

POST https://api.anthropic.com/v1/messages
{ "model": "claude-opus-4.6", "max_tokens": 2000, "messages": [ { "role": "user", "content": "Convert the following project details into a professional case study. Include: challenge (2 sentences), solution (3 sentences), results with metrics (2-3 bullet points). Format as markdown.\n\nProject Details:\n${extractedText}" } ]
}

Store Claude's output in a variable within n8n for the next stage. Claude Opus 4.6 handles long-form writing reliably and understands context well enough to maintain tone across multiple sections.

Stage 3: Visual Component Generation

With your case study copy ready, generate a hero visual using DALL-E 3. Create a prompt based on your project type (e.g. SaaS interface redesign, mobile app launch, marketing campaign).

POST https://api.openai.com/v1/images/generations
{ "model": "dall-e-3", "prompt": "Professional case study hero image: ${projectType} project showing before and after. Clean, modern design, business aesthetic. 1920x1080 pixels.", "n": 1, "size": "1920x1080", "quality": "hd"
}

Download the generated image and store it temporarily. This becomes part of your case study template.

Stage 4: Assembly with Markdown and HTML

Use HyperWrite to polish the Claude-generated copy if it needs refinement, though Claude Opus 4.6 often produces publication-ready text. Export the final case study as both Markdown and HTML. Create an n8n function node to assemble the components into a clean HTML template:

javascript
const caseStudyHTML = `
<!DOCTYPE html>
<html lang="en">
<head> <meta charset="UTF-8"> <title>${projectTitle} - Case Study</title> <style> body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; line-height: 1.6; max-width: 900px; margin: 0 auto; padding: 40px 20px; } h1 { colour: #1a1a1a; font-size: 2.5rem; margin-bottom: 10px; } .meta { colour: #666; font-size: 0.95rem; margin-bottom: 40px; } img { max-width: 100%; height: auto; margin: 30px 0; } .results { background: #f5f5f5; padding: 20px; border-radius: 8px; margin: 30px 0; } </style>
</head>
<body> <h1>${projectTitle}</h1> <div class="meta">${projectMetadata}</div> <img src="${generatedImageUrl}" alt="Project visual"> <div class="content"> ${claudeGeneratedContent} </div> <div class="results"> <h3>Key Results</h3> ${metricsFromDeliverables} </div>
</body>
</html>
`; return caseStudyHTML;

Connecting Everything in n8n

Wire the nodes together in this order: 1. File Watcher trigger 2. PDF/document parser 3. HTTP request to Claude API 4. HTTP request to DALL-E 3 5. JavaScript function for HTML assembly 6. Write file to output folder (or email result) Use n8n's native "Set" nodes between steps to store intermediate results. Map outputs from Claude and DALL-E into variables so the assembly function can access them. The complete workflow runs asynchronously. When you drop a project folder into the input directory, the entire case study (HTML file plus markdown) appears in your output folder within 60-90 seconds.

The Manual Alternative

If you prefer control at each stage, skip the full automation and use these tools separately: 1. Open your project deliverables and manually extract key metrics, outcomes, and deliverables.

  1. Paste this summary into Lex, which offers a distraction-free interface and writing suggestions as you craft your narrative.

  2. Use v0 to generate a polished webpage layout for your case study, describing what you want in plain English.

  3. Export the HTML from v0, export your written copy from Lex, and assemble them manually. This approach takes 45 minutes to an hour per case study but gives you full creative control and ensures everything aligns with your personal brand. Choose this if you create case studies infrequently or want to heavily customise each one.

Pro Tips

Error Handling and Rate Limits

Claude and DALL-E both have rate limits.

If you're generating multiple case studies in succession, add delays between API calls within your n8n workflow. Use the "Wait" node to introduce 5-second pauses between API requests.

n8n Wait node: 5 seconds
(placed between Claude API call and DALL-E API call)

For PDF parsing failures (corrupt files, image-heavy documents), add error handling that logs failed files to a separate folder. This prevents your workflow from stalling on problematic input.

Cost Optimisation

Claude Opus 4.6 costs more than Sonnet 4.6. For straightforward case study writing, test Claude Sonnet 4.6 first; it's adequate and cheaper. Reserve Opus for complex projects requiring detailed analysis. DALL-E 3 at HD quality (£0.035 per image) is worth the cost for client-facing materials, but drop to standard quality during testing.

Template Customisation

Store your HTML template as a separate file and reference it within n8n rather than hardcoding it. This lets you update the design once without touching the workflow.

Testing with Sample Data

Before deploying, run the entire workflow with a dummy project folder containing test files. Check that all outputs render correctly and that metrics are extracted accurately. This catches configuration issues early.

Scheduling Batch Runs

If you complete multiple projects in a month, set n8n to run on a schedule (e.g. every Sunday evening) rather than continuous triggering. This clusters API costs and gives you a weekly batch of case studies to review.

Cost Breakdown

ToolPlan NeededMonthly CostNotes
n8nSelf-hosted (free) or Cloud Pro£0–£100Self-hosted is free; Cloud Pro adds managed hosting and support.
Claude API (Opus 4.6)Pay-as-you-go£5–£20~£0.015 per 1000 input tokens, £0.075 per 1000 output tokens. Average case study ~2000 tokens.
OpenAI (DALL-E 3)Pay-as-you-go£0.50–£3.50£0.035 per HD image. One image per case study.
HyperWriteFree or Pro£0–£10Free tier sufficient for occasional use; Pro adds priority processing.
LexFree or Plus£0–£12Free version adequate; Plus adds collaboration and integrations.
v0 (Vercel)Free or Pro£0–£20Free tier generates code; Pro adds priority queue.
Total**, **£5–£165Varies by usage and tool selection. Most workflows stay under £30/month.