diff --git a/frontend/src/routes/tutor/+layout.server.ts b/frontend/src/routes/tutor/+layout.server.ts
index 742f936e9ed4f60fe8fe0aa7e1955c5d8d9cd00f..ac1f4a4c1241dfd45e0394325ff3ca2bc2a8abd7 100644
--- a/frontend/src/routes/tutor/+layout.server.ts
+++ b/frontend/src/routes/tutor/+layout.server.ts
@@ -8,8 +8,10 @@ export const load: ServerLoad = async ({ locals, url }) => {
 		redirect(303, '/login');
 	}
 
-	const user = JSON.parse(locals.user);
+	// const user = JSON.parse(locals.user);
+	const user = typeof locals.user === 'string' ? JSON.parse(locals.user) : locals.user;
+	console.log('Parsed user: ', user);
 	if (user == null || user == undefined || user.type > 1) {
 		error(403, 'Forbidden');
 	}
-};
+};
\ No newline at end of file
diff --git a/frontend/src/routes/tutor/register/+page.svelte b/frontend/src/routes/tutor/register/+page.svelte
index 82b3f07754538ad47776a9ec530f365e05a46d29..209bfa3fa2bee666a80bf3aa52f38b282a779b75 100644
--- a/frontend/src/routes/tutor/register/+page.svelte
+++ b/frontend/src/routes/tutor/register/+page.svelte
@@ -5,7 +5,7 @@
 	import { onMount } from 'svelte';
 	import Timeslots from '$lib/components/users/timeslots.svelte';
 	import User from '$lib/types/user';
-	import { getUsersAPI, patchUserAPI, getUserContactsAPI } from '$lib/api/users';
+	import { getUsersAPI, patchUserAPI, getUserContactsAPI,  createUserAPI} from '$lib/api/users';
 	import { Icon, Envelope, Key, UserCircle, Calendar, QuestionMarkCircle } from 'svelte-hero-icons';
 	import Typingtest from '$lib/components/tests/typingtest.svelte';
 	import { formatToUTCDate } from '$lib/utils/date';
@@ -54,44 +54,57 @@
 	let timeslots = 0n;
 
 	async function onRegister() {
-		if (nickname == '' || email == '' || password == '' || confirmPassword == '') {
-			message = $t('register.error.emptyFields');
-			return;
-		}
-		if (password.length < 8) {
-			message = $t('register.error.passwordRules');
-			return;
-		}
-		if (password != confirmPassword) {
-			message = $t('register.error.differentPasswords');
-			return;
-		}
-		const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
-		if (!emailRegex.test(email)) {
-			message = $t('register.error.emailRules');
-			return;
-		}
-		message = '';
-
-		const registerRes = await registerAPI(email, password, nickname, true);
-
-		if (registerRes !== 'OK') {
-			message = registerRes;
+    // Basic validation
+    if (nickname == '' || email == '' || password == '' || confirmPassword == '') {
+        message = $t('register.error.emptyFields');
+        return;
+    }
+    if (password.length < 8) {
+        message = $t('register.error.passwordRules');
+        return;
+    }
+    if (password != confirmPassword) {
+        message = $t('register.error.differentPasswords');
+        return;
+    }
+    const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
+    if (!emailRegex.test(email)) {
+        message = $t('register.error.emailRules');
+        return;
+    }
+    message = '';
+
+    try {
+        const response = await fetch('http://127.0.0.1:8000/tmp-api/v1/auth/register', {
+            method: 'POST',
+            headers: {
+                'Content-Type': 'application/json',
+                'Accept': 'application/json'
+            },
+            body: JSON.stringify({
+                email,
+                password,
+                nickname,
+                is_tutor: true
+            })
+        });
+
+        if (response.status === 201) {
+            const userId = await response.text(); 
+            console.log('User created successfully with ID:', userId);
+            message = $t('register.success');
 			return;
-		}
+        } else {
+            const errorData = await response.json();
+            console.error('Registration failed:', errorData);
+            message = errorData.detail || $t('register.error.generic');
+        }
+    } catch (error) {
+        console.error('Error during registration:', error);
+        message = $t('register.error.generic');
+    }
+}
 
-		const loginRes = await loginAPI(email, password);
-
-		if (loginRes !== 'OK') {
-			toastAlert('Failed to login: ' + loginRes);
-			document.location.href = '/login';
-			return;
-		}
-
-		document.location.href = '/tutor/register';
-
-		message = 'OK';
-	}
 
 	async function onData() {
 		const user_id = user.id;