Tweeter

Team Name

Tweeter

Timeline

Fall 2020 – Spring 2021

Students

  • Osman Fabela
  • Lamia Chowdhury
  • Jared Gatlin
  • Ameet Subedi

Sponsor

Shawn Gieser

Abstract

Since 2014 the number of Tweets per day have stayed at the daily average of 500 million [1]. A hashtag– written with a # symbol is used to index keywords or topics on Twitter. This function was created on Twitter, and allows people to easily follow topics they are interested in. Variance for any given topic’s hashtag can be significant given the sheer volume of tweets generated daily. Millions of users that do not use a hashtag suggester will have to manually sort through Twitters trending page and search relevant keywords. Team 3’s goal is to create a tool that will analyze a user’s tweet and suggest trending hashtags based on the best topics related to the respective tweet.

Tweeter is a real-time system that will be hosted on a website that Twitter users will draft tweets on. Drafted tweets will be taken as input by our system and return a list of recommended trending hashtags. Tweeter will implement Twitter API’s and machine learning to collect data and process keywords to recommend trending hashtags.

Background

Twitter is a social networking app the allow its users to interact with each other by posting “tweets”. Twitter is known for its hashtag functionality which allow it users to post topics related to the tweet using # symbol. The hashtag functionality on Twitter has made it much easier for its users to stay updated on their favorite topics. The hashtag also lets users to view other tweets that are posted using that hashtag.

However, many Twitter users find it difficult to come up with related hashtags of the tweet from the top of their head in that moment. They may need to do some research on trending topics and hashtags they may want to use. Twitter users tend to google hashtag suggestions that are related to their tweet to add to their post. This takes time and effort. The hashtag functionality is one of Twitter’s main functionality and it is important for users to be able to use hashtags effortlessly.

Our app will suggest Twitter users trending hashtags that are related to their tweet as the user is typing it by reading keywords from the tweet. The user will be presented with a list of trending hashtags from which they can choose from. This will increase the number of customers that Twitter has overall as well as the number of tweets posted per day. This will be very beneficial to Twitter users as it is one less thing they will need to worry about. The development team is undergraduate students that are taking Senior Design at UTA. The team members are Lamia Chowdhury, Osman Fabela, Jared Gatlin, and Ameet Subedi. The customers of our app will be Twitter users.

Project Requirements

  • Hashtags suggester
  • Trending hashtags
  • Show character count of suggested hashtags
  • Space to type out tweet/ thread
  • Web interface
  • Client accounts
  • Post tweet

System Overview

There are three main layers in our system: Application layer, Cloud Server layer, and Twitter API layer. Application layer handles the input and output of the system. The cloud server will maintain database and do back-end processing of data to suggest relevant hashtags for the input. Twitter will provide data as Twitter API for the development. The data from this API are maintained in the database. Although each of these layers have specific functionality, they need to interact coherently for the system to be successful.​

For the application layer, the website will be built using python with a web application framework called Flask, styling will be done using a CSS stylesheet. The login subsystem will be OAUTH based, and users will need to grant the app authorization to use Twitter’s API. The application GUI will be a website rendered on the users’ web browser. The application subsystem shelters on Heroku server. All the necessary database and user login information are maintained using Postgres database in Heroku server. These are four tables: user tables that stores user-information, trends table stores trending topics, oauth table stores authentication tokens received from twitter API, and tweets table contains tweets drafted by the users.​ All the backend logic will be handled by the web server. The dependencies that will be needed are Flask, sqlalchemy, blinker, web micro-framework, Werkzeug, WSGI utility library, jinja2, and template engine. For software, any modern web browser will be needed to access Twitter’s developer platform. Project Application is used to access Twitter’s API and monitor usage. Edge, Safari, Firefox, and any browser based on Webkit / Chromium engines will be supported.

Results

The original goal from our sponsor was to have a hashtag suggester using machine learning. Due to time constraints and domain knowledge needed to learn to be up to speed a different approach was implemented. Using current trending topics to match the user’s tweet was implemented.

Live version of the app: https://hashtag-suggester.herokuapp.com/

Future Work

For future development, the application can be forked to include a machine learning component. Possible improvements to this project include upload media feature, create a thread feature, and the schedule a tweet feature.

Project Files

Project Charter ((link))

System Requirements Specification ((link))

Architectural Design Specification ((link))

Detailed Design Specification ((link))

Poster ((link))

References

[1] Stricker Gabriel. The 2014 #YearOnTwitter, 2014.

lxc5553