Index: backend/src/main/java/com/shifterwebapp/shifter/auth/AuthService.java
===================================================================
--- backend/src/main/java/com/shifterwebapp/shifter/auth/AuthService.java	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ backend/src/main/java/com/shifterwebapp/shifter/auth/AuthService.java	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -113,5 +113,4 @@
 
     public boolean checkEmail(String email) {
-        System.out.println("Checking if email exists: " + email);
         return userService.existsUserByEmail(email);
     }
Index: backend/src/main/java/com/shifterwebapp/shifter/auth/RegisterDto.java
===================================================================
--- backend/src/main/java/com/shifterwebapp/shifter/auth/RegisterDto.java	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ backend/src/main/java/com/shifterwebapp/shifter/auth/RegisterDto.java	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -29,6 +29,4 @@
     private List<Interests> interests;
 
-    private List<Skills> skills;
-
     private List<Skills> skillGap;
 }
Index: backend/src/main/java/com/shifterwebapp/shifter/course/CourseController.java
===================================================================
--- backend/src/main/java/com/shifterwebapp/shifter/course/CourseController.java	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ backend/src/main/java/com/shifterwebapp/shifter/course/CourseController.java	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -67,14 +67,15 @@
         }
 
-        Object detailsObj = authentication.getDetails();
-        if (!(detailsObj instanceof CustomAuthDetails details)) {
-            return ResponseEntity.badRequest().body(new ErrorResponse("Invalid authentication details"));
-        }
-        Long userId = details.getUserId();
+        if (authentication != null && authentication.isAuthenticated()) {
+            Object detailsObj = authentication.getDetails();
+            if (detailsObj instanceof CustomAuthDetails details) {
+                Long userId = details.getUserId();
+                List<Long> enrolledCourseIds = enrollmentService.getCourseIdsByUserEnrollments(userId);
 
-        List<Long> enrolledCourseIds = enrollmentService.getCourseIdsByUserEnrollments(userId);
-
-        if (enrolledCourseIds != null && !enrolledCourseIds.isEmpty()) {
-            spec = (spec == null) ? CourseSpecification.idNotIn(enrolledCourseIds) : spec.and(CourseSpecification.idNotIn(enrolledCourseIds));
+                if (enrolledCourseIds != null && !enrolledCourseIds.isEmpty()) {
+                    spec = (spec == null) ? CourseSpecification.idNotIn(enrolledCourseIds)
+                            : spec.and(CourseSpecification.idNotIn(enrolledCourseIds));
+                }
+            }
         }
 
Index: backend/src/main/java/com/shifterwebapp/shifter/user/User.java
===================================================================
--- backend/src/main/java/com/shifterwebapp/shifter/user/User.java	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ backend/src/main/java/com/shifterwebapp/shifter/user/User.java	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -39,5 +39,6 @@
 
     private Boolean isAdmin;
-    
+
+    @Enumerated(EnumType.STRING)
     private CompanyType companyType;
     
Index: backend/src/main/java/com/shifterwebapp/shifter/user/UserController.java
===================================================================
--- backend/src/main/java/com/shifterwebapp/shifter/user/UserController.java	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ backend/src/main/java/com/shifterwebapp/shifter/user/UserController.java	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -3,5 +3,4 @@
 import com.shifterwebapp.shifter.Validate;
 import com.shifterwebapp.shifter.auth.CustomAuthDetails;
-import com.shifterwebapp.shifter.enums.CompanyType;
 import com.shifterwebapp.shifter.enums.Interests;
 import com.shifterwebapp.shifter.enums.Skills;
@@ -34,4 +33,17 @@
     }
 
+    @PutMapping("/update")
+    public ResponseEntity<?> updateUser(Authentication authentication, @RequestBody UserInfoDto userInfoDto) {
+        validate.validateUserIsAuthenticated(authentication);
+        Object detailsObj = authentication.getDetails();
+        if (!(detailsObj instanceof CustomAuthDetails details)) {
+            return ResponseEntity.badRequest().body(new ErrorResponse("Invalid authentication details"));
+        }
+        Long userId = details.getUserId();
+
+        UserDto userDto = userService.updateUser(userId, userInfoDto);
+        return ResponseEntity.ok(userDto);
+    }
+
     @GetMapping("/{userId}")
     public ResponseEntity<UserDto> getUser(@PathVariable Long userId) {
@@ -46,10 +58,4 @@
     }
 
