diff --git a/src/app/components/app/app_page.php b/src/app/components/app/app_page.php
index b9e26b3dbcca9d3e9b438b3644fb02736d825d5a..ebb38f8ecaf79087701cc9846a3e190c6859d082 100644
--- a/src/app/components/app/app_page.php
+++ b/src/app/components/app/app_page.php
@@ -6,6 +6,8 @@
     <!-- Global CSS -->
     <link rel="stylesheet" type="text/css" href="<?= BASE_URL ?>/styles/globals.css">
     <link rel="stylesheet" type="text/css" href="<?= BASE_URL ?>/styles/search/search.css">
+    <!-- Page CSS -->
+    <link rel="stylesheet" type="text/css" href="<?= BASE_URL ?>/styles/home/Home.css">
     <!-- JavaScript Library -->
     <script type="text/javascript" src="<?= BASE_URL ?>/javascript/player.js" defer></script>
     <script type="text/javascript" src="<?= BASE_URL ?>/javascript/dashboard/layout.js" defer></script>
@@ -22,7 +24,7 @@
 <body>
     <?php include(dirname(__DIR__) . "/common/sidebar.php")?>
     <?php include(dirname(__DIR__) . "/common/profile.php")?>
-    <main>
+    <main id="main-section">
         <!-- Called by app.js -->
     </main>
     <?php include(dirname(__DIR__) . "/common/player.php")?>
diff --git a/src/app/components/home/home_page.php b/src/app/components/home/home_page.php
index d482164b20887594e1d52b75c0a3c5fb827d4422..2ae5877b96be04fefe9bdb25181be5050ac0c11d 100644
--- a/src/app/components/home/home_page.php
+++ b/src/app/components/home/home_page.php
@@ -1,32 +1,15 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <!-- Global CSS -->
-    <link rel="stylesheet" type="text/css" href="<?= BASE_URL ?>/styles/globals.css">
-    <!-- Page-specific CSS -->
-    <link rel="stylesheet" type="text/css" href="<?= BASE_URL ?>/styles/home/home.css">
-
-    <link rel="preconnect" href="https://fonts.googleapis.com">
-    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
-    <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,700;1,9..40,400;1,9..40,700&display=swap" rel="stylesheet">
-    <link href='https://unpkg.com/boxicons@2.1.4/css/boxicons.min.css' rel='stylesheet'>
-    <title>Homepage</title>
-</head>
-<body>
-    <main>
-        <div class="comedy-content">
-            <h4>COMEDY</h4>
-            <div class="podcast-list">
-            <?php if (isset($this->data["tech_podcasts"])): ?>
+<section>
+    <div class="comedy-content">
+        <h4>COMEDY</h4>
+        <div class="podcast-list">
+            <?php if (isset($this->data["tech_podcasts"])) : ?>
                 <div class="podcast-list">
-                    <?php foreach ($this->data["tech_podcasts"] as $podcast): ?>
+                    <?php foreach ($this->data["tech_podcasts"] as $podcast) : ?>
                         <div class="podcast">
                             <img class="thumbnail" src="<?= STORAGE_URL . $podcast->url_thumbnail ?>" alt="image">
                             <div class="info">
-                                <div class="sh5"><?=$podcast->title?> </div>
-                                <div class="b5"><?=$podcast->name?></div>
+                                <div class="sh5"><?= $podcast->title ?> </div>
+                                <div class="b5"><?= $podcast->name ?></div>
                             </div>
                         </div>
                     <?php endforeach; ?>
@@ -35,9 +18,7 @@
                 <div class="sh4">
                     &nbsp; no results found.
                 </div>
-            <?php endif;?>
-            </div>
+            <?php endif; ?>
         </div>
