diff --git a/frontend/src/lib/components/sessions/chatbox.svelte b/frontend/src/lib/components/sessions/chatbox.svelte
index 423e97c9ba27fa92bd7a0b764c9ccb2196e58d7c..6c20524f4be2c351e7f201c1fbd7a32ef8bde5d5 100644
--- a/frontend/src/lib/components/sessions/chatbox.svelte
+++ b/frontend/src/lib/components/sessions/chatbox.svelte
@@ -3,7 +3,8 @@
 	import Message from '$lib/types/message';
 	import type Session from '$lib/types/session';
 	import { onMount } from 'svelte';
-	import { get } from 'svelte/store';
+	import MessageC from './message.svelte';
+	import { Icon, PaperAirplane } from 'svelte-hero-icons';
 
 	let message = '';
 	export let session: Session;
@@ -26,32 +27,36 @@
 		message = '';
 		messages = session.messages;
 	}
+
+	function scrollToBottom(node: HTMLElement) {
+		node.scrollTop = node.scrollHeight;
+	}
 </script>
 
-<div id="mainbox">
-	<div id="chatbox">
+<div class="flex flex-col md:my-8 min-w-fit w-full max-w-4xl border-2">
+	<div class="flex-grow h-48 overflow-auto px-4 flex flex-col" use:scrollToBottom>
 		{#each messages.sort((a, b) => a.created_at.getTime() - b.created_at.getTime()) as message (message.id)}
-			{#if message.user === JWTSession.user()}
-				<div>You: {message.content}</div>
-			{:else}
-				<div>{message.user.username}: {message.content}</div>
-			{/if}
+			<MessageC {message} />
 		{/each}
 	</div>
-	<input
-		type="text"
-		id="chatinput"
-		placeholder="Send a message..."
-		bind:value={message}
-		on:keypress={async (e) => {
-			if (e.key === 'Enter') {
-				await sendMessage();
-			}
-		}}
-	/>
+	<div class="flex flex-row h-20 mt-2">
+		<textarea
+			class="flex-grow border-2 border-gray-300 rounded-md p-2 resize-none overflow-y-hidden"
+			placeholder="Send a message..."
+			bind:value={message}
+			on:keypress={async (e) => {
+				if (e.key === 'Enter' && !e.shiftKey) {
+					await sendMessage();
+				}
+			}}
+		/>
+		<button class="w-12 button rounded-md" on:click={sendMessage}>
+			<Icon src={PaperAirplane} />
+		</button>
+	</div>
 </div>
 
-<style lang="less">
+<!-- <style lang="less">
 	#mainbox {
 		display: flex;
 		flex-direction: column;
@@ -69,4 +74,4 @@
 	#chatinput {
 		height: 50px;
 	}
-</style>
+</style> -->
diff --git a/frontend/src/lib/components/sessions/editParticipants.svelte b/frontend/src/lib/components/sessions/editParticipants.svelte
index 71e2bf66a1a4be0db43c04d6c5491fe3d87e5bb4..e3656d01180cc7dcb7d687e5284f6d156bed3aa4 100644
--- a/frontend/src/lib/components/sessions/editParticipants.svelte
+++ b/frontend/src/lib/components/sessions/editParticipants.svelte
@@ -85,28 +85,3 @@
 		</table>
 	</div>
 </div>
-<!-- 
-<style lang="less">
-	.menu {
-		position: fixed;
-		top: 50%;
-		left: 50%;
-		transform: translate(-50%, -75%);
-		background-color: white;
-		padding: 20px;
-		border-radius: 10px;
-	}
-
-	#bg {
-		background-color: #000c;
-		position: fixed;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100%;
-	}
-
-	td {
-		min-width: 200px;
-	}
-</style> -->
diff --git a/frontend/src/lib/components/sessions/message.svelte b/frontend/src/lib/components/sessions/message.svelte
new file mode 100644
index 0000000000000000000000000000000000000000..ce47fa032531e2d46580c6296d0e247a1a30e223
--- /dev/null
+++ b/frontend/src/lib/components/sessions/message.svelte
@@ -0,0 +1,22 @@
+<script lang="ts">
+	import JWTSession from '$lib/stores/JWTSession';
+	import type Message from '$lib/types/message';
+
+	export let message: Message;
+
+	const isSender = message.user == JWTSession.user();
+</script>
+
+<div class="w-full flex" class:justify-end={isSender}>
+	<div
+		class="bg-gray-200 rounded-b-xl my-2 p-4 w-fit"
+		class:bg-blue-200={isSender}
+		class:rounded-tl-xl={isSender}
+		class:rounded-tr-xl={!isSender}
+	>
+		<div class="font-bold mb-1 capitalize">
+			{message.user.username}
+		</div>
+		<div class="max-w-3xl">{message.content}</div>
+	</div>
+</div>
diff --git a/frontend/src/routes/session/+page.svelte b/frontend/src/routes/session/+page.svelte
index f7400e745e116be186882a7105ab2d22c13cc1e6..f2b50f8bd625baf93d8142070143cd58aa6361ed 100644
--- a/frontend/src/routes/session/+page.svelte
+++ b/frontend/src/routes/session/+page.svelte
@@ -24,26 +24,11 @@
 	});
 </script>
 
-<div class="container">
+<div class="h-screen flex flex-col">
 	<Header />
 	{#if session}
-		<div class="vareas">
+		<div class="flex flex-row flex-grow justify-evenly">
 			<Chatbox {session} />
 		</div>
 	{/if}
 </div>
-
-<style lang="less">
-	.container {
-		display: flex;
-		flex-direction: column;
-		height: 100vh;
-	}
-
-	.vareas {
-		display: flex;
-		flex-direction: row;
-		flex-grow: 1;
-		justify-content: space-evenly;
-	}
-</style>