Index: frontend/src/components/Sidebar.tsx
===================================================================
--- frontend/src/components/Sidebar.tsx	(revision 8675f753d9112b6cb048c0ac8229113e26a4db35)
+++ frontend/src/components/Sidebar.tsx	(revision 8ccb07eaee0e86c4db97ef4fa7b747503a6fc43d)
@@ -97,5 +97,4 @@
 							<div
 								key={song.id}
-								onClick={() => navigate(`/songs/${song.id}`)}
 								className="flex items-center gap-3 p-2 rounded-lg hover:bg-white/5 cursor-pointer transition-colors group relative"
 							>
@@ -109,10 +108,47 @@
 								/>
 								<div className="flex-1 min-w-0">
-									<p className="text-sm font-medium text-white truncate">
+									<p
+										onClick={() => navigate(`/songs/${song.id}`)}
+										className="text-sm font-medium text-white truncate hover:underline cursor-pointer"
+									>
 										{song.title}
 									</p>
-									<p className="text-xs text-gray-400 truncate">
-										{song.artist}
-									</p>
+									<div className="flex items-center gap-1 text-xs text-gray-400">
+										<span
+											onClick={(e) => {
+												e.stopPropagation();
+												if (song.artistUsername) {
+													navigate(`/users/${song.artistUsername}`);
+												}
+											}}
+											className={`truncate ${
+												song.artistUsername
+													? "hover:underline cursor-pointer hover:text-white"
+													: ""
+											}`}
+										>
+											{song.artist}
+										</span>
+										{song.album && (
+											<>
+												<span>•</span>
+												<span
+													onClick={(e) => {
+														e.stopPropagation();
+														if (song.albumId) {
+															navigate(`/collection/album/${song.albumId}`);
+														}
+													}}
+													className={`truncate ${
+														song.albumId
+															? "hover:underline cursor-pointer hover:text-white"
+															: ""
+													}`}
+												>
+													{song.album}
+												</span>
+											</>
+										)}
+									</div>
 								</div>
 								{song.link && (
Index: frontend/src/components/search/AlbumResult.tsx
===================================================================
--- frontend/src/components/search/AlbumResult.tsx	(revision 8675f753d9112b6cb048c0ac8229113e26a4db35)
+++ frontend/src/components/search/AlbumResult.tsx	(revision 8ccb07eaee0e86c4db97ef4fa7b747503a6fc43d)
@@ -1,2 +1,3 @@
+import { useNavigate } from "react-router-dom";
 import type { Album } from "../../utils/types";
 
@@ -6,6 +7,11 @@
 
 const AlbumResult = ({ album }: AlbumResultProps) => {
+	const navigate = useNavigate();
+
 	return (
-		<div className="flex items-center gap-4 p-3 rounded-lg hover:bg-white/5 cursor-pointer transition-colors group">
+		<div
+			onClick={() => navigate(`/collection/album/${album.id}`)}
+			className="flex items-center gap-4 p-3 rounded-lg hover:bg-white/5 cursor-pointer transition-colors group"
+		>
 			<img
 				src={album.cover || "/favicon.png"}
Index: frontend/src/components/search/UserResult.tsx
===================================================================
--- frontend/src/components/search/UserResult.tsx	(revision 8675f753d9112b6cb048c0ac8229113e26a4db35)
+++ frontend/src/components/search/UserResult.tsx	(revision 8ccb07eaee0e86c4db97ef4fa7b747503a6fc43d)
@@ -1,2 +1,3 @@
+import { useNavigate } from "react-router-dom";
 import { baseURL } from "../../api/axiosInstance";
 import type { BaseNonAdminUser } from "../../utils/types";
@@ -8,6 +9,11 @@
 
 const UserResult = ({ user, label }: UserResultProps) => {
+	const navigate = useNavigate();
+
 	return (
-		<div className="flex items-center gap-4 p-3 rounded-lg hover:bg-white/5 cursor-pointer transition-colors group">
+		<div
+			onClick={() => navigate(`/users/${user.username}`)}
+			className="flex items-center gap-4 p-3 rounded-lg hover:bg-white/5 cursor-pointer transition-colors group"
+		>
 			{user.profilePhoto ? (
 				<img
Index: frontend/src/pages/LandingPage.tsx
===================================================================
--- frontend/src/pages/LandingPage.tsx	(revision 8675f753d9112b6cb048c0ac8229113e26a4db35)
+++ frontend/src/pages/LandingPage.tsx	(revision 8ccb07eaee0e86c4db97ef4fa7b747503a6fc43d)
@@ -417,8 +417,34 @@
 														{song.title}
 													</h3>
-													<p className="text-sm text-gray-400 mb-3 overflow-hidden text-ellipsis whitespace-nowrap">
-														{song.album}
-													</p>
-													<p className="text-sm text-gray-400 mb-3 overflow-hidden text-ellipsis whitespace-nowrap">
+													{song.album && (
+														<p
+															onClick={(e) => {
+																e.stopPropagation();
+																if (song.albumId) {
+																	navigate(`/collection/album/${song.albumId}`);
+																}
+															}}
+															className={`text-sm text-gray-400 mb-3 overflow-hidden text-ellipsis whitespace-nowrap ${
+																song.albumId
+																	? "hover:underline cursor-pointer hover:text-white"
+																	: ""
+															}`}
+														>
+															{song.album}
+														</p>
+													)}
+													<p
+														onClick={(e) => {
+															e.stopPropagation();
+															if (song.artistUsername) {
+																navigate(`/users/${song.artistUsername}`);
+															}
+														}}
+														className={`text-sm text-gray-400 mb-3 overflow-hidden text-ellipsis whitespace-nowrap ${
+															song.artistUsername
+																? "hover:underline cursor-pointer hover:text-white"
+																: ""
+														}`}
+													>
 														{song.releasedBy}
 													</p>
Index: frontend/src/utils/types.ts
===================================================================
--- frontend/src/utils/types.ts	(revision 8675f753d9112b6cb048c0ac8229113e26a4db35)
+++ frontend/src/utils/types.ts	(revision 8ccb07eaee0e86c4db97ef4fa7b747503a6fc43d)
@@ -22,4 +22,5 @@
 	type: string;
 	releasedBy: string;
+	artistUsername?: string;
 	cover?: string | null;
 	isLikedByCurrentUser?: boolean;
@@ -29,4 +30,5 @@
 	type: "SONG";
 	album?: string;
+	albumId?: number;
 	link?: string;
 }
@@ -92,6 +94,9 @@
 	title: string;
 	artist: string;
+	artistUsername?: string;
 	cover?: string;
 	link?: string;
+	album?: string;
+	albumId?: number;
 }
 