-    </main>
-</body>
-</html>
\ No newline at end of file
+    </div>
+</section>
\ No newline at end of file
diff --git a/src/app/controllers/app/app_controller.php b/src/app/controllers/app/app_controller.php
index 88d69f645e873eee1089ef7578eee6c99a6c5933..03b558a60e1ef71beff3b15efb5bbda7926f1d81 100644
--- a/src/app/controllers/app/app_controller.php
+++ b/src/app/controllers/app/app_controller.php
@@ -6,12 +6,27 @@ class AppController
     {
         // Session validation
         session_start();
+
+        if (isset($_SESSION["is_premium"]) && $_SESSION["is_premium"]) {
+          http_response_code(403);
+          header("Location: http://localhost:5173");
+          return;
+        }
+        
         if (!isset($_SESSION["user_id"])) {
             http_response_code(403);
             header("Location: " . BASE_URL . "/login");
             return;
         }
 
+        if ($_SESSION["expire"] < time()) {
+          session_destroy();
+          http_response_code(403);
+          header('Location: ' . BASE_URL . "/login");
+          return;
+        }
+
+
         // Get id_episode from session
         $epsId = "";
         if (isset($_SESSION["eps_id"])) {
diff --git a/src/app/controllers/home/get_home.php b/src/app/controllers/home/get_home.php
index 5344363de2f3605c0ad767b2cfe3b3ab5e426720..326d83989560633f39876647717aabc01881743e 100644
--- a/src/app/controllers/home/get_home.php
+++ b/src/app/controllers/home/get_home.php
@@ -5,7 +5,7 @@ class GetHomeController
   public function call()
   {
     session_start();
-    
+
     $data = [];
     
     // podcast Info
diff --git a/src/app/controllers/login/get_login.php b/src/app/controllers/login/get_login.php
index 44627b028f597b1a2d46150bb2d66b8a45b41171..7d60ec202c37317ec5533bf1ae844afb459bc603 100644
--- a/src/app/controllers/login/get_login.php
+++ b/src/app/controllers/login/get_login.php
@@ -7,16 +7,14 @@ class GetLoginController
     require_once __DIR__ . "/../../views/login/login.php";
     require_once __DIR__ . "/../../views/home/home_view.php";
     session_start();
-    
-    if(isset($_SESSION['user_id'])){
-      
+
+    if (isset($_SESSION['user_id']) && $_SESSION["expire"] >= time()) {
+
       header("Location: " . BASE_URL . "/home?user_id=" . $_SESSION["user_id"]);
-      
-    }else{
+    } else {
       $data = [];
       $view = new LoginView($data);
       $view->render();
     }
-
   }
-}
\ No newline at end of file
+}
diff --git a/src/app/controllers/login/post_login.php b/src/app/controllers/login/post_login.php
index 9cedc53d640273b8242fd137b0e0e814e265f69c..6af4226a2cf70eec82d7d6617675c92497505a0f 100644
--- a/src/app/controllers/login/post_login.php
+++ b/src/app/controllers/login/post_login.php
@@ -22,14 +22,16 @@ class PostLoginController
                     exit;
                 } else {
                     if (password_verify($password, $user['password'])) {
-                        $_SESSION["user_id"] = $user['id_user'];
-                        $_SESSION["eps_id"] = "";
-                        $_SESSION["role_id"] = $user['is_admin'];
+                        $_SESSION["start"] = time();
+                        $_SESSION["expire"] = time() + 60;
 
                         if ($username == "premium") {
                             $ch = curl_init();
                             curl_setopt($ch, CURLOPT_URL, "http://tubes-rest-service:3000/token/create");
                             curl_setopt($ch, CURLOPT_POST, 1);
+                            curl_setopt($ch, CURLOPT_HTTPHEADER, [
+                                "Authorization: Bearer " . $_ENV["REST_PHP_KEY"],
+                            ]);
                             curl_setopt(
                                 $ch,
                                 CURLOPT_POSTFIELDS,
@@ -43,11 +45,20 @@ class PostLoginController
                             curl_close($ch);
 
                             $jwtToken = json_decode($output, TRUE)["token"];
-                            $_SESSION["token"] = $jwtToken;
 
+                            $_SESSION["is_premium"] = true;
+                            
                             http_response_code(201);
+                            header('Content-type: application/json');
+                            echo json_encode(["redirect_url" => "http://localhost:5173/?token=" . $jwtToken]);
+                            exit;
                         }
 
+                        $_SESSION["user_id"] = $user['id_user'];
+                        $_SESSION["eps_id"] = "";
+                        $_SESSION["role_id"] = $user['is_admin'];
+                        $_SESSION["is_premium"] = false;
+
                         http_response_code(201);
                         header('Content-type: application/json');
                         echo json_encode(["redirect_url" => BASE_URL . "/home"]);
diff --git a/src/app/core/app.php b/src/app/core/app.php
index 75b6eee8ddb24014c45ecc723ad35d36a0281002..4da6d4e6b28b502bbd51282b488c21e6c4a2e40e 100644
--- a/src/app/core/app.php
+++ b/src/app/core/app.php
@@ -46,8 +46,8 @@ class App
 
     $router->post("public/logout", new LogoutController());
 
-    $router->get("public/home", new GetHomeController());
-    $router->get("public/search", new GetSearchController());
+    // $router->get("public/home", new GetHomeController());
+    // $router->get("public/search", new GetSearchController());
     $router->get("public/login", new GetLoginController());
     $router->post("public/login", new PostLoginController());
     $router->get("public/signup", new GetSignupController());
diff --git a/src/public/javascript/app/app.js b/src/public/javascript/app/app.js
index 68eb6c49afbb79fd42d94cb4c46da18ea2909320..67c843ee10af3dcd38dbb506df9b6c893f7fa418 100644
--- a/src/public/javascript/app/app.js
+++ b/src/public/javascript/app/app.js
@@ -1,4 +1,4 @@
-const mainSection = document.querySelector('main');
+const mainSection = document.querySelector('#main-section');
 const sidebar = document.querySelector('.sidebar');
 
 const urls = window.location.href.split("?")[0].split("/");