-    @PutMapping("/{userId}/name")
-    public ResponseEntity<?> updateName(@PathVariable Long userId, @RequestParam String newName) {
-        UserDto userDto = userService.updateName(userId, newName);
-        return ResponseEntity.ok(userDto);
-    }
-
     @PutMapping("/{userId}/mail")
     public ResponseEntity<?> updateMail(@PathVariable Long userId, @RequestParam String newMail) {
@@ -61,16 +67,4 @@
     public ResponseEntity<?> updatePassword(@PathVariable Long userId, @RequestParam String newPassword) {
         UserDto userDto = userService.updatePassword(userId, newPassword);
-        return ResponseEntity.ok(userDto);
-    }
-
-    @PutMapping("/{userId}/work-position")
-    public ResponseEntity<?> updateWorkPosition(@PathVariable Long userId, @RequestParam String newWorkPosition) {
-        UserDto userDto = userService.updateWorkPosition(userId, newWorkPosition);
-        return ResponseEntity.ok(userDto);
-    }
-
-    @PutMapping("/{userId}/company-type")
-    public ResponseEntity<?> updateCompanyType(@PathVariable Long userId, @RequestParam CompanyType newCompanyType) {
-        UserDto userDto = userService.updateCompanyType(userId, newCompanyType);
         return ResponseEntity.ok(userDto);
     }
Index: backend/src/main/java/com/shifterwebapp/shifter/user/UserInfoDto.java
===================================================================
--- backend/src/main/java/com/shifterwebapp/shifter/user/UserInfoDto.java	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
+++ backend/src/main/java/com/shifterwebapp/shifter/user/UserInfoDto.java	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -0,0 +1,13 @@
+package com.shifterwebapp.shifter.user;
+
+import com.shifterwebapp.shifter.enums.CompanyType;
+import lombok.Data;
+
+@Data
+public class UserInfoDto {
+
+    public String name;
+    public String workPosition;
+    private CompanyType companyType;
+
+}
Index: backend/src/main/java/com/shifterwebapp/shifter/user/service/ImplUserService.java
===================================================================
--- backend/src/main/java/com/shifterwebapp/shifter/user/service/ImplUserService.java	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ backend/src/main/java/com/shifterwebapp/shifter/user/service/ImplUserService.java	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -2,11 +2,10 @@
 
 import com.shifterwebapp.shifter.auth.RegisterDto;
+import com.shifterwebapp.shifter.user.UserInfoDto;
 import com.shifterwebapp.shifter.payment.Payment;
 import com.shifterwebapp.shifter.user.User;
 import com.shifterwebapp.shifter.user.UserDto;
-import com.shifterwebapp.shifter.enums.CompanyType;
 import com.shifterwebapp.shifter.enums.Interests;
 import com.shifterwebapp.shifter.enums.Skills;
-import org.springframework.security.core.Authentication;
 
 import java.util.List;
@@ -22,9 +21,8 @@
     void deleteUser(Long id);
 
-    UserDto updateName(Long id, String newName);
+    UserDto updateUser(Long id, UserInfoDto userInfoDto);
+
     UserDto updateMail(Long id, String newMail);
     UserDto updatePassword(Long id, String newPassHash);
-    UserDto updateWorkPosition(Long id, String newWorkPosition);
-    UserDto updateCompanyType(Long id, CompanyType newCompanyType);
 
     UserDto addInterest(Long id, Interests newInterest);
Index: backend/src/main/java/com/shifterwebapp/shifter/user/service/UserService.java
===================================================================
--- backend/src/main/java/com/shifterwebapp/shifter/user/service/UserService.java	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ backend/src/main/java/com/shifterwebapp/shifter/user/service/UserService.java	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -3,11 +3,10 @@
 import com.shifterwebapp.shifter.Validate;
 import com.shifterwebapp.shifter.auth.RegisterDto;
-import com.shifterwebapp.shifter.enums.CompanyType;
 import com.shifterwebapp.shifter.enums.Interests;
 import com.shifterwebapp.shifter.enums.Skills;
+import com.shifterwebapp.shifter.user.UserInfoDto;
 import com.shifterwebapp.shifter.payment.Payment;
 import com.shifterwebapp.shifter.user.*;
 import lombok.RequiredArgsConstructor;
-import org.springframework.security.core.Authentication;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
@@ -68,5 +67,5 @@
                 .workPosition(registerDto.getWorkPosition())
                 .interests(registerDto.getInterests())
-                .skills(registerDto.getSkills())
+                .skills(List.of())
                 .skillGap(registerDto.getSkillGap())
                 .points(0)
@@ -84,11 +83,22 @@
 
     @Override
-    public UserDto updateName(Long userId, String newName) {
-        validate.validateUserExists(userId);
-        User user = userRepository.findById(userId).orElseThrow();
-        user.setName(newName);
-        userRepository.save(user);
-        return userMapper.toDto(user);
-    }
+    public UserDto updateUser(Long id, UserInfoDto userInfoDto) {
+        validate.validateUserExists(id);
+        User user = userRepository.findById(id).orElseThrow();
+
+        if (userInfoDto.getName() != null) {
+            user.setName(userInfoDto.getName());
+        }
+        if (userInfoDto.getCompanyType() != null) {
+            user.setCompanyType(userInfoDto.getCompanyType());
+        }
+        if (userInfoDto.getWorkPosition() != null) {
+            user.setWorkPosition(userInfoDto.getWorkPosition());
+        }
+
+        userRepository.save(user);
+        return userMapper.toDto(user);
+    }
+
 
     @Override
@@ -106,22 +116,4 @@
         User user = userRepository.findById(userId).orElseThrow();
         user.setPasswordHash(passwordEncoder.encode(newPass));
-        userRepository.save(user);
-        return userMapper.toDto(user);
-    }
-
-    @Override
-    public UserDto updateWorkPosition(Long userId, String newWorkPosition) {
-        validate.validateUserExists(userId);
-        User user = userRepository.findById(userId).orElseThrow();
-        user.setWorkPosition(newWorkPosition);
-        userRepository.save(user);
-        return userMapper.toDto(user);
-    }
-
-    @Override
-    public UserDto updateCompanyType(Long userId, CompanyType newCompanyType) {
-        validate.validateUserExists(userId);
-        User user = userRepository.findById(userId).orElseThrow();
-        user.setCompanyType(newCompanyType);
         userRepository.save(user);
         return userMapper.toDto(user);
Index: frontend/src/App.tsx
===================================================================
--- frontend/src/App.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/App.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -1,3 +1,3 @@
-import { BrowserRouter as Router, Route, Routes, useLocation } from "react-router-dom";
+import { Route, Routes, useLocation } from "react-router-dom";
 import Home from "./pages/Home.tsx";
 import Navbar from "./layout/Navbar.tsx";
@@ -45,16 +45,7 @@
 
 function App() {
-    // const {loading} = useGlobalContext();
-    //
-    // if (loading)
-    //     return (
-    //         <div className="absolute inset-0 bg-white/60 backdrop-blur-sm
-    //                     flex flex-col gap-2 items-center justify-start z-10 py-40">
-    //             <div className="w-20 loader"></div>
-    //         </div>
-    //     )
 
     return (
-        <Router>
+        <>
             <AppLoader />
             <ScrollToTop />
@@ -68,5 +59,5 @@
             />
             <LayoutWrapper/>
-        </Router>
+        </>
     );
 }
Index: frontend/src/api/userApi.ts
===================================================================
--- frontend/src/api/userApi.ts	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/api/userApi.ts	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -14,2 +14,14 @@
     )
 }
+
+export const updateUserApi = async (userInfo: {name: string, workPosition: string, companyType: string}, accessToken: string): Promise<void> => {
+    await axios.put(
+        `${backendUrl}/api/users/update`,
+        userInfo,
+        {
+            headers: {
+                Authorization: `Bearer ${accessToken}`,
+            }
+        }
+    )
+}
Index: frontend/src/components/CollaborationSteps.tsx
===================================================================
--- frontend/src/components/CollaborationSteps.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/components/CollaborationSteps.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -17,5 +17,5 @@
             title: 'Review Your Personalized Plan',
             description:
