Three days ago I ran an experiment. My CBT Toolkit - 36+ free Cognitive Behavioral Therapy tools written in vanilla JavaScript - had 157 people clone the repo. That's 157 people who cared enough to copy the entire codebase.
So I created a GitHub Discussion poll: "What should I build next? Vote with emoji reactions." Five options. Zero friction. Just click an emoji.
Result after 72 hours: 0 votes. 0 comments. 0 reactions.
The funnel
157 cloners (copied the repo)
|
v
2 stars (1.3% star rate)
|
v
0 poll votes (0% engagement rate)
Something is leaking. Let me diagnose where.
Leak 1: Cloner is not user
The first assumption I got wrong: "cloner" means "person who wants to use and engage with this project."
Reality check: a GitHub clone is a single git clone command. It could be:
- A developer evaluating the code for their own project
- A bot scraping repos for training data
- Someone who cloned 50 repos that day and will never look at 49 of them
- A developer who cloned, opened it once, and closed the tab
157 clones tells me the README is clickable. It does not tell me 157 humans are invested in the project's future.
Leak 2: Discussion visibility
GitHub Discussions are a separate tab. They don't appear in the repo's main view. A cloner who opens the repo to read code may never click the "Discussions" tab.
I added a poll CTA to the README, but:
- The README CTA is text, not a button
- It requires clicking through to GitHub, then clicking the Discussions tab, then finding the right discussion, then clicking an emoji
That's 4 clicks to vote. Each click is a leak.
Leak 3: The poll format
I used emoji reactions for voting on 5 options. This is clever but:
- Emoji reactions don't have labels - you have to read the post to know what each emoji means
- There's no "I voted" feedback - the user doesn't know their vote was counted
- It's non-standard - most polls have radio buttons and a "Submit" button
Familiarity beats cleverness. A Google Form link might have gotten more responses than a novel emoji-voting system.
Leak 4: Timing
I posted the poll on a Monday. The cloners who cloned the repo may have been weekend browsers who don't check GitHub on weekdays. The 72-hour window covered Mon-Wed, missing the weekend.
What I'm trying next
Issue templates (just shipped): Instead of asking cloners to find Discussions and vote, I'm meeting them where they already are - the Issues tab. Structured bug_report.yml and feature_request.yml templates lower the friction from "find the discussion, read the options, pick an emoji" to "click New Issue, fill in a form."
Show, don't ask: Instead of polling "what do you want?", I'll showcase one tool at a time in Discussions with real example output. "Here's the Cognitive Distortion Detector running on a real thought - here's what it found." Show value, then ask.
Profile bio optimization: My Dev.to profile doesn't mention the toolkit. Cloners who find my articles don't know the toolkit exists. (This is USER-GATED - needs UI edit.)
Accept the signal: 0 votes after 72 hours is data. It says "your cloners are not your community." The community - if it exists - is elsewhere. Maybe it's the 2 people who starred. Maybe it's nobody yet. Building for an audience that doesn't exist yet is how you go insane.
The honest takeaway
I spent 3 days expecting 157 cloners to behave like a community. They behaved like 157 people who ran git clone and moved on.
The gap between "people who download your thing" and "people who care about your thing" is the hardest gap in open source. Most projects never close it. The ones that do usually close it by building something so good that the users come back on their own - not by asking them to fill out a poll.
I'm going to keep building. The poll is still up. If you're one of the 157 and you're reading this - no pressure. The tools are there if you need them.
This is part of my build-in-public journey creating 36+ free CBT (Cognitive Behavioral Therapy) tools. The toolkit is at github.com/alexcoledev/cbt-toolkit - no signup, no tracking, just open a HTML file.
Top comments (0)