balajis / twitter-export

Tool for mass export of Twitter followers to Substack, Ghost, or email list.
MIT License
159 stars 9 forks source link

A $10000 BTC Bounty for an open source tool to export your Twitter followers

Twitter export to email

The community has crowdfunded a $10000 bounty, payable in BTC, for an open source tool that helps people export their followers from Twitter to Substack, Ghost, Locals, or other user-controlled platforms.

The goal is to take a Twitter account with N followers and produce a list of N emails (or phone numbers) for those followers with their explicit consent to contact them on another platform, and without bothering them very much or at all. The ideal solution shouldn't take too much time or money on anyone's part.

There are many possible approaches to this problem, and the best one will win the first $10k committed. With any remaining monies, we'll fund testing and/or second and third place prizes.

We care more about the results than the method. We are not going to be prescriptive about the best approach to take, though we do suggest two possible ideas below, the "mass DM" and "affiliate link" approaches.

How do we determine the "best" approach? We are thinking about scoring the different approaches by allowing different accounts to try out the top submissions on a subset of 1000 followers, and then rating them by conversion percentage, cost-per-conversion, ease-of-use, and happiness-of-converted-user.

Because a tool like this is desired by many people, a good solution to this bounty could become a product or even a startup. You'd want to first get it to work robustly for Twitter influencers, probably via white glove service for the first 100 or so accounts. And then make it work for other social platforms. Companies like Buffer have done surprisingly well ($20M+ ARR!) with similar seemingly simple products that fill a hole in the social networking landscape.

Problem: exporting followers from Twitter

Twitter is an incredible platform for learning and finding people of like mind. I admire much of what Jack Dorsey and his team have accomplished.

However, it has several downsides for users with large follower bases, as it lacks tools for:

For these reasons and more, many people are moving to platforms like Substack, Ghost, Locals, or the like. In these platforms, an influencer has full root privileges over their community and can give a richer experience. You don't need to buy Twitter ads to reach your followers, or trust Twitter to deliver your content to your followers' feeds.

The issue, however, is that it's not trivial to export a large follower base from Twitter!

Note that the problem here is not the export of one's own profile data. That is relatively easy and Twitter already supports that. The issue is not the access to your own data, the issue is the ability to contact your followers (eg via email or phone) without Twitter's additional consent.

Solution

As noted above, the ideal is for an account with N followers to get a list of N emails (or phone numbers) for those followers with their explicit consent to contact them on another platform, and without bothering them very much or at all. In practice, you won't get all N, but you may get a subset. Also, the ideal solution shouldn't take too much time or money on anyone's part.

In theory, Twitter could add a feature where users could opt in to allowing their emails to be viewed by a few, some, or all of the accounts they followed, perhaps in return for a micropayment of some kind. For example, an account could pay $X for the verified email of each follower with an account age over 3 months and >100 real followers themselves.

But in the absence of a built-in feature like this, there are several overlapping ways to export your userbase to example.com/subscribe.

  1. Put example.com/subscribe in your name, bio, photo, and profile
  2. Create a pinned tweet directing your followers to example.com/subscribe
  3. Regularly post a tweet with example.com/subscribe
  4. Publicly tweet to each follower with example.com/subscribe
  5. Set up a separate new account that does #1-4, to keep the public mentions out of your timeline
  6. Parse the bios of each follower account for public contact info (eg if they have their email in their bio), and email them out-of-band with example.com/subscribe
  7. Set up a welcome message with example.com/subscribe for each new follower
  8. Privately DM each follower once with example.com/subscribe
  9. Generate a per-user affiliate referral link, and pay follower to refer others

None of these are perfect. You might want to use several of them at the same time. But let's discuss the last two in some detail.

The Mass DM Approach

The concept here is to send a private DM to each of your followers with a link (and possibly some incentive) to sign up for a new platform, like Substack.

The simplest way to implement the mass DM approach might be a command line app that takes as input a Twitter API key and a message to send each user. It would give you a preview of all of your followers, addsome options to rank them by importance, and let you try it out by sending test messages to a few accounts before opening it up to message 1000 accounts per day. It stores state so you know who you messaged in the past, such that you don't inadvertently recontact them.

You can imagine a fancier local Mac App that puts a nice GUI on top of the command line engine described above. Or an even fancier hosted version with individually attributable conversion links, so you know which usernames converted to which emails. The hosted version would also allow you to keep running the 1000 DMs per day in the background, so it could be a SaaS service.

The Affiliate Link Approach

This is a very different approach. The idea here is to make export from social networks as organically viral as the original import was.

One way of doing that is to generate an affiliate link for each follower, such that the one who refers the most/best users to your site each day receives $100 in crypto.

Why "most/best"? Because you want some measure of quality, not just N spam emails. Why crypto? Because it's easy to automate small, fast, international payouts.

A major advantage of this approach is that it can generalize to other social networks. It's also much harder to shut down than mass DM, and it aligns the crowd with you economically.

Here's one possible flow, in which all emails are recorded at a single site that tracks everything and then re-exported into Substack, Ghost, Locals, Mailchimp, or other applications. Note that this will work for free email lists, but the upsell to paid subscriptions as per Substack would then have to be done separately as this implementation doesn't also include a checkout flow.

Feel free to modify this.

Phase 1: Set up referral URL

Suppose we define three parties: the developer, the influencer who wants to export their followers, and each follower themselves.

At this point the influencer has written copy encouraging users to sign up with their email, as well as allocated a budget to incentivize this action.

Phase 2: Post referral URL

Now the influencer incentivizes their audience to refer people.

