Can you unmask tweets 280 characters at a time?
TweetGuess is a mobile app all about highlighting statements by high-profile personalities (like politicians or tech moguls) behind the veil of the mainstream media.
The core concept is a gamifciation of political content on X (formerly Twitter), where users get the content of a tweet and then guess which politician might have written it. Check the road map for some future improvements and extensions to the game!
The initial motivation behind TweetGuess was to combat political disenchantment - and this is still true.
I picked this project up because I have been getting more involved with politics myself, and see the foundation of our contemporary democracies in danger and had the feeling I need to do something about it. TweetGuess is one attempt do so!
Originally, the project was born during one of the regional [Jugend Hackt] hackathons (https://jugendhackt.org/) (if you have children & live in Germany - yes, do it!), back in 2017. We were a team of young teens working on this demo, rather for the sake of showing of our Bootstrap skills but little did I know that I'll pick this project up later in my life.
The project is written in Dart, using Flutter as the UI framework. To run it...
- Just decide which one of the supported platforms you want to use (currently iOS, Android & Web),
- Setup the environment variables & Firebase,
- Run the build-runner to generate the necessary auto-generated files via
flutter dart run build_runner build
, - And you're ready to rumble & run the project via
flutter run -d <platform>
! 🚀
For the web version, I decided to dedicate a seperate paragraph as building and running might not be as straight forward as on other platforms.
To run the project on browsers besides chrome, either setup a web server via webdev
or use the flutter run -d web-server
. Debugging is being enabled by the Dart Debug Extension.
For Chrome, you can just run flutter run -d chrome
as usual - your browser will open up.
TweetGuess uses Firebase for analytics (& soon configuration) purposes. For this you need to setup Firebase before you are running the project. For this, you would need to setup a demo project, to then setup Firebase over the CLI.
We also use Sentry for keeping track of errors & exceptions in the wild. For this, you also need to setup a Sentry project and get the Sentry DNS
TweetGuess also uses environment variables for flexible configuration between deployments. We have for the Production (prod) and Development (dev) environment two distinct .env
files: .env.dev
and .env.prod
SENTRY_DSN=https://sentry.io/your-dsn
ENABLE_ANALYTICS=false
Each one of these can configure the following variables:
-
SENTRY_DSN
: The Sentry DSN URL that is needed to set up Sentry for error tracking. -
ENABLE_ANALYTICS
: Enable/disable analytics project-wide
- LLM Integration for automated tweet fetching
- Multiplayer mode
- Augment information about tweets with useful information
- Content outside of politics (as a means of making the app more attractive, and funnel users to the politics part?)
- Release in the Google Play Store
- Obtain funding to keep development up & have better reach
Feel free to contribute to this project! Every help is appreciated
And if this is something, which you would want to work on as a little side-project, I'd be super happy and excited to have somebody next to me also supporting the cause and wanting to have an impact with their work!
For any questions or feedback, please contact me over LinkedIn or [email protected]
Important
TweetGuess is licensed under GNU GPLv3. This means that you can do anything you'd like with the source, modify it, contribute to it, etc.
See full license HERE