diff --git a/pkg/internal/services/queries/feed.go b/pkg/internal/services/queries/feed.go
index 5994fc6..74f8053 100644
--- a/pkg/internal/services/queries/feed.go
+++ b/pkg/internal/services/queries/feed.go
@@ -33,8 +33,8 @@ func GetFeed(c *fiber.Ctx, limit int, user *uint, cursor *time.Time) ([]FeedEntr
 
 	// Planing the feed
 	limitF := float64(limit)
-	interCount := int(math.Ceil(limitF * 0.5))
-	readerCount := int(math.Ceil(limitF * 0.5))
+	interCount := int(math.Ceil(limitF * 0.7))
+	readerCount := int(math.Ceil(limitF * 0.3))
 
 	// Internal posts
 	interTx, err := services.UniversalPostFilter(c, database.C)
@@ -55,7 +55,7 @@ func GetFeed(c *fiber.Ctx, limit int, user *uint, cursor *time.Time) ([]FeedEntr
 	})
 
 	// News today - from Reader
-	if news, err := ListNewsForFeed(readerCount, cursor); err != nil {
+	if news, err := ListReaderPagesForFeed(readerCount, cursor); err != nil {
 		log.Error().Err(err).Msg("Failed to load news in getting feed...")
 	} else {
 		feed = append(feed, news...)
@@ -70,10 +70,13 @@ func GetFeed(c *fiber.Ctx, limit int, user *uint, cursor *time.Time) ([]FeedEntr
 func ListPostForFeed(tx *gorm.DB, limit int, user *uint, api string) ([]FeedEntry, error) {
 	var posts []models.Post
 	var err error
+	rankOrder := `(COALESCE(total_upvote, 0) - COALESCE(total_downvote, 0) + 
+		LOG(1 + COALESCE(total_aggressive_views, 0))) /
+		POWER(EXTRACT(EPOCH FROM NOW() - published_at) / 3600 + 2, 1.5) DESC`
 	if api == "2" {
-		posts, err = ListPost(tx, limit, -1, "published_at DESC", user)
+		posts, err = ListPost(tx, limit, -1, rankOrder, user)
 	} else {
-		posts, err = services.ListPost(tx, limit, -1, "published_at DESC", user)
+		posts, err = services.ListPost(tx, limit, -1, rankOrder, user)
 	}
 	if err != nil {
 		return nil, err
@@ -88,7 +91,7 @@ func ListPostForFeed(tx *gorm.DB, limit int, user *uint, api string) ([]FeedEntr
 	return entries, nil
 }
 
-func ListNewsForFeed(limit int, cursor *time.Time) ([]FeedEntry, error) {
+func ListReaderPagesForFeed(limit int, cursor *time.Time) ([]FeedEntry, error) {
 	conn, err := gap.Nx.GetClientGrpcConn("re")
 	if err != nil {
 		return nil, fmt.Errorf("failed to get grpc connection with reader: %v", err)