diff --git a/docker-compose.yaml b/docker-compose.yaml
index 73738a46c6d92b7d7efd49ff379fd3970bb1cede..a6850b339a5de7fe54c782d518c017c7c4d91041 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -42,10 +42,10 @@ services:
     container_name: languagelab-frontend-dev
     image: registry.forge.uclouvain.be/sbibauw/languagelab:frontend-dev
     environment:
-      - VITE_API_URL=https://beta.dev.languagelab.be/tmp-api
-      - VITE_API_PROXY=https://beta.dev.languagelab.be/tmp-api
-      - VITE_APP_URL=https://beta.dev.languagelab.be
-      - VITE_WS_URL=wss://beta.dev.languagelab.be/tmp-api/v1/ws
+      - PUBLIC_API_URL=https://beta.dev.languagelab.be/tmp-api
+      - PUBLIC_API_PROXY=https://beta.dev.languagelab.be/tmp-api
+      - PUBLIC_APP_URL=https://beta.dev.languagelab.be
+      - PUBLIC_WS_URL=wss://beta.dev.languagelab.be/tmp-api/v1/ws
     volumes:
       - /etc/timezone:/etc/timezone:ro
       - /etc/localtime:/etc/localtime:ro
diff --git a/frontend/package.json b/frontend/package.json
index f0a6699c0906ebda811bc04399f5a5c11e28fc23..4592643118dc2540462e20d18dde8cbd5fffb411 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -3,7 +3,7 @@
 	"version": "0.0.1",
 	"private": true,
 	"scripts": {
-		"dev": "VITE_API_URL=http://127.0.0.1:8000/tmp-api VITE_APP_URL=http://127.0.0.1:5173 VITE_WS_URL=ws://127.0.0.1:8000/tmp-api/v1/ws vite dev --host 127.0.0.1",
+		"dev": "PUBLIC_API_URL=http://127.0.0.1:8000/tmp-api PUBLIC_APP_URL=http://127.0.0.1:5173 PUBLIC_WS_URL=ws://127.0.0.1:8000/tmp-api/v1/ws vite dev --host 127.0.0.1",
 		"build": "vite build",
 		"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
 		"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
diff --git a/frontend/src/lib/config.ts b/frontend/src/lib/config.ts
index 84a563901c4d30a1ce19c7083299010bfd4109bf..3d0e49fdab09cd09d04f7d0cc49dd905b1c9fbe4 100644
--- a/frontend/src/lib/config.ts
+++ b/frontend/src/lib/config.ts
@@ -1,8 +1,15 @@
+import {
+	PUBLIC_API_URL,
+	PUBLIC_API_PROXY,
+	PUBLIC_APP_URL,
+	PUBLIC_WS_URL
+} from '$env/static/public';
+
 export default {
-	API_URL: import.meta.env.VITE_API_URL || 'https://languagelab.be/tmp-api',
-	API_PROXY: import.meta.env.VITE_API_PROXY || 'https://languagelab.be/tmp-api',
-	APP_URL: import.meta.env.VITE_APP_URL || 'https://languagelab.be',
-	WS_URL: import.meta.env.VITE_WS_URL || 'wss://languagelab.be/tmp-api/v1/ws',
+	API_URL: PUBLIC_API_URL || 'https://languagelab.be/tmp-api',
+	API_PROXY: PUBLIC_API_PROXY || 'https://languagelab.be/tmp-api',
+	APP_URL: PUBLIC_APP_URL || 'https://languagelab.be',
+	WS_URL: PUBLIC_WS_URL || 'wss://languagelab.be/tmp-api/v1/ws',
 	// 1 week - 2 hours
 	WEEKLY_SURVEY_INTERVAL: (7 * 24 - 2) * 60 * 60 * 1000,
 	LEARNING_LANGUAGES: {
diff --git a/frontend/src/types.d.ts b/frontend/src/types.d.ts
new file mode 100644
index 0000000000000000000000000000000000000000..970eb1bdc17f023284a5f6e290aed8a1563a35e9
--- /dev/null
+++ b/frontend/src/types.d.ts
@@ -0,0 +1,6 @@
+declare module '$env/static/public' {
+	export const PUBLIC_API_URL: string;
+	export const PUBLIC_API_PROXY: string;
+	export const PUBLIC_APP_URL: string;
+	export const PUBLIC_WS_URL: string;
+}
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
index a76f2ab5f34f065df0bc5571047c14c0788ac7b8..a9380f396de462c9a0717adf8f2587b2486cdb5e 100644
--- a/frontend/tsconfig.json
+++ b/frontend/tsconfig.json
@@ -15,6 +15,6 @@
 		"module": "ESNext",
 		"isolatedModules": true
 	},
-	"include": ["src/**/*", "global.d.ts"],
+	"include": ["src/**/*", "global.d.ts", ".svelte-kit/ambient.d.ts"],
 	"exclude": ["node_modules", ".svelte-kit/*", "build/*"]
 }