Weekly market intelligence system: game announcements, studio funding, and hiring signals — automatically routed to the right Bison sequence cell every Monday morning. No manual research. No stale lists.
Lead Animator hiring · South of Midnight (Unreal Engine) · "motion matching" explicit in JD · fit 10/10
→ v9 B2-E1
10/10
HOT
Techland
Senior Gameplay Animator hiring · Dying Light franchise (Unreal) · motion matching in JD · fit 9/10
→ v9 B1-E1
9/10
VERIFY
11 bit studios
Game announced (Crop) · genre unclear — confirm locomotion relevance before sending
→ v9 A1-E1 if confirmed
—
WARM
Warhorse Studios
Game announced · Kingdom Come 2 team · known locomotion-heavy studio
→ v9 A1-E1
8/10
WARM
Teyon
Game announced (Hunter: Reckoning Deathwish) · action genre · good ICP fit
→ v9 A1-E1
7/10
Signal Systems — Local Run
All scripts run locally
Monday Workflow — Primary Runner
One script. All three signal types. Routes to sequence cells. Run every Monday morning from the research-process-builder/ directory.
# Navigate to research-process-builder (not the client repo)cd C:\Users\mitch\Everything_CC\research-process-builder# Full run — all 3 signal types (hiring + game announcements + studio funding)py scripts/motorica_weekly_signals.py# Flagspy scripts/motorica_weekly_signals.py--dry-run# preview, no writespy scripts/motorica_weekly_signals.py--hiring-only# skip Supabase, Apify onlypy scripts/motorica_weekly_signals.py--signals-only# skip Apify, Supabase only
Outputs (date-stamped in output/):
motorica-weekly-report-YYYY-MM-DD.md ·
motorica-weekly-bison-ready-YYYY-MM-DD.csv
Script
What it does
Run from
Output
motorica_weekly_signals.py
PRIMARY — Monday workflow. Merges hiring (Apify), game announcements + studio funding (Supabase), cross-refs 916 qualified studios, routes each to v9 cell.
research-process-builder/
motorica-weekly-report + bison-ready CSV
motorica_hiring_pipeline.py
Hiring signals only. Useful mid-week to check latest Apify dataset without full pipeline.
research-process-builder/
motorica-hiring-report.md + bison-ready CSV
motorica_studio_profiles.py
Writes per-studio .md files to research/studios/ with website, SteamDB URL, ICP YAML. Auto-runs after weekly pipeline.
research-process-builder/
549 profile files in research/studios/
motorica_apply_recency.py
Adds signal_recency_score + fit_score_adjusted based on most recent qualifying game per studio.
research-process-builder/
Updated studio CSV with recency scores
motorica_funding_enrich.py
Joins dev_total_funding from GDC master CSV. Promotes studios with $10M+ to Primary tier.
research-process-builder/
Updated studio CSV with funding tier
scripts/signal-scan.py
Cross-refs Clay studio list against game-signals pipeline. Produces prioritized report with active signals.
gtm-client-motorica/
motorica-signal-report.md + .csv
Signal → Sequence Cell Routing
Signal
Source
Cell
Sequence
Lead/Director/Head of Animation hiring
LinkedIn Jobs (Apify)
B2
v9 B2-E1
Technical/Gameplay Animator hiring
LinkedIn Jobs (Apify)
B1
v9 B1-E1
New game announced (locomotion)
Supabase game_signals
A1
v9 A1-E1
Studio funding (seed / Series A)
Supabase game_signals
FND
founders-and-ctos-v1
Signal Sources
Hiring signalsApify LinkedIn Jobs Scraper
Apify task IDM4DZ0YH0L5Ww12yQ0
Apify run scheduleDaily at 6am
Game announcementsSupabase game_signals table
Studio fundingSupabase game_signals table
Local mirrorcrm/game-signals.csv
⚠️ Current Apify search includes "mocap sessions" (pulls TV/VFX noise). Fix: swap → "Motion Matching" + add f_I=109 (Computer Games filter).
Data Architecture — How It Appends
Local-first, git-versioned
game-signals.csv — Local Source of Truth
☁️
Supabase game_signals table
Remote source. New signals land here from scrapers and news feeds automatically.
↓ sync on demand
📄
crm/game-signals.csv
Local git-versioned store. 112 rows seeded. Weekly pipeline reads this — zero Supabase dependency at runtime.
↓ Monday runner
🚀
output/motorica-weekly-bison-ready-YYYY-MM-DD.csv
Import to Bison → route to correct cell → send. Date-stamped so every run is preserved.
# Refresh game-signals.csv from Supabase (weekly or monthly)py scripts/sync-game-signals.pypy scripts/sync-game-signals.py--commit# auto git commitpy scripts/sync-game-signals.py--days 90# wider lookback
CRM Mirror — Companies (Pending Token)
🏢
HubSpot CRM
Source of truth for companies. Requires token from Chris.
↓ crm-mirror.py pulls
📊
crm/companies.csv
Git-versioned. Every diff = a status change, new company added, or pipeline move. Full audit trail.
# Run from gtm-client-motorica/py scripts/crm-mirror.py# pull companies → crm/py scripts/crm-mirror.py--commit# auto git commit
crm/game-signals.csv 112 rows → grows every week. Git diff shows exactly what's new each Monday.
crm/companies.csv HubSpot mirror. Every pipeline stage change = a git commit. Full historical audit trail.
research/studios/*.md 549 studio profiles with ICP YAML. Auto-updated each weekly run. KG-indexed Mon/Thu.
v9 Copy System — 12 Emails
4 cells × 3 emails · ready, not yet launched
LAUNCH BLOCKED — CTA across all 12 emails: "want to see one run end to end on a public character?"
Chris must confirm: (a) pre-trained library character, (b) own capture talent on recognizable gait, or (c) generic demo character. Answer determines whether "public character" stays in copy.
Cell A1
Game Announced
Head of Animation / Animation Director
E1: Saw {GAME_TITLE} announced — locomotion angle, days-not-months proof
E2: Illumination — how much of the timeline is cleanup vs creative?
E3:totally forgot to mention {FIRST_NAME} — new chess move
Cell A2
Shipped Game
Animation Director / Lead Animator
E1: Congratulate on ship — "what's next?" + Motorica context
E2: Illumination — production efficiency angle
E3:totally forgot to mention {FIRST_NAME}
Cell B1 ★ v9 changes
Hiring (Technical)
Technical Animator / Gameplay Animator
E1: Saw {COMPANY} hiring motion matching roles
E2:"how are the new hires holding up?" — cleanup queue pain
✓E3 always opens: totally forgot to mention {FIRST_NAME}
Cleared Numbers (Cold Use)
"days instead of months" — Platinum Games"months to hours" — cleanup time"tripled animation output" — Max Abrahamsson"better, more consistent than mocap" — Maxi Keller / TLOU21.3 m/s + 76° turn precision — capability claim5–10 min of capture — capability claim
HubSpot CLI
Pending token from Chris
Setup
# Verify installhubspot --version# Add token to .env (never commit)# HUBSPOT_ACCESS_TOKEN=pat-na1-xxxxx# Test auth (after token in env)hubspot contacts list --limit 3 --pretty# Start as MCP server for agent accesshubspot mcp
# Companieshubspot companies list --limit 10hubspot companies search --property name=Ubisoft# Dealshubspot deals list --limit 10# Listshubspot lists list# CRM mirror (Python — loads token from .env)py scripts/crm-mirror.pypy scripts/crm-mirror.py--commit
Rule: Never cat .env or pass --env-file .env in shell. All scripts load token via python-dotenv internally.
Full Signal Feed
112 signals
Type
Developer / Studio
Game / Event
Amount / Genre
Summary
↗
Market Intelligence
Steam + signals analysis
Steam Database
Total games catalogued29,960
Locomotion-relevant titles4,928 (16.4%)
Unique developers1,104
Studio profiles built549
Profiles in research/studios/*.md — each has website, SteamDB URL, and ICP YAML: humanoid_characters, heavy_motion_design, locomotion_relevant, engine.
All three true = valid Motorica prospect.
Signal Mix (May 2026 batch)
Studio funding events72 (64%)
Game announcements40 (36%)
Top announcement genres
Action RPG7
Soulslike5
Open-World2
Monster Hunting1
Matched to known studios12
Open Blockers
3 items
🔒
Chris — HubSpot access token.scripts/crm-mirror.py is built and ready. Needs HUBSPOT_ACCESS_TOKEN from Chris → add to .env. Unblocks full git-versioned company audit trail.
🔒
Chris — v9 launch CTA. All 12 emails held on one question: does Motorica have (a) pre-trained library character, (b) own capture talent on recognizable gait, or (c) generic demo character? Determines whether CTA reads "public character." Target go-live was May 13.
⚠️
Mitch — Apify scraper URL fix. Current search includes "mocap sessions" — pulling TV/VFX noise. Fix in Apify Console (task M4DZ0YH0L5Ww12yQ0): swap "mocap sessions" → "Motion Matching", add f_I=109 industry filter. 10-minute fix.
📅 Thursday Session — Full Pipeline Walkthrough
Run the Monday script live · walk signal routing logic · review game-signals.csv + Supabase sync · connect HubSpot token · fix Apify scraper URL together.