Core interactions
-
Create/delete tweets
-
View your own tweets
-
View tweets for a given account
-
Follow other accounts
-
Like and unlike tweets (can like tweets from non-followed accounts)
-
View list of accounts that follow you
-
View list of accounts you are following
Dashboard (home feed)
Build a paginated dashboard that shows a curated list of the top X tweets for each user.
Prioritization signals (examples)
The ranking/curation should incorporate signals such as:
-
Tweets from accounts you follow
-
Tweets with many likes
-
Tweets with many
recent
likes
-
Recently created tweets
-
Tweets from accounts you recently followed
-
Tweets from accounts you recently viewed
-
Tweets from accounts you view often
Suggested entities
-
tweets
:
tweet_id, text, account_id, created_at
-
follow
:
follow_from_account_id, follow_to_account_id, created_at
-
likes
:
tweet_id, liked_from_account_id, created_at
-
accounts
:
account_id, created_at
Design APIs, storage, and the feed generation approach. Address scalability, consistency, and pagination.