Index: backend/auth_form/serializers.py
===================================================================
--- backend/auth_form/serializers.py	(revision a093d1480fff0c444ba3d0de99f6cbec417c2ae4)
+++ backend/auth_form/serializers.py	(revision 6c9bf97b4986e12c987a7cfbd605047904726369)
@@ -85,5 +85,4 @@
         rep = super().to_representation(instance)
         rep['passed_subjects'] = [subject.id for subject in instance.passed_subjects.all()]
-        all_subject_ids = [subj_id for subjects in (instance.passed_subjects_per_semester or {}).values() for subj_id in subjects]
         rep['passed_subjects_per_semester'] = {
             str(sem): [ subj_id for subj_id in subjects]
Index: backend/subjects/consts.py
===================================================================
--- backend/subjects/consts.py	(revision a093d1480fff0c444ba3d0de99f6cbec417c2ae4)
+++ backend/subjects/consts.py	(revision 6c9bf97b4986e12c987a7cfbd605047904726369)
@@ -13,14 +13,3 @@
 }
 
-# WEIGHTS = {
-#     "professors": 0.065,
-#     "assistants": 0,
-#     "technologies": 0.065,
-#     "tags": 0.4,
-#     "evaluation": 0.15, 
-#     "effort": 0.3,
-#     "activated": 0.01,
-#     "participant_score": 0.01,
-# }
-
 NUMBER_OF_SUGGESTIONS = 6
Index: backend/subjects/utils.py
===================================================================
--- backend/subjects/utils.py	(revision a093d1480fff0c444ba3d0de99f6cbec417c2ae4)
+++ backend/subjects/utils.py	(revision 6c9bf97b4986e12c987a7cfbd605047904726369)
@@ -25,5 +25,5 @@
 def get_recommendations_cache_key(student, season, not_activated):
     passed_subjects_hash = hash(tuple(sorted(student.passed_subjects.values_list('id', flat=True))))
-    cache_key = (f"student_{student.id}_season_{season}_not_activated{not_activated}_effort_{student.study_effort}"
+    cache_key = (f"student_{student.id}_season_{season}_not_activated_{not_activated}_effort_{student.study_effort}"
                  f"_year_{student.current_year}_passed_{passed_subjects_hash}")
     return cache_key
@@ -72,5 +72,5 @@
     if not_activated == 0:
         all_subjects = all_subjects.filter(subject_info__activated=True)
-        
+
     if season == 0:
         all_subjects = all_subjects.exclude(subject_info__season='W')
Index: frontend/src/api/formdata.ts
===================================================================
--- frontend/src/api/formdata.ts	(revision 6c9bf97b4986e12c987a7cfbd605047904726369)
+++ frontend/src/api/formdata.ts	(revision 6c9bf97b4986e12c987a7cfbd605047904726369)
@@ -0,0 +1,20 @@
+import { toast } from "react-toastify";
+import { StudentData } from "../components/types";
+import axiosInstance from "./axiosInstance";
+
+export const fetchFormData = async (
+	token: string,
+	setFormData: (data: StudentData | null) => void
+) => {
+	try {
+		const response = await axiosInstance.get<StudentData>("/auth/form/", {
+			headers: { Authorization: `Bearer ${token}` },
+		});
+		setFormData(response.data);
+	} catch (error) {
+		console.error("Could not fetch user form data", error);
+		if ((error as any).response?.status !== 401) {
+			toast.error("Could not load form data.");
+		}
+	}
+};
Index: frontend/src/components/StudentForm/StudentForm.tsx
===================================================================
--- frontend/src/components/StudentForm/StudentForm.tsx	(revision a093d1480fff0c444ba3d0de99f6cbec417c2ae4)
+++ frontend/src/components/StudentForm/StudentForm.tsx	(revision 6c9bf97b4986e12c987a7cfbd605047904726369)
@@ -1,6 +1,6 @@
 import { isAxiosError } from "axios";
 import { useCallback, useEffect, useState } from "react";
-import { toast } from "react-toastify";
 import axiosInstance from "../../api/axiosInstance";
+import { fetchFormData } from "../../api/formdata";
 import { fetchSubjects } from "../../api/subjects";
 import {
@@ -140,20 +140,7 @@
 			fetchSubjects({ setSubjects });
 		}
-		const fetchFormData = async (token: string) => {
-			try {
-				const response = await axiosInstance.get<StudentData>("/auth/form/", {
-					headers: { Authorization: `Bearer ${token}` },
-				});
-				setFormData(response.data);
-			} catch (error) {
-				console.error("Could not fetch user form data", error);
-				if ((error as any).response?.status !== 401) {
-					toast.error("Could not load form data.");
-				}
-			}
-		};
 		const token = localStorage.getItem("access");
-		if (token) {
-			fetchFormData(token);
+		if (token && !formData) {
+			fetchFormData(token, setFormData);
 		}
 	}, []);
