diff --git a/application/locustfile.py b/application/locustfile.py
new file mode 100644
index 0000000000000000000000000000000000000000..afe710485ac4cba08fd88183381d1a63b80147aa
--- /dev/null
+++ b/application/locustfile.py
@@ -0,0 +1,88 @@
+import random
+from locust import HttpUser, task, between
+from locust.exception import StopUser
+
+
+
+class StudentActor(HttpUser):
+    wait_time = between(.250, .500)
+    weight = 1
+
+    course_ids = set()
+    lecture_ids = set()
+    student_ids = set()
+
+    @task(3)
+    def get_courses_english(self):
+        self.client.get('/courses/findAllByLang?lang=ENGLISH')
+
+    @task(3)
+    def get_courses_spanish(self):
+        self.client.get('/courses/findAllByLang?lang=SPANISH')
+
+
+    @task
+    def enrol(self):
+        self.client.get(f'http://localhost:5000/courses/enrol/{1}?studentId={1}')
+
+
+    @task
+    def get_lecture_by_id(self):
+        self.client.get(f'/lectures/findByCourse?courseId={1}')
+
+    def on_start(self):
+        # TODO auth
+        return super().on_start()
+
+class LecturerActor(HttpUser):
+    weight = 0
+    fixed_count = 1
+    wait_time = between(.100, .400)
+
+
+    courses_created = 0
+    lecture_created = 0
+    course_ids = set()
+
+    @task
+    def new_course(self):
+        if self.courses_created < 3:
+            self.client.headers['Content-Type'] = "application/json"
+            response = self.client.post("/courses", json=
+                {
+             "name": "string",
+                "capacity": 10,
+                "language": random.choice(["SPANISH", "ENGLISH"]),
+                "proficiency": random.choice(["A1", "B1", "C1"])
+             }
+            )
+            values = response.json()
+
+            print("course " + str(values['id']) + " created.")
+            self.course_ids.add(values['id'])
+            self.courses_created += 1
+
+    @task
+    def new_lecture(self):
+        if self.courses_created > 0 and self.lecture_created < 10:
+            self.client.headers['Content-Type'] = "application/json"
+            response = self.client.post("/lectures", json=
+                {
+                    "lectureFrom": "2024-04-26T18:06:30.658Z",
+                    "lectureTo": "2024-04-27T18:06:30.658Z",
+                    "topic": "string",
+                    "capacity": random.choice([10, 20, 30]),
+                    "courseId": random.choice(list(self.course_ids))
+                }
+            )
+
+            print("lecture " + str(response.json()['id']) + " created.")
+
+            self.lecture_created += 1
+        
+        if self.lecture_created >= 9:
+            raise StopUser()
+        
+    def on_start(self):
+        # TODO auth
+        return super().on_start()