Skip to content
A better Twitter profile for everyone!
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

#Twitter Profilify A little script based on Mispy's bioversity and kaomojify. It helps your Twitter profile be a little more random, informative, and interesting.

Emotional analyzer

Calculates your current emotional state relative to your Twitter history by downloading your tweets and running a Bayes classifier against them trained with a set of emotions. Can be used to either insert your current emotional state into your bio, or update your avatar.

Dynamic Twitter bio

Generates a random bio based on your likes, current emotional state, and what you are listening to.


Ruby 1.9.3+ and the bundler gem.


  1. Clone the repository
  2. Run bundle install
  3. Rename config.rb.sample to config.rb
  4. Rename the sample-images folder to imgaes
  5. Edit config.rb with your details
  6. Run ruby profilify

Edit emotions.tsv to adjust the emotions training dataset to better suit your needs.

You can run this hourly with cron or Heroku, or whatever else you prefer.

Using the music feature

If you want to display what you were listening to when the script ran, you will need a Twitter account that tweets the stuff you're listening to.

I use foo_twit_post to tweet every song I listen to on a separate account. The post format setting is:

#NowPlaying $iflonger(%title%,62,$cut(%title%,61)…,%title%)$if(%artist%, – $iflonger(%artist%,62,$cut(%artist%,61)…,%artist%))

This will produce a simple tweet that looks like this:

#NowPlaying Some Song – Some Artist
You can’t perform that action at this time.