Real Metrics from MindThread's 56 Accounts — 3 Pipeline Bugs I Missed for Two Years
Real Metrics from MindThread's 56 Accounts — 3 Pipeline Bugs I Missed for Two Years
I'm writing this just after takeoff. This morning at Gate C2 waiting to board, I asked Claude to run a full audit on all 56 MindThread accounts. 30-day metrics, 3,191-word report.
Result: I found 3 pipeline bugs I had no idea existed.
This essay tells that story, and what it feels like to look inside your own SaaS for the first time after running it for two years.
Scale vs my mental model
My own CLAUDE.md said MindThread had "2 members, 16 accounts."
Reality from threads_config.json:
- 56 accounts
- 37 enabled
- 30+ accounts actively posting in the last 30 days
The gap between "16" (in my docs) and "37 active" (reality) came from: I wrote the doc 6 months ago and never synced. Another case of documentation drift.
Specific activity levels:
| Account | 30d posts | 30d likes | Followers | Top views |
|---|---|---|---|---|
| GinRollBT (sales mentor) | 140 | 13,437 | 6,896 | 1.35M |
| 2021newken | 303 | 1,785 | 145 | 81K |
| oliewei (social-media expert) | 132 | 637 | 310 | 41K |
| universe_signal_tw | 181 | 1,780 | 160 | 2.4K |
| workplace_truth_tw (workplace truth) | 175 | 891 | 760 | 11K |
13,437 likes/month on the top account. That's the kind of number MindThread took two years to reach. And I haven't actively operated any of these accounts. They all run AI-generated, AI-posted, AI-replied.
Bug #1: GinRollBT posted empty strings
The highest-engagement account, in the past 30 days, posted:
""(empty string, 0 characters)"1"(single digit, 1 character)
Both got 0 likes / 0 replies / 0 reach.
The cause: MindThread's pipeline is Gemini → content → posting API. If Gemini returns empty / invalid content, the pipeline has no skip-on-empty guard, so "" gets posted as a normal post.
How long has this been happening? About a year. GinRollBT has run since May 2025. Probably 1-3 empty posts per month. No one noticed because at 4.7 posts/day, the empty ones disappear into the volume.
Fix difficulty: 5 lines of Python. Before posting: if not text.strip() or len(text) < 10: skip.
Bug #2: workplace_truth_tw posted the same thing twice
In the past 30 days, the same exact bytes (社畜守則 第 88 條, "Office Worker Rule #88") were posted twice, 7 days apart.
The cause: no queue-level deduplication. If Gemini happens to produce content already posted previously (low temperature, narrow prompt, repeated context), the system accepts it.
Why it's hard to spot: detecting this requires comparing the same account's posts 7 days apart, which a normal dashboard doesn't do.
Fix difficulty: medium. Need a 30-day post hash table, check before posting. Risk: false-positive on legitimate "same theme, different phrasing." Need fuzzy threshold.
Bug #3: 2021newken's malformed schedule_times — running anyway at 10/day
This account's schedule_times is set to start:07:00,interval:3h.
Problem: the standard MindThread format is 08:30,12:00,18:30 — comma-separated times. start:07:00,interval:3h is not any documented format.
But it's running. 30 days × 10.1 posts/day = 303 posts.
Which means the schedule parser has an undocumented branch: parse-fail → fallback to some default → becomes "post unbounded."
This isn't broken, it's "broken but useful." It made 2021newken the most prolific account (despite only 145 followers).
Fix difficulty: high. Need to decide first — fix the schedule format, or formalize the fallback behavior as a feature?
Cross-account patterns
Beyond the 3 bugs, the agent surfaced cross-cutting observations from all 36 enabled accounts:
1. Explicit "⛔ format constraint" blocks correlate with output adherence.
GinRollBT (highest engagement) opens its prompt with:
⛔ Word limit: 150-350 chars (over 350 = invalid, under 150 = too short)
Explicit red line + explicit consequence. Gemini follows extremely closely.
Accounts without "red line" blocks (like 2021newken's 3-line "wisdom aphorist" prompt) drift across topics, lengths, and structures.
Conclusion: the more specific the constraint, the more stable the output. "Please write warmly" is far weaker than "150-350 chars + max 3 lines per paragraph + end with one rhetorical question."
2. Persona drifts from what actually gets engagement.
2021newken's persona is "wisdom aphorist." But the high-engagement posts are casual game reactions.
This mismatch is interesting: when the prompt is abstract (persona-only), the LLM's "actor instinct" drifts toward what the audience signals; when the prompt is concrete (rule-based), the LLM stays put.
Conclusion: for brand consistency, use rule-based. For maximum engagement (at the cost of brand drift), use abstract persona + let the LLM follow audience signals.
3. Follower count doesn't correlate with prompt length.
GinRollBT's prompt is 923 chars (highest engagement). Other high-engagement prompts are 200-400 chars. What matters is structural density, not character count.
A 300-char tightly-structured prompt > a 1000-char rambling one.
Why didn't I catch these myself?
Honestly: because I never actively reviewed these accounts.
MindThread is "set it and forget it" SaaS. Configure → run for 2 years → never look inside.
Same story as yesterday's OpenClaw Moltbook bug: the more automation, the bigger the blind spots.
Structural lesson: automated systems need a monthly "manual review day." 2 hours, look at each account's most recent 10 posts, check for anomalies, check whether the original setup intent still shows up.
I'm now putting this into OpenClaw's weekly cron: every Sunday Claude runs an audit across all 56 MindThread accounts, finds anomalies, TGs me.
What you can take away
If you run similar AI-content automation:
- Add sanity check: before each post,
if not text.strip() or len(text) < 30: skip + log - Add dedup: 30-day post hash table
- Check parser fallback behavior: what you assume is "config error → fail" might be "fallback to unintended default"
- Force monthly manual review: prompt vs actual output vs what's getting engagement — three-way drift check
- The more specific the constraint, the more stable the output: don't write "warm tone" — write "150-350 chars, max 3 lines per paragraph, end with one rhetorical question"
Part 3 in the "Min Yi in Germany Atlas" public-experiment series. Previous: Why I Built Atlas, OpenClaw fleet public. Next: "What I learned switching from Spotify to Last.fm in 1 hour."
Written 2026-05-08, 1 hour into BR71 flight, 35,000 ft.