diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 4e13e3a1c452e0e97d99c377e68346647b98bf29..b1ebf64b9fe992deb895ddc51ed974b0777477c6 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -8,9 +8,10 @@
         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
         <outputRelativeToContentRoot value="true" />
         <module name="autograde-service" />
+        <module name="autograde-submission-manager" />
         <module name="demo-scala-jgrade" />
+        <module name="registry-client" />
         <module name="demo-java-jgrade" />
-        <module name="autograde-submission-manager" />
         <module name="autograde-client-java" />
         <module name="demo-kotlin-jgrade" />
       </profile>
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index 49957cc3a0bd6df4557d7b67a3916dbe71f35842..c26d58d0cb42fcf93c4155d8226bd4e876f1cb23 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -3,6 +3,8 @@
   <component name="Encoding">
     <file url="file://$PROJECT_DIR$/autograde-client-java/src/main/java" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/autograde-client-java/src/main/resources" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/autograde-libraries/registry-client/src/main/java" charset="UTF-8" />
+    <file url="file://$PROJECT_DIR$/autograde-libraries/registry-client/src/main/resources" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/autograde-service/src/main/java" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/autograde-submission-manager/src/main/java" charset="UTF-8" />
     <file url="file://$PROJECT_DIR$/autograde-submission-manager/src/main/resources" charset="UTF-8" />
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 4eb6c427411fe0f684848065c54800b64a5697da..7b443a854cfbdbd6ca76bcb0c6f75723c2824bc3 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -14,10 +14,11 @@
         <option value="$PROJECT_DIR$/test-images/demo-scala-jgrade/pom.xml" />
         <option value="$PROJECT_DIR$/test-images/demo-kotlin-jgrade/pom.xml" />
         <option value="$PROJECT_DIR$/test-images/demo-java-jgrade/pom.xml" />
+        <option value="$PROJECT_DIR$/autograde-libraries/registry-client/pom.xml" />
       </list>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/out" />
   </component>
 </project>
\ No newline at end of file
diff --git a/autograde-libraries/registry-client/pom.xml b/autograde-libraries/registry-client/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0d266bc1bd0c310138b09a36da8245ca69815c64
--- /dev/null
+++ b/autograde-libraries/registry-client/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>ch.epfl.autograde</groupId>
+    <artifactId>registry-client</artifactId>
+    <version>0.1.0-SNAPSHOT</version>
+
+    <properties>
+        <maven.compiler.source>21</maven.compiler.source>
+        <maven.compiler.target>21</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+</project>
\ No newline at end of file
diff --git a/autograde-libraries/registry-client/src/main/java/ch/epfl/autograde/registry/RegistryClient.java b/autograde-libraries/registry-client/src/main/java/ch/epfl/autograde/registry/RegistryClient.java
new file mode 100644
index 0000000000000000000000000000000000000000..5d798a6c0a3ce24ac07085e9cf4b1d84564999f4
--- /dev/null
+++ b/autograde-libraries/registry-client/src/main/java/ch/epfl/autograde/registry/RegistryClient.java
@@ -0,0 +1,5 @@
+package ch.epfl.autograde.registry;
+
+public interface RegistryClient {
+
+}
diff --git a/autograde-libraries/registry-client/src/main/java/ch/epfl/autograde/registry/RegistryClientImpl.java b/autograde-libraries/registry-client/src/main/java/ch/epfl/autograde/registry/RegistryClientImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..d09529cb0e8e1627d4c417852351b38363947aee
--- /dev/null
+++ b/autograde-libraries/registry-client/src/main/java/ch/epfl/autograde/registry/RegistryClientImpl.java
@@ -0,0 +1,5 @@
+package ch.epfl.autograde.registry;
+
+public class RegistryClientImpl implements RegistryClient {
+
+}