Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
82 lines (48 sloc) 4.38 KB


ThinkTank is an installable web application that captures and organize replies to status updates on Twitter and beyond. See screenshots and more at

ThinkTank is sponsored by Expert Labs, led by Gina Trapani, and used to be named Twitalytic.


This is not production code. This is a pre-alpha web application. The intended audience is server administrators with experience installing and troubleshooting PHP/MySQL hosted web applications. While ThinkTank uses OAuth to access Twitter, the webapp’s login is not as secure as it should be. Right now this code is for experimentation and tinkering only. Do not run on a public, production server. You have been warned.


In future versions, this will get easier.

System Requirements

  • PHP 5 with cURL and GD enabled
  • Smarty
  • MySQL 5
  • A public web server. (Twitter authorization requires a public callback URL, so you’ll need to expose a local dev server to the internet for initial authorization; after that the server doesn’t have to be publicly available.)

Install application files

  • Download source code. Save the thinktank directory one level above your web site’s DocumentRoot. For example, if your site’s DocumentRoot is
    Put the thinktank directory here:
  • Create a symbolic link to the thinktank/webapp directory in your site’s DocumentRoot folder. To do so, cd to the DocumentRoot, and use the command:
    ln -s ../thinktank/webapp/ thinktank
  • Make the following directories writable by the web server:
  • Note for upgraders: If you’re upgrading a previous installation, delete your cookies (in Firefox under Preferences / Privacy / delete individual cookies).

Set up database

  • Create a database and select it, i.e., CREATE DATABASE thinktank
  • Build tables with thinktank/sql/build-db_mysql.sql

Register your app with Twitter (for OAuth support)

  • Log into Twitter and register your ThinkTank instance. Set the callback URL to
    Write down the items labeled “Consumer key” and “Consumer secret.”

Configure the app

  • Shared libraries: Rename thinktank/common/ to Add your database credentials, file and webapp paths, and the key/secret you got from Twitter in the previous step.
  • Crawler: Rename thinktank/crawler/ to and set include path to the absolute location of thintank/common
  • Webapp: Rename thinktank/webapp/ to and set include path to the absolute location of thinktank/common


Visit the web application on your server, register and log in, and set up your Twitter accounts.

Then, run the crawler to load your Twitter data:

$ php crawler/crawl.php

To view what’s going on with the crawler, use this command:

$ tail -f crawler/logs/crawler.log

Cron the crawler’s run command to go at least once an hour. Hint: you may configure and cron this pre-fab bash script, which will run the crawler and rotate its logs:


See the script’s README for more information on configuring it.


To discuss ThinkTank, post to the project mailing list. For deeper documentation, see the ThinkTank wiki.


ThinkTank’s source code is licensed under the GNU General Public License, except for Twitter OAuth by Abraham Williams, which is released under the MIT license.