Twitter Design

  • Business Function?
  • Registration?
  • Security?
  • Scalability?

** Further define the problem, make it clear and more concrete
** Focus on Core Features

Business Function

  1. Follow People
  2. View Other Feeds

Data Modelling


Feed Serve - Get all feed from people you follow and render them by time (order)

Q1. So many feeds, how many can they be rendered on 1 view?
  • Infinite scroll, only N feeds are fetched at a time.
  • Backend cache
Q2. Detect Fake Users - Machine Learning
  • Registration Date - Valid?? Very young vs very old
  • No. of Followers - Extraordinary Large
  • No of Feeds - Extraordinary Large

Tweet Ordering using some methods

  • User Liking
  • User relationship to the author. Number of replies/retweets to his tweets
  • No. of followers of the author
  • User favourite number of tweets by some author 

Trending Topics

  • Most frequent hashtags over last N hours
  • Hottest search queries
  • Most favourite tweets over last N hours and extract common words or phrases

Ranking

  • Frequency (retweets may be) (Topic - # or query or words/phrases)
  • Favourite/ Reply/ Retweet
  • Follows/Followers talking about that topic

Who to Follow

  • May be friends of friends

        P Follows R. R is the potential person you may know

  • Celebrities

       People with many number of followers e.g celebrities

Ranking

  • User has previously followed this user
  • No. of common follows/followers
  • Overlap in basic information (e.g. location)

Moments

Interesting Topics of the moment (new, sports, fun etc.). Tweets related to these categories.

New articles for the last 1-2 hours. Associate topic with each article. Find tweet with each topic.

Trending Topics - Categorization
Rank Topics
Rank tweets in topics
Content, Comments find popular
Categories - sports, fun, food etc.

Search

  • Search on tweets
  • Build Indexing, ranking and retrieval
  • Ranking Freshness/social signals
  • Associate weights on feature/signals Features - reply, retweet, favorite numbers, users popularity, freshness. Add up and display according to weight.



Comments

Popular posts from this blog

Terraform Basics