-                'Receive a tailored roadmap with clear, actionable steps to help you achieve business success.',
+                'Receive a tailored roadmap with clear, actionable registerSteps to help you achieve business success.',
         },
         {
Index: frontend/src/components/CoursesFilters.tsx
===================================================================
--- frontend/src/components/CoursesFilters.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/components/CoursesFilters.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -3,4 +3,5 @@
 import {durationToQueryMapper, priceToQueryMapper} from "../utils/mapper.ts";
 import type {FilterParams} from "../types/FilterParams.tsx";
+import {useGlobalContext} from "../context/GlobalContext.tsx";
 
 function CoursesFilters({filters, setFilters, topics, skills}: {
@@ -10,4 +11,5 @@
     skills: string[] | null,
 }) {
+    const {user} = useGlobalContext();
     const duration = [
         "< 3 hours",
@@ -86,10 +88,14 @@
             <h2 className="text-2xl font-medium">Filter by</h2>
             <div className="relative flex flex-col gap-12 pl-4 pr-2 pb-20 overflow-y-auto scrollable">
-                <FilterSelect
-                    header={"Favorite Courses"}
-                    options={["My favorites"]}
-                    handleFilter={() => {handleShowOnlyFavoritesChange()}}
-                    selectedOptions={filters.showOnlyFavoriteCourses ? ["My favorites"] : []}
-                />
+                {
+                    user && (
+                        <FilterSelect
+                            header={"Favorite Courses"}
+                            options={["My favorites"]}
+                            handleFilter={() => {handleShowOnlyFavoritesChange()}}
+                            selectedOptions={filters.showOnlyFavoriteCourses ? ["My favorites"] : []}
+                        />
+                    )
+                }
                 <FilterSelect
                     header={"Level"}
@@ -199,5 +205,5 @@
                     type="button"
                     onClick={() => setShowAll(!showAll)}
-                    className="w-fit underline cursor-pointer hover:bg-dark-blue/10 hover:text-shifter"
+                    className="p-2 rounded-sm w-fit underline cursor-pointer hover:bg-shifter/10 hover:text-shifter"
                 >
                     {showAll ? "Show less" : `Show ${filteredOptions.length - 4} more`}
Index: ontend/src/components/HeroProfile.tsx
===================================================================
--- frontend/src/components/HeroProfile.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ 	(revision )
@@ -1,71 +1,0 @@
-import {useGlobalContext} from "../context/GlobalContext.tsx";
-import {useCourseStorage} from "../context/CourseStorage.ts";
-
-function HeroProfile({selectedTab, setSelectedTab} : {
-    selectedTab: string;
-    setSelectedTab: (tab: string) => void;
-}) {
-    const {user} = useGlobalContext();
-    const {enrollments} = useCourseStorage();
-    console.log(user)
-    console.log(enrollments)
-
-    return (
-        <section className="flex flex-col gap-8 pt-40">
-            {/*USER INFO*/}
-            <div className="flex items-center justify-start gap-12 px-horizontal-lg">
-                <div className="w-40 h-60 bg-black/20 rounded-sm"/>
-                <div className="flex flex-col gap-2 items-start">
-                    <h1 className="text-4xl font-semibold">{user?.name}</h1>
-                    <span className="text-xl font-regular">{user?.workPosition} | {user?.companyType && (user.companyType.charAt(0) + user.companyType.toLowerCase().slice(1))}</span>
-                    <div className="flex gap-4">
-                        {
-                            user?.skills.map((skill, index) => (
-                                <span
-                                    key={index}
-                                    className="py-1 px-6 rounded-lg bg-black/40 text-white border-2 border-white/60"
-                                >
-                                    {
-                                        skill
-                                            .charAt(0).toUpperCase() + skill.slice(1).toLowerCase()
-                                    }
-                                </span>
-                            ))
-                        }
-                    </div>
-                </div>
-            </div>
-
-            {/*TAB NAVIGATION*/}
-            <ul className="flex gap-12 px-horizontal-lg">
-                <li
-                    onClick={() => setSelectedTab("myCourses")}
-                    className={`${selectedTab === "myCourses" && "border-b-2 border-shifter text-shifter"}
-                        text-lg font-semibold cursor-pointer py-1 px-4 text-black/40
-                    `}
-                >
-                    My Courses</li>
-                <li
-                    onClick={() => setSelectedTab("ratings")}
-                    className={`${selectedTab === "ratings" && "border-b-2 border-shifter text-shifter"}
-                        text-lg font-semibold cursor-pointer py-1 px-4 text-black/40
-                    `}
-                >Ratings</li>
-                <li
-                    onClick={() => setSelectedTab("profile")}
-                    className={`${selectedTab === "profile" && "border-b-2 border-shifter text-shifter"}
-                        text-lg font-semibold cursor-pointer py-1 px-4 text-black/40
-                    `}
-                >Profile</li>
-                <li
-                    onClick={() => setSelectedTab("settings")}
-                    className={`${selectedTab === "settings" && "border-b-2 border-shifter text-shifter"}
-                        text-lg font-semibold cursor-pointer py-1 px-4 text-black/40
-                    `}
-                >Settings</li>
-            </ul>
-        </section>
-    )
-}
-
-export default HeroProfile;
Index: frontend/src/components/ProfileInfo.tsx
===================================================================
--- frontend/src/components/ProfileInfo.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
+++ frontend/src/components/ProfileInfo.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -0,0 +1,31 @@
+import {useGlobalContext} from "../context/GlobalContext.tsx";
+
+function ProfileInfo() {
+    const {user} = useGlobalContext();
+    console.log(user)
+
+    return (
+        <section className="border-1 border-dark-blue/10 flex flex-col gap-6 items-center justify-center bg-white w-full rounded-xl p-8 ">
+
+            <div
+                className="border-3 border-white/40
+                rounded-full bg-black/60 w-1/2 aspect-square flex items-center justify-center text-white text-4xl font-bold"
+            >
+                {user?.name
+                    ?.split(/[\s_]+/)
+                    .map(word => word[0]?.toUpperCase())
+                    .join('')
+                }
+            </div>
+
+            <div className="flex flex-col gap-2">
+                <p className="text-3xl font-semibold">{user?.name}</p>
+                <p className="text-xl font-light">{user?.email}</p>
+            </div>
+
+
+        </section>
+    )
+}
+
+export default ProfileInfo;
Index: frontend/src/components/ProfileMyProfile.tsx
===================================================================
--- frontend/src/components/ProfileMyProfile.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
+++ frontend/src/components/ProfileMyProfile.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -0,0 +1,97 @@
+import {useGlobalContext} from "../context/GlobalContext.tsx";
+import React, {useState} from "react";
+import {updateUserApi} from "../api/userApi.ts";
+
+function ProfileMyProfile() {
+    const [loading, setLoading] = useState(false);
+    const {user, setUser, accessToken} = useGlobalContext();
+
+    const [formData, setFormData] = useState({
+        name: user?.name || "",
+        workPosition: user?.workPosition || "",
+        companyType: user?.companyType || ""
+    });
+
+    const handleSubmit = (e: React.FormEvent) => {
+        e.preventDefault();
+
+        setLoading(true);
+        updateUserApi(formData, accessToken || "")
+            .then(() => {
+                console.log("User updated successfully:");
+                setUser(prev => {
+                    if (!prev) return prev;
+                    return {
+                        ...prev,
+                        name: formData.name,
+                        workPosition: formData.workPosition,
+                        companyType: formData.companyType
+                    };
+                });
+
+            })
+            .catch(error => {
+                console.error("Error updating user:", error);
+            })
+            .finally(() => {
+                setLoading(false);
+            })
+    };
+
+    return (
+        <section className="flex flex-col gap-4 items-start">
+            <h2 className="text-3xl font-semibold">My Profile</h2>
+            <form
+                onSubmit={handleSubmit}
+                className="flex flex-col gap-6 px-24 py-6 border-1 border-dark-blue/10 bg-white rounded-lg w-full ">
+                <Input name={"name"} value={formData.name} func={setFormData} />
+                <Input name={"workPosition"} value={formData.workPosition} func={setFormData} />
+                <select
+                    className="hover:border-1 hover:border-shifter focus:outline-none focus:border-2 focus:border-shifter
+                border-1 border-black/40 rounded-sm py-2 px-4 text-lg text-black w-full cursor-pointer"
+                    name={"companyType"} value={formData.companyType}
+                    onChange={e => setFormData(prev => ({...prev, companyType: e.target.value}))}
+                >
+                    <option value="FREELANCE">Freelance</option>
+                    <option value="STARTUP">Start Up</option>
+                    <option value="SME">SME</option>
+                    <option value="MID_MARKET">Mid Market</option>
+                    <option value="ENTERPRISE">Enterprise</option>
+                    <option value="OTHER">Other</option>
+                </select>
+                <div className="flex gap-4 items-center">
+                    <button
+                        className="shadow-md shadow-shifter/30 hover:shadow-lg hover:shadow-shifter/50 transition-all duration-200 ease-in-out cursor-pointer
+                    bg-shifter px-12 py-2 w-fit text-white rounded-sm font-semibold border-2 border-white/40"
+                        type="submit">
+                        {loading ? "Saving..." : "Save Changes"}
+                    </button>
+                    {
+                        loading && (
+                            <div className="h-full loader"></div>
+                        )
+                    }
+                </div>
+            </form>
+        </section>
+    )
+}
+
+function Input({name, value, func}: {
+    name: string;
+    value: string;
+    func: React.Dispatch<React.SetStateAction<{ name: string; workPosition: string; companyType: string; }>>;
+}) {
+
+    return (
+        <input
+            className="hover:border-1 hover:border-shifter focus:outline-none focus:border-2 focus:border-shifter
+                border-1 border-black/40 rounded-sm py-2 px-4 text-lg text-black w-full"
+            value={value}
+            onChange={e => func(prev => ({...prev, [name]: e.target.value}))}
+            name={name}
+        />
+    )
+}
+
+export default ProfileMyProfile;
Index: frontend/src/components/ProfileSkills&Interests.tsx
===================================================================
--- frontend/src/components/ProfileSkills&Interests.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
+++ frontend/src/components/ProfileSkills&Interests.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -0,0 +1,43 @@
+import React from "react";
+
+function ProfileSkillsInterests({ title, pills }: {
+    title: string;
+    pills: string[];
+}) {
+    const [showAll, setShowAll] = React.useState(false);
+
+    const visiblePills = showAll ? pills : pills.slice(0, 4); // Show 6 by default
+
+    return (
+        <section className="flex flex-col gap-2 items-start w-full rounded-xl">
+            <h2 className="text-2xl font-semibold">{title}</h2>
+            <div className="flex gap-2 w-full flex-wrap border-1 border-dark-blue/10 bg-white rounded-lg p-4">
+                {
+                    visiblePills.map((pill, index) => (
+                        <span
+                            key={index}
+                            className="font-medium text-white px-4 py-1 bg-shifter/60 border-2 border-white/40 rounded-md"
+                        >
+                            {pill
+                                .toLowerCase()
+                                .replace(/_/g, " ")
+                                .replace(/\b\w/g, char => char.toUpperCase())
+                            }
+                        </span>
+                    ))
+                }
+
+                {pills.length > 4 && (
+                    <button
+                        onClick={() => setShowAll(prev => !prev)}
+                        className="p-2 rounded-sm underline hover:bg-shifter/10 hover:text-shifter cursor-pointer"
+                    >
+                        {showAll ? "Show less" : `Show ${pills.length - 4} more`}
+                    </button>
+                )}
+            </div>
+        </section>
+    );
+}
+
+export default ProfileSkillsInterests;
Index: frontend/src/components/registerSteps/RegisterStepFour.tsx
===================================================================
--- frontend/src/components/registerSteps/RegisterStepFour.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
+++ frontend/src/components/registerSteps/RegisterStepFour.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -0,0 +1,52 @@
+import React, {useEffect} from "react";
+import type {UserRegister} from "../../types/UserRegister.tsx";
+import RegisterSlider from "../inputs/RegisterSlider.tsx";
+import {fetchCoursesSkillsApi} from "../../api/courseApi.ts";
+
+function RegisterStepFour({setUser, user, setError}: {
+    setUser: React.Dispatch<React.SetStateAction<UserRegister>>,
+    user: UserRegister,
+    setError: React.Dispatch<React.SetStateAction<string>>,
+}){
+    const [skills, setSkills] = React.useState<string[]>([]);
+
+    useEffect(() => {
+        const fetchSkills = async () => {
+            try {
+                const skillsData = await fetchCoursesSkillsApi();
+                setSkills(skillsData);
+            } catch (err) {
+                console.error("Failed to fetch skills", err);
+            }
+        };
+
+        fetchSkills();
+    }, []);
+
+    useEffect(() => {
+        if (user.skillGap.length === 0) {
+            setError("We’d love to support your growth — select at least one skill you'd like to improve");
+        } else {
+            setError("");
+        }
+    }, [user.skillGap]);
+
+    return (
+        <section
+            className="flex flex-col gap-4 w-full">
+            {
+                skills.length > 0 &&
+                <RegisterSlider
+                    label={"Identify Skills Gap"}
+                    name={"skillGap"}
+                    id={"skills-gap"}
+                    options={skills}
+                    setUser={setUser}
+                    user={user}
+                />
+            }
+        </section>
+    )
+}
+
+export default RegisterStepFour;
Index: frontend/src/components/registerSteps/RegisterStepOne.tsx
===================================================================
--- frontend/src/components/registerSteps/RegisterStepOne.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
+++ frontend/src/components/registerSteps/RegisterStepOne.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -0,0 +1,70 @@
+import React, {useEffect} from "react";
+import type {UserRegister} from "../../types/UserRegister.tsx";
+import RegisterInput from "../inputs/RegisterInput.tsx";
+import {isValidEmail, hasUppercase, hasDigit, hasSpecialChar} from "../../utils/validation.ts";
+
+function RegisterStepOne({setUser, user, setError}: {
+    setUser: React.Dispatch<React.SetStateAction<UserRegister>>,
+    user: UserRegister,
+    setError: React.Dispatch<React.SetStateAction<string>>,
+}) {
+    const [showPassword, setShowPassword] = React.useState(false);
+
+    useEffect(() => {
+        if (!user.email || !user.password || !user.passwordConfirmation) {
+            setError("Please ensure all inputs are completed.");
+        } else if (user.email && !isValidEmail(user.email)) {
+            setError("Email must be valid");
+        } else if (user.password && user.passwordConfirmation && user.password !== user.passwordConfirmation) {
+            setError("Passwords do not match");
+        } else if (!hasUppercase(user.password)) {
+            setError("Password must contain at least one uppercase letter");
+        } else if (!hasDigit(user.password)) {
+            setError("Password must contain at least one digit");
+        } else if (!hasSpecialChar(user.password)) {
+            setError("Password must contain at least one special character");
+        } else {
+            setError("");
+        }
+
+    }, [user.email, user.password, user.passwordConfirmation])
+
+    return (
+        <section
+            className="flex flex-col gap-4 w-full items-center">
+            <RegisterInput
+                placeholder={"name@email.com"}
+                label={"Email address"}
+                name={"email"}
+                type={"email"}
+                id={"email"}
+                setUser={setUser}
+                user={user}
+            />
+            <RegisterInput
+                placeholder={"********"}
+                label={"Password"}
+                name={"password"}
+                type={"password"}
+                id={"password"}
+                showPassword={showPassword}
+                setShowPassword={setShowPassword}
+                setUser={setUser}
+                user={user}
+            />
+            <RegisterInput
+                placeholder={"********"}
+                label={"Confirm password"}
+                name={"passwordConfirmation"}
+                type={"password"}
+                id={"password-confirmation"}
+                showPassword={showPassword}
+                setShowPassword={setShowPassword}
+                setUser={setUser}
+                user={user}
+            />
+        </section>
+    );
+}
+
+export default RegisterStepOne;
Index: frontend/src/components/registerSteps/RegisterStepThree.tsx
===================================================================
--- frontend/src/components/registerSteps/RegisterStepThree.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
+++ frontend/src/components/registerSteps/RegisterStepThree.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -0,0 +1,53 @@
+import React, {useEffect} from "react";
+import type {UserRegister} from "../../types/UserRegister.tsx";
+import RegisterSlider from "../inputs/RegisterSlider.tsx";
+import {fetchCoursesTopicsApi} from "../../api/courseApi.ts";
+
+function RegisterStepThree({setUser, user, setError}: {
+    setUser: React.Dispatch<React.SetStateAction<UserRegister>>,
+    user: UserRegister,
+    setError: React.Dispatch<React.SetStateAction<string>>,
+}) {
+    const [interests, setInterests] = React.useState<string[]>([]);
+
+    useEffect(() => {
+        const fetchCourseTopics = async () => {
+            try {
+                const topicsData = await fetchCoursesTopicsApi();
+                setInterests(topicsData);
+            } catch (err) {
+                console.error("Failed to fetch course topics (user interests)", err);
+            }
+        };
+
+        fetchCourseTopics();
+    }, []);
+
+    useEffect(() => {
+        if (user.interests.length === 0) {
+            setError("Help us understand you better — pick at least one preference");
+        } else {
+            setError("");
+        }
+    }, [user.interests]);
+
+
+    return (
+        <section
+            className="flex flex-col gap-4 w-full items-center">
+            {
+                interests.length > 0 &&
+                <RegisterSlider
+                    label={"Pick Your Preferences"}
+                    name={"interests"}
+                    id={"interests"}
+                    options={interests}
+                    setUser={setUser}
+                    user={user}
+                />
+            }
+        </section>
+    )
+}
+
+export default RegisterStepThree;
Index: frontend/src/components/registerSteps/RegisterStepTwo.tsx
===================================================================
--- frontend/src/components/registerSteps/RegisterStepTwo.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
+++ frontend/src/components/registerSteps/RegisterStepTwo.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -0,0 +1,53 @@
+import React, {useEffect} from "react";
+import type {UserRegister} from "../../types/UserRegister.tsx";
+import RegisterInput from "../inputs/RegisterInput.tsx";
+import RegisterSelect from "../inputs/RegisterSelect.tsx";
+
+function RegisterStepTwo({setUser, user, setError}: {
+    setUser: React.Dispatch<React.SetStateAction<UserRegister>>,
+    user: UserRegister,
+    setError: React.Dispatch<React.SetStateAction<string>>,
+}) {
+
+    useEffect(() => {
+        if (!user.name || !user.workPosition || !user.companyType) {
+            setError("Please ensure all inputs are completed.");
+        } else {
+            setError("");
+        }
+    }, [user.name, user.workPosition, user.companyType]);
+
+    return (
+        <section
+            className="flex flex-col gap-4 w-full items-center">
+            <RegisterInput
+                placeholder={"John Doe"}
+                label={"Full Name"}
+                name={"name"}
+                type={"text"}
+                id={"full-name"}
+                setUser={setUser}
+                user={user}
+            />
+            <RegisterInput
+                placeholder={"Your Position"}
+                label={"Work Position"}
+                name={"workPosition"}
+                type={"text"}
+                id={"work-position"}
+                setUser={setUser}
+                user={user}
+            />
+            <RegisterSelect
+                label={"Company Type"}
+                name={"companyType"}
+                id={"company-type"}
+                options={["Freelance", "Startup", "SME", "Mid Market", "Enterprise", "Other"]}
+                setUser={setUser}
+                user={user}
+            />
+        </section>
+    );
+}
+
+export default RegisterStepTwo;
Index: frontend/src/components/skeletons/ProfileSkeleton.tsx
===================================================================
--- frontend/src/components/skeletons/ProfileSkeleton.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
+++ frontend/src/components/skeletons/ProfileSkeleton.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -0,0 +1,52 @@
+
+function ProfileSkeleton() {
+    return (
+        <main className="grid grid-cols-4 gap-x-12 py-vertical-lg pt-30 px-horizontal-md bg-dark-blue/5">
+            <div className="col-span-1 flex flex-col gap-6">
+                {/* ProfileInfo Skeleton */}
+                <section className="border-1 border-dark-blue/10 flex flex-col gap-6 items-center justify-center bg-white w-full rounded-xl p-8">
+                    {/* Avatar skeleton */}
+                    <div className="border-3 border-white/40 rounded-full bg-gray-300 w-1/2 aspect-square flex items-center justify-center animate-pulse"></div>
+
+                    {/* Name and email skeleton */}
+                    <div className="flex flex-col gap-2 w-full items-center">
+                        <div className="h-8 bg-gray-300 rounded w-4/5 animate-pulse"></div>
+                        <div className="h-6 bg-gray-300 rounded w-full animate-pulse"></div>
+                    </div>
+                </section>
+
+                {/* ProfileSkillsInterests Skeletons - 3 sections */}
+                {["Learned Skills", "Desired Skills", "Interests"].map((_, index) => (
+                    <section key={index} className="flex flex-col gap-2 items-start w-full rounded-xl">
+                        <div className="h-8 bg-gray-300 rounded w-32 animate-pulse"></div>
+                        <div className="flex gap-2 w-full flex-wrap border-1 border-dark-blue/10 bg-white rounded-lg p-4">
+                            {/* Skills pills skeleton */}
+                            {[...Array(4)].map((_, pillIndex) => (
+                                <div key={pillIndex} className="h-8 bg-gray-300 rounded-md w-20 animate-pulse"></div>
+                            ))}
+                            {/* Show more button skeleton */}
+                            <div className="h-8 bg-gray-300 rounded w-16 animate-pulse"></div>
+                        </div>
+                    </section>
+                ))}
+            </div>
+
+            <div className="col-span-3">
+                {/* ProfileMyProfile Skeleton */}
+                <section className="flex flex-col gap-4 items-start">
+                    <div className="h-10 bg-gray-300 rounded w-32 animate-pulse"></div>
+                    <div className="flex flex-col gap-6 px-24 py-6 border-1 border-dark-blue/10 bg-white rounded-lg w-full">
+                        {/* Form inputs skeleton */}
+                        {[...Array(3)].map((_, index) => (
+                            <div key={index} className="h-12 bg-gray-300 rounded-sm w-full animate-pulse"></div>
+                        ))}
+                        {/* Submit button skeleton */}
+                        <div className="h-10 bg-gray-300 rounded-sm w-32 animate-pulse"></div>
+                    </div>
+                </section>
+            </div>
+        </main>
+    );
+}
+
+export default ProfileSkeleton;
Index: ontend/src/components/steps/RegisterStepFive.tsx
===================================================================
--- frontend/src/components/steps/RegisterStepFive.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ 	(revision )
@@ -1,52 +1,0 @@
-import React, {useEffect} from "react";
-import type {UserRegister} from "../../types/UserRegister.tsx";
-import RegisterSlider from "../inputs/RegisterSlider.tsx";
-import {fetchCoursesSkillsApi} from "../../api/courseApi.ts";
-
-function RegisterStepFive({setUser, user, setError}: {
-    setUser: React.Dispatch<React.SetStateAction<UserRegister>>,
-    user: UserRegister,
-    setError: React.Dispatch<React.SetStateAction<string>>,
-}){
-    const [skills, setSkills] = React.useState<string[]>([]);
-
-    useEffect(() => {
-        const fetchSkills = async () => {
-            try {
-                const skillsData = await fetchCoursesSkillsApi();
-                setSkills(skillsData);
-            } catch (err) {
-                console.error("Failed to fetch skills", err);
-            }
-        };
-
-        fetchSkills();
-    }, []);
-
-    useEffect(() => {
-        if (user.skillsGap.length === 0) {
-            setError("We’d love to support your growth — select at least one skill you'd like to improve");
-        } else {
-            setError("");
-        }
-    }, [user.skillsGap]);
-
-    return (
-        <section
-            className="flex flex-col gap-4 w-full">
-            {
-                skills.length > 0 &&
-                <RegisterSlider
-                    label={"Identify Skills Gap"}
-                    name={"skillsGap"}
-                    id={"skills-gap"}
-                    options={skills}
-                    setUser={setUser}
-                    user={user}
-                />
-            }
-        </section>
-    )
-}
-
-export default RegisterStepFive;
Index: ontend/src/components/steps/RegisterStepFour.tsx
===================================================================
--- frontend/src/components/steps/RegisterStepFour.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ 	(revision )
@@ -1,53 +1,0 @@
-import React, {useEffect} from "react";
-import type {UserRegister} from "../../types/UserRegister.tsx";
-import RegisterSlider from "../inputs/RegisterSlider.tsx";
-import {fetchCoursesSkillsApi} from "../../api/courseApi.ts";
-
-function RegisterStepFour({setUser, user, setError}: {
-    setUser: React.Dispatch<React.SetStateAction<UserRegister>>,
-    user: UserRegister,
-    setError: React.Dispatch<React.SetStateAction<string>>,
-}) {
-    const [skills, setSkills] = React.useState<string[]>([]);
-
-    useEffect(() => {
-        const fetchSkills = async () => {
-            try {
-                const skillsData = await fetchCoursesSkillsApi();
-                setSkills(skillsData);
-            } catch (err) {
-                console.error("Failed to fetch skills", err);
-            }
-        };
-
-        fetchSkills();
-    }, []);
-
-    useEffect(() => {
-        if (user.skills.length === 0) {
-            setError("Tell us what you're great at — choose at least one strength");
-        } else {
-            setError("");
-        }
-    }, [user.skills]);
-
-
-    return (
-        <section
-            className="flex flex-col gap-4 w-full">
-            {
-                skills.length > 0 &&
-                <RegisterSlider
-                    label={"Identify Strengths"}
-                    name={"skills"}
-                    id={"skills"}
-                    options={skills}
-                    setUser={setUser}
-                    user={user}
-                />
-            }
-        </section>
-    )
-}
-
-export default RegisterStepFour;
Index: ontend/src/components/steps/RegisterStepOne.tsx
===================================================================
--- frontend/src/components/steps/RegisterStepOne.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ 	(revision )
@@ -1,70 +1,0 @@
-import React, {useEffect} from "react";
-import type {UserRegister} from "../../types/UserRegister.tsx";
-import RegisterInput from "../inputs/RegisterInput.tsx";
-import {isValidEmail, hasUppercase, hasDigit, hasSpecialChar} from "../../utils/validation.ts";
-
-function RegisterStepOne({setUser, user, setError}: {
-    setUser: React.Dispatch<React.SetStateAction<UserRegister>>,
-    user: UserRegister,
-    setError: React.Dispatch<React.SetStateAction<string>>,
-}) {
-    const [showPassword, setShowPassword] = React.useState(false);
-
-    useEffect(() => {
-        if (!user.email || !user.password || !user.passwordConfirmation) {
-            setError("Please ensure all inputs are completed.");
-        } else if (user.email && !isValidEmail(user.email)) {
-            setError("Email must be valid");
-        } else if (user.password && user.passwordConfirmation && user.password !== user.passwordConfirmation) {
-            setError("Passwords do not match");
-        } else if (!hasUppercase(user.password)) {
-            setError("Password must contain at least one uppercase letter");
-        } else if (!hasDigit(user.password)) {
-            setError("Password must contain at least one digit");
-        } else if (!hasSpecialChar(user.password)) {
-            setError("Password must contain at least one special character");
-        } else {
-            setError("");
-        }
-
-    }, [user.email, user.password, user.passwordConfirmation])
-
-    return (
-        <section
-            className="flex flex-col gap-4 w-full items-center">
-            <RegisterInput
-                placeholder={"name@email.com"}
-                label={"Email address"}
-                name={"email"}
-                type={"email"}
-                id={"email"}
-                setUser={setUser}
-                user={user}
-            />
-            <RegisterInput
-                placeholder={"********"}
-                label={"Password"}
-                name={"password"}
-                type={"password"}
-                id={"password"}
-                showPassword={showPassword}
-                setShowPassword={setShowPassword}
-                setUser={setUser}
-                user={user}
-            />
-            <RegisterInput
-                placeholder={"********"}
-                label={"Confirm password"}
-                name={"passwordConfirmation"}
-                type={"password"}
-                id={"password-confirmation"}
-                showPassword={showPassword}
-                setShowPassword={setShowPassword}
-                setUser={setUser}
-                user={user}
-            />
-        </section>
-    );
-}
-
-export default RegisterStepOne;
Index: ontend/src/components/steps/RegisterStepThree.tsx
===================================================================
--- frontend/src/components/steps/RegisterStepThree.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ 	(revision )
@@ -1,53 +1,0 @@
-import React, {useEffect} from "react";
-import type {UserRegister} from "../../types/UserRegister.tsx";
-import RegisterSlider from "../inputs/RegisterSlider.tsx";
-import {fetchCoursesTopicsApi} from "../../api/courseApi.ts";
-
-function RegisterStepThree({setUser, user, setError}: {
-    setUser: React.Dispatch<React.SetStateAction<UserRegister>>,
-    user: UserRegister,
-    setError: React.Dispatch<React.SetStateAction<string>>,
-}) {
-    const [interests, setInterests] = React.useState<string[]>([]);
-
-    useEffect(() => {
-        const fetchCourseTopics = async () => {
-            try {
-                const topicsData = await fetchCoursesTopicsApi();
-                setInterests(topicsData);
-            } catch (err) {
-                console.error("Failed to fetch course topics (user interests)", err);
-            }
-        };
-
-        fetchCourseTopics();
-    }, []);
-
-    useEffect(() => {
-        if (user.interests.length === 0) {
-            setError("Help us understand you better — pick at least one preference");
-        } else {
-            setError("");
-        }
-    }, [user.interests]);
-
-
-    return (
-        <section
-            className="flex flex-col gap-4 w-full items-center">
-            {
-                interests.length > 0 &&
-                <RegisterSlider
-                    label={"Pick Your Preferences"}
-                    name={"interests"}
-                    id={"interests"}
-                    options={interests}
-                    setUser={setUser}
-                    user={user}
-                />
-            }
-        </section>
-    )
-}
-
-export default RegisterStepThree;
Index: ontend/src/components/steps/RegisterStepTwo.tsx
===================================================================
--- frontend/src/components/steps/RegisterStepTwo.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ 	(revision )
@@ -1,53 +1,0 @@
-import React, {useEffect} from "react";
-import type {UserRegister} from "../../types/UserRegister.tsx";
-import RegisterInput from "../inputs/RegisterInput.tsx";
-import RegisterSelect from "../inputs/RegisterSelect.tsx";
-
-function RegisterStepTwo({setUser, user, setError}: {
-    setUser: React.Dispatch<React.SetStateAction<UserRegister>>,
-    user: UserRegister,
-    setError: React.Dispatch<React.SetStateAction<string>>,
-}) {
-
-    useEffect(() => {
-        if (!user.name || !user.workPosition || !user.companyType) {
-            setError("Please ensure all inputs are completed.");
-        } else {
-            setError("");
-        }
-    }, [user.name, user.workPosition, user.companyType]);
-
-    return (
-        <section
-            className="flex flex-col gap-4 w-full items-center">
-            <RegisterInput
-                placeholder={"John Doe"}
-                label={"Full Name"}
-                name={"name"}
-                type={"text"}
-                id={"full-name"}
-                setUser={setUser}
-                user={user}
-            />
-            <RegisterInput
-                placeholder={"Your Position"}
-                label={"Work Position"}
-                name={"workPosition"}
-                type={"text"}
-                id={"work-position"}
-                setUser={setUser}
-                user={user}
-            />
-            <RegisterSelect
-                label={"Company Type"}
-                name={"companyType"}
-                id={"company-type"}
-                options={["Freelance", "Startup", "SME", "Mid Market", "Enterprise", "Other"]}
-                setUser={setUser}
-                user={user}
-            />
-        </section>
-    );
-}
-
-export default RegisterStepTwo;
Index: frontend/src/context/GlobalContext.tsx
===================================================================
--- frontend/src/context/GlobalContext.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/context/GlobalContext.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -10,4 +10,5 @@
 import type {UserRegister} from "../types/UserRegister.tsx";
 import {loginApi, logoutApi, refreshAccessTokenApi, registerApi} from "../api/auth.ts";
+import {useNavigate} from "react-router-dom";
 
 interface GlobalContextType {
@@ -31,4 +32,5 @@
     const [accessToken, setAccessToken] = useState<string | null>(null);
     const [loading, setLoading] = useState(true);
+    const navigate = useNavigate();
 
     const register = async (user: UserRegister) => {
@@ -65,4 +67,5 @@
                 setAccessToken(null);
                 setUser(null);
+                navigate("/");
             })
             .catch(err => {
Index: frontend/src/layout/Footer.tsx
===================================================================
--- frontend/src/layout/Footer.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/layout/Footer.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -2,10 +2,9 @@
 import {Link} from "react-router-dom";
 import {useGlobalContext} from "../context/GlobalContext.tsx";
-import ShifterRocket from "../../public/Rocket-Blue.png"
 import LinkedIn from "../assets/icons/LinkedIn.tsx";
 import Instagram from "../assets/icons/Instagram.tsx";
 
 function Footer() {
-    const {user} = useGlobalContext();
+    const {user, logout} = useGlobalContext();
 
     return (
@@ -80,12 +79,8 @@
                                     </div>
                                     <div className="flex flex-col gap-0 overflow-clip group w-fit">
-                                        <Link to="/profile" className="transition-all
-                                duration-300 ease-in-out z-10">Favorite Courses</Link>
-                                        <hr className="relative -left-40 group-hover:-left-4 border-t-2
-                                rounded-full transition-all duration-300 ease-in-out"/>
-                                    </div>
-                                    <div className="flex flex-col gap-0 overflow-clip group w-fit">
-                                        <Link to="/profile" className="transition-all
-                                duration-300 ease-in-out z-10">My Courses</Link>
+                                        <button
+                                            onClick={logout}
+                                            className="transition-all
+                                duration-300 ease-in-out z-10 cursor-pointer">Log Out</button>
                                         <hr className="relative -left-30 group-hover:-left-4 border-t-2
                                 rounded-full transition-all duration-300 ease-in-out"/>
@@ -101,5 +96,26 @@
                         </section>
 
-                        {/*CONTAXT*/}
+                        {/*DASHBOARD*/}
+                        {
+                            user &&
+                            <section className="flex flex-col gap-2 text-left font-light text-lg">
+                                <h3 className="text-white font-bold text-2xl mb-4">Dashboard</h3>
+
+                                <div className="flex flex-col gap-0 overflow-clip group w-fit">
+                                    <Link to="/profile" className="transition-all
+                                duration-300 ease-in-out z-10">My Courses</Link>
+                                    <hr className="relative -left-30 group-hover:-left-4 border-t-2
+                                rounded-full transition-all duration-300 ease-in-out"/>
+                                </div>
+                                <div className="flex flex-col gap-0 overflow-clip group w-fit">
+                                    <Link to="/profile" className="transition-all
+                                duration-300 ease-in-out z-10">Favorite Courses</Link>
+                                    <hr className="relative -left-40 group-hover:-left-4 border-t-2
+                                rounded-full transition-all duration-300 ease-in-out"/>
+                                </div>
+                            </section>
+                        }
+
+                        {/*CONTACT*/}
                         <section className="flex flex-col gap-2 text-left font-light text-lg">
                             <h3 className="text-white font-bold text-2xl mb-4">Contact</h3>
Index: frontend/src/layout/Navbar.tsx
===================================================================
--- frontend/src/layout/Navbar.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/layout/Navbar.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -43,7 +43,5 @@
 
             {/* Right side icons and button */}
-            <div className="flex gap-20 text-lg items-center">
-                {/*<UserCircle className="w-10 h-auto "/>*/}
-                {/*<CircleUserRound size={40} strokeWidth={1.5}/>*/}
+            <div className="flex gap-12 text-lg items-center">
 
                 <div className="flex flex-col gap-0 overflow-clip p-1 group">
@@ -57,20 +55,29 @@
                         <>
                             <div className="flex flex-col gap-0 overflow-clip p-1 group">
-                                <Link to="/profile" className=" transition-all
-                    duration-300 ease-in-out z-10 cursor-pointer">Profile</Link>
+                                <Link to="/dashboard" className=" transition-all
+                                    duration-300 ease-in-out z-10 cursor-pointer">Dashboard</Link>
                                 <hr className="relative -left-30 group-hover:-left-4 border-t-2
-                     rounded-full transition-all duration-300 ease-in-out"/>
+                                    rounded-full transition-all duration-300 ease-in-out"/>
                             </div>
-                            <div onClick={logout}
-                                  className="hover:-translate-x-4 transition-all duration-200 ease-in-out cursor-pointer
-                      relative -mr-4 px-6 pr-9 py-2 bg-shifter rounded-l-lg font-medium
-                      shadow-md shadow-shifter/30"
-                            >Free Consultation</div>
+                            <div className="flex gap-6 items-center">
+                                <Link
+                                    to="/profile"
+                                    className="hover:bg-shifter transition-all duration-200 ease-in-out cursor-pointer
+                                    h-full aspect-square rounded-full border-2 border-white/20 p-3 bg-shifter/40 text-white font-bold flex items-center justify-center">
+                                    {user.name.split(" ")[0].charAt(0).toUpperCase()}
+                                </Link>
+                                <div onClick={logout}
+                                     className="hover:-translate-x-4 transition-all duration-200 ease-in-out cursor-pointer
+                                      relative -mr-4 px-6 pr-9 py-2 bg-shifter rounded-l-lg font-medium
+                                      shadow-md shadow-shifter/30"
+                                >Free Consultation
+                                </div>
+                            </div>
                         </>
                     ) : (
                         <Link to="/login"
                               className="hover:-translate-x-4 transition-all duration-200 ease-in-out cursor-pointer
-                      relative -mr-4 px-6 pr-9 py-2 bg-shifter rounded-l-lg font-medium
-                      shadow-md shadow-shifter/30"
+                              relative -mr-4 px-6 pr-9 py-2 bg-shifter rounded-l-lg font-medium
+                              shadow-md shadow-shifter/30"
                         >Login / Register</Link>
                     )
Index: frontend/src/main.tsx
===================================================================
--- frontend/src/main.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/main.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -4,10 +4,13 @@
 import App from './App.tsx'
 import {GlobalProvider} from "./context/GlobalContext.tsx";
+import {BrowserRouter} from "react-router-dom";
 
 createRoot(document.getElementById('root')!).render(
   <StrictMode>
-      <GlobalProvider>
-          <App />
-      </GlobalProvider>
+      <BrowserRouter>
+          <GlobalProvider>
+              <App />
+          </GlobalProvider>
+      </BrowserRouter>
   </StrictMode>,
 )
Index: frontend/src/pages/Profile.tsx
===================================================================
--- frontend/src/pages/Profile.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/pages/Profile.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -1,11 +1,27 @@
-import HeroProfile from "../components/HeroProfile.tsx";
-import {useState} from "react";
+import ProfileInfo from "../components/ProfileInfo.tsx";
+import ProfileSkillsInterests from "../components/ProfileSkills&Interests.tsx";
+import {useGlobalContext} from "../context/GlobalContext.tsx";
+import ProfileMyProfile from "../components/ProfileMyProfile.tsx";
+import ProfileSkeleton from "../components/skeletons/ProfileSkeleton.tsx";
 
 function Profile() {
-    const [selectedTab, setSelectedTab] = useState("myCourses");
+    const {user, loading} = useGlobalContext();
+
+    if (loading) {
+        return <ProfileSkeleton />;
+    }
 
     return (
-        <main>
-            <HeroProfile selectedTab={selectedTab} setSelectedTab={setSelectedTab}/>
+        <main className="grid grid-cols-4 gap-x-12 py-vertical-lg pt-30 px-horizontal-md bg-dark-blue/5">
+            <div className="col-span-1 flex flex-col gap-6">
+                <ProfileInfo />
+                {user?.skills && user.skills.length > 0 && (<ProfileSkillsInterests title="Learned Skills" pills={user?.skills || []} />)}
+                <ProfileSkillsInterests title="Desired Skills" pills={user?.skillGap || []} />
+                <ProfileSkillsInterests title="Interests" pills={user?.interests || []} />
+            </div>
+
+            <div className="col-span-3">
+                <ProfileMyProfile />
+            </div>
         </main>
     )
Index: frontend/src/pages/Register.tsx
===================================================================
--- frontend/src/pages/Register.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/pages/Register.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -12,9 +12,8 @@
 import {motion, AnimatePresence} from "framer-motion";
 import type {UserRegister} from "../types/UserRegister.tsx";
-import RegisterStepOne from "../components/steps/RegisterStepOne.tsx";
-import RegisterStepTwo from "../components/steps/RegisterStepTwo.tsx";
-import RegisterStepThree from "../components/steps/RegisterStepThree.tsx";
-import RegisterStepFour from "../components/steps/RegisterStepFour.tsx";
-import RegisterStepFive from "../components/steps/RegisterStepFive.tsx";
+import RegisterStepOne from "../components/registerSteps/RegisterStepOne.tsx";
+import RegisterStepTwo from "../components/registerSteps/RegisterStepTwo.tsx";
+import RegisterStepThree from "../components/registerSteps/RegisterStepThree.tsx";
+import RegisterStepFour from "../components/registerSteps/RegisterStepFour.tsx";
 import {useGlobalContext} from "../context/GlobalContext.tsx";
 import {isValidEmail} from "../utils/validation.ts";
@@ -37,6 +36,5 @@
         companyType: "",
         interests: [],
-        skills: [],
-        skillsGap: [],
+        skillGap: [],
     });
     const navigate = useNavigate();
@@ -123,6 +121,5 @@
         <RegisterStepTwo setUser={setUser} user={user} setError={setError} />,
         <RegisterStepThree setUser={setUser} user={user} setError={setError} />,
-        <RegisterStepFour setUser={setUser} user={user} setError={setError} />,
-        <RegisterStepFive setUser={setUser} user={user} setError={setError} />
+        <RegisterStepFour setUser={setUser} user={user} setError={setError} />
     ];
 
Index: frontend/src/types/SliderProps.tsx
===================================================================
--- frontend/src/types/SliderProps.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/types/SliderProps.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -2,5 +2,5 @@
 import type {UserRegister} from "./UserRegister.tsx";
 
-type UserArrayFields = 'interests' | 'skills' | 'skillsGap';
+type UserArrayFields = 'interests' | 'skills' | 'skillGap';
 export interface SliderProps {
     label: string;
Index: frontend/src/types/User.tsx
===================================================================
--- frontend/src/types/User.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/types/User.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -7,5 +7,5 @@
     interests: string[];
     skills: string[];
-    skillsGap: string[];
+    skillGap: string[];
     points: number;
     favoriteCourses: number[];
Index: frontend/src/types/UserRegister.tsx
===================================================================
--- frontend/src/types/UserRegister.tsx	(revision 3b9a2ae4985b4a733b21f6ff291fc8f9b242deaa)
+++ frontend/src/types/UserRegister.tsx	(revision 53ff2668ca572fbec7428abacd1ec28b5173f7fc)
@@ -7,5 +7,4 @@
     companyType: string;
     interests: string[];
-    skills: string[];
-    skillsGap: string[];
+    skillGap: string[];
 }