Phase 3: Payment

Every 24 hours, the socialexporter.com site issues payments to the top referers.

Phase 4: Tokenization

Note that the affiliate link approach, unlike the mass DM approach, is more general (as it works across social networks) and doesn't make use of the Twitter API. However, it does cost some money to operate. A variation of this method would allow the influencer to compensate users in a new cryptocurrency issued for the purpose (such as Reuben's Bramanathan's personal token).

Note that this whole user story is just a sketch of an incentivized social referral model for viral export. It can be modified in many ways.

Bounty: $10000 bounty for open source Twitter export tool

Here are threads with context on the bounty:

Please follow @balajis for future updates.

Bounty Scoring

As noted above, we are thinking about scoring the different approaches by doing two passes.

First pass: identify promising submissions versus those which are obviously buggy by looking at the code, polish, visuals, etc.

Second pass: work with volunteer accounts to try out the top submissions on a subset of ~1000 followers and rate each submission by conversion percentage, cost-per-conversion, ease-of-use, and happiness-of-converted-users.

Let's define these terms.

Assume that the only emails that count are those that are above a quality bar, as measured by kickbox.com or a similar set of quality filters. It goes without saying (but we're saying it) that all users must consent to submitting their emails, ideally via email verification or some other form of demonstrated consent (such as clicking a link and manually submitting their email).

We're open to feedback on this scoring system, but it appears to capture the spirit of "export Twitter followers to an email list" without being prescriptive on the exact method.

Bounty Commits

Enough other people were interested in this that the total bounty funds are now >$10000 as of Monday June 15, 2020.

As more money comes in beyond $10,000, we will allocate the first $10,000 to the winner. We'll then allocate remaining monies to folks who test out the app and/or possibly to second and third place submissions.

Bounty Logistics

In terms of mechanics, I (@balajis) will decide on the winner by June 28, 2020, and then the BTC address of the winner will be provided to the various people who have publicly supported the bounty.

It will be incumbent upon each of these people to pay what they have committed to the winner. They can optionally publicly post an on-chain confirmation.

FAQ

How to submit an entry for the bounty?

Go to this issue and make a comment with a link to your project. Ideally it should have a gif or something that shows how it works.

What about other approaches?

As noted above, the ideal is that if you have N followers, you get a list of N emails (or phone numbers) for those followers with their explicit consent to contact them on another platform, and without bothering them very much or at all, or requiring too much time or money on the part of the influencer.

If you can achieve this goal another way besides the mass DM or affiliate link approach, that's fine. We'll score them as per the bounty scoring section by running them on a subset of followers.

What about Twitter API and DM limits?

These are a critical constraint. If you have a solution that works in theory, but that breaks on accounts with many followers, or gets an account banned or shadowbanned for spam, or has some other serious negative side effect, then you don't have a solution.

What about existing tools?

Here are a few that are relevant:

There are tons of open source tools for working with Twitter out there on GitHub and the broader internet. Feel free to use them rather than reinventing the wheel.

Mass DM specific questions

As noted, there are multiple possible approaches to this problem including the "mass DM" and "affiliate link" approaches, as well as something creative you might come up with. If you take the mass DM approach, here are some answers to FAQs.

If I do the mass DM approach, can it be command line only?

That's the simplest version, but ideally there should be a simple Mac app and a hosted version as well.

However, because there are many fly-by-night Twitter apps, and because of the nature of what this app is doing (mass DM of followers), the influencer will want to carefully babysit it and the presence of the open source versions will increase trust in the hosted version.

Why would ranking followers be important for the mass DM approach?

Because you can only send 1000 DMs per day, you will want to prioritize your followers such that you export the most important ones first. These might be the ones who have the most followers themselves, or who have some attribute in their bio (like a #Bitcoin hashtag), or that have some other criteria. In practice this means that you'll likely want a follower table, where the first column is the Twitter username and subsequent columns are metadata on that username (along with a timestamp for when that metadata was last collected, as it can become stale as people update their profiles).

Can the mass DM tool run for multiple days?

Yes, Twitter's default API has a 1000-daily-DM limit. So your tool might need to run for multiple days.

The open source version would run locally and have some state, like a SQLite database or a flatfile. It would use that state to record what people it had DM’d and when, along with what was said and whether they responded. You should also allow re-running of the tool periodically as new followers arise, without requiring the influencer to think about whether they are inadvertently messaging people they already messaged.

Can the mass DM tool require something above the basic API?

Maybe, so long as that API access isn't too expensive or time consuming to get for the typical Twitter influencer with (say) 10,000 followers.

The DM API for customer service seems like it might be quite relevant.

Next steps

The problem of exporting your following applies to all social media, and has been discussed for the better part of a decade, but it now feels like it's gotten to a boil. There is a critical mass of people who are moving to platforms like Substack, Ghost, and Locals that offer greater control over your audience (and, with it, monetization for the influencer and benefits for the audience).

If we can solve it for Twitter, we can probably generalize this to work for partial exodus of influencers from other platforms like Facebook and Instagram.

Please note that Twitter and company will be fine and won't go away any time soon. This is a cave-and-commons approach. The large global social networks will likely persist for some time as "commons" where you recruit members, but these "caves" off to the side with individual influencer-led communities will thrive.

Finally, as noted above, companies like Buffer that solve seemingly simple problems like this have gotten to $20M+ in ARR. If you can build and maintain a tool that reliably exports a large percentage of follower emails from Twitter and other social networks, with the consent of the users and at a reasonable price, you have something that a large number of influencers will likely pay for.