About the author

I'm Jo — an SEO strategist and content operator helping B2B SaaS and cybersecurity companies build content strategies grounded in real audience data and turn organic visibility into pipeline.
I also work with GrowthX, an AI-powered organic growth agency serving world-class SaaS companies from the San Francisco Bay Area.
Run this process whenever you need to turn unstructured audience data into a prioritized content roadmap. The pipeline works the same whether your source is a Facebook group, Gong calls, Slack threads, or support tickets. Adjust the variables, follow the steps.
Qualitative-Analysis-Template [Jo Kaminska].pdf
Drop this template in the folder you’re going to execute the pipeline in. It helps set the standard for the output.
Copy this block into a file called config.md in your analysis folder. Fill in the variables before running any prompts.
CLIENT CONFIG
─────────────
Company name: [e.g., Zapier]
Industry: [e.g., ai automation ]
Product description: [e.g., AI orchestration to connect any app]
Target personas: [e.g., CMOs, CFOs etc.]
SOURCES
─────────────
Source 1:
Type: [e.g., Community group community posts]
Details: [e.g., Community group, 100 posts from Jan 1 2025 to present]
File: [e.g., 00-raw/community-posts-community-jan2025.txt]
Source ID prefix: [e.g., community-name]
Source 2:
Type: [e.g., Sales call transcripts]
Details: [e.g., 12 discovery calls from Q3 2025]
File: [e.g., 00-raw/call-transcripts-q3.txt]
Source ID prefix: [e.g., customer_call]
Source 3:
Type: [e.g., customer SME interviews]
Details: [e.g., 4 interviews with CMOs and company owners, Oct 2025]
File: [e.g., 00-raw/interviews-sme-oct2025.txt]
Source ID prefix: [e.g., interview]
(Add more sources as needed)
Paste this into Cowork after pointing it at your analysis folder. It will run the full pipeline step by step.
Read the config.md file in this folder for all client and source details.
Read the SOP file (sop-unified-qualitative-analysis.md) for the full pipeline and system prompts.
Run the following steps in order. After each step, save the output as a JSON file in the correct subfolder before moving to the next step. Do not proceed to the next step until the previous output is saved.
STEP 1 — SIGNAL EXTRACTION
For each source file listed in config.md:
- Read the raw file from /00-raw/
- Run the Signal Extractor prompt (Step 1 in the SOP), filling in variables from config.md
- Save output as /01-signals/signals-[source_id_prefix].json
STEP 2 — THEME CLUSTERING
- Read ALL signal files from /01-signals/
- Run the Theme Clustering prompt (Step 2 in the SOP)
- Save output as /02-themes/theme-clusters.json
STEP 3 — THEME CARDS
- Read theme-clusters.json from /02-themes/
- Read all signal files from /01-signals/
- Run the Theme Card Builder prompt (Step 3 in the SOP) for each theme
- Save output as /02-themes/theme-cards.json
STEP 4 — SUPPLEMENTARY ANALYSES
Run all four supplementary analyses:
4a. Content frequency analysis
- Read all signals + theme clusters
- Run the Content Frequency prompt (Step 4 in the SOP)
- Save as /02-themes/frequency-analysis.json
4b. Discourse analysis
- Read raw community/review data + Language-tagged signals
- Run the Discourse Analysis prompt (Step 4 in the SOP)
- Save as /02-themes/discourse-analysis.json
4c. Emotional mapping
- Read theme cards + emotion-tagged signals
- Run the Emotional Mapping prompt (Step 4 in the SOP)
- Save as /02-themes/emotion-map.json
4d. Competitive/tool mentions (skip if no tool mentions in data)
- Read Alternative-tagged signals + relevant raw data
- Run the Competitive Analysis prompt (Step 4 in the SOP)
- Save as /02-themes/competitive-analysis.json
STEP 5 — TOPIC GENERATION
- Read theme cards, frequency analysis, and emotion map from /02-themes/
- Run the Topic Generator prompt (Step 5 in the SOP)
- Save as /03-topics/content-topics.json
When all steps are complete, give me a summary: how many signals extracted, how many themes identified, how many topics generated, and any quality issues flagged (themes with fewer than 3 quotes, empty theme card fields, etc.).
This pipeline fits comfortably in one Cowork session for:
For larger datasets (200+ call transcripts, 500+ tickets), chunk the signal extraction in Step 1 across multiple runs, then combine all signal files before proceeding to Step 2.