Ideal Customer Profile
RunFlow's ICP is anyone who has tried to take a ComfyUI workflow to production for clients or for a paid product, and has hit walls. Three types qualify:
Founder builder
Building a paid product on top of ComfyUI. Has revenue (or trying to). Knows the pain of GPU costs, scaling, and node management.
In-house builder
Engineer at a company shipping ComfyUI workflows internally or as customer features. Strong upgrade signal: known org membership.
Commercial freelancer
Sells ComfyUI work on Fiverr/Upwork or direct. Charges $300-6,000 per deployment. Knows the deployment pain firsthand.
Active hobbyist
Building ComfyUI workflows for fun. Personal use, no paying customers, no production constraints.
Shopper
Browsing — starred a repo or commented but no implementation evidence. Could be evaluating, could be lurking.
Unknown
Not enough signal to classify. Sonnet research often promotes/demotes these into a known type.
Scoring formula
Production score (0-10)
How likely they're shipping ComfyUI to real users.
- 10 — running production product right now (e.g. Civitai, ComfyDeploy team)
- 7-9 — shipping or has shipped to paying users; clear evidence
- 4-6 — building toward production; auth + payments code, Dockerfile
- 1-3 — exploring, no production evidence (clamped to 4 for hobbyists)
Activity score (0-10)
How active they are in the ComfyUI ecosystem.
- 10 — core contributor / well-known node author
- 7-9 — regular commits/PRs, multiple ComfyUI repos
- 4-6 — occasional engagement; recent issues or stars
- 1-3 — minimal activity; one-off interaction
Confidence multiplier
The classifier outputs a confidence level. Low confidence dampens the score so we don't spam DMs to people we're not sure about.
Strong evidence: org membership, company website, paid product, public funding.
Likely but not confirmed. Multiple signals that point to a type but no smoking gun.
Best guess from limited evidence. Often gets promoted/demoted by Sonnet research.
Worked example · ltdrdata
builder_type: in_house_builder (trigger j: known org membership)
production_score: 10 (Comfy-Org steward, shipping infrastructure)
activity_score: 10 (multiple top-tier repos, active commits)
confidence: high (1.0)
final_score = ((10 + 10) / 2) × 2.0 × 1.0
= 10 × 2.0 × 1.0
= 20.0 ← rank #1
Recommended action
Score alone doesn't decide outreach. Some high-scorers are competitors (drop). Some lower-scorers are perfect ICP but need a wait (watch).
Priority outreach
High-confidence ICP (founder/in_house/freelancer), final_score ≥ 12. Send the DM today.
Standard outreach
Medium-confidence ICP, final_score 6-12. Send the DM this week, lower priority.
Watch
Promising but premature: working at competitor org, building something not-yet-shipped, or recently quiet. Track for re-engagement.
Drop
High score but wrong fit: direct competitor team (ComfyDeploy, Replicate Cog), inactive, or signals "not interested in deployment products."
What we corrected
The scoring rubric evolved during development. The biggest fixes:
Hobbyist Dekita scored 11.20, beating hypothetical founders
Original multiplier (0.3) was too weak against an inflated production_score from Haiku. Fix: drop multiplier to 0.15 + add hard ceiling of 4 on production_score for hobbyists.
Forum-only candidates scored zero
HN/Reddit candidates with no GitHub data fell through scoring entirely. Fix: compute forum_production_phrases flag via regex over their posts.
Lost 685 candidates to rate limit
Tenacity exponential backoff capped at 30s, gave up after 5 attempts. Fix: detect remaining=0 + reset_epoch header, sleep until reset (cap 90 min), then retry.
OSError: Argument list too long
Haiku batches of 20 candidates routinely hit Linux ARG_MAX when passed via argv. Fix: auto-detect prompt size, pipe via stdin when >60KB.