diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 655bd83aaf..f855a51952 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -14,3 +14,4 @@ endif()
 if (ENABLE_QT)
     add_subdirectory(citra_qt)
 endif()
+add_subdirectory(web_service)
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index ea09819e5e..72233877b0 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -386,5 +386,5 @@ set(HEADERS
 
 create_directory_groups(${SRCS} ${HEADERS})
 add_library(core STATIC ${SRCS} ${HEADERS})
-target_link_libraries(core PUBLIC common PRIVATE audio_core video_core)
+target_link_libraries(core PUBLIC common PRIVATE audio_core video_core web_service)
 target_link_libraries(core PUBLIC Boost::boost PRIVATE cryptopp dynarmic fmt)
diff --git a/src/web_service/CMakeLists.txt b/src/web_service/CMakeLists.txt
new file mode 100644
index 0000000000..334d82a8ab
--- /dev/null
+++ b/src/web_service/CMakeLists.txt
@@ -0,0 +1,14 @@
+set(SRCS
+            telemetry_json.cpp
+            web_backend.cpp
+            )
+
+set(HEADERS
+            telemetry_json.h
+            web_backend.h
+            )
+
+create_directory_groups(${SRCS} ${HEADERS})
+
+add_library(web_service STATIC ${SRCS} ${HEADERS})
+target_link_libraries(web_service PUBLIC common cpr json-headers)
diff --git a/src/web_service/telemetry_json.cpp b/src/web_service/telemetry_json.cpp
new file mode 100644
index 0000000000..68e092699a
--- /dev/null
+++ b/src/web_service/telemetry_json.cpp
@@ -0,0 +1,9 @@
+// Copyright 2017 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "web_service/telemetry_json.h"
+
+namespace WebService {
+
+} // namespace WebService
diff --git a/src/web_service/telemetry_json.h b/src/web_service/telemetry_json.h
new file mode 100644
index 0000000000..1f2e08f54b
--- /dev/null
+++ b/src/web_service/telemetry_json.h
@@ -0,0 +1,9 @@
+// Copyright 2017 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+namespace WebService {
+
+} // namespace WebService
diff --git a/src/web_service/web_backend.cpp b/src/web_service/web_backend.cpp
new file mode 100644
index 0000000000..c7bd8a38a0
--- /dev/null
+++ b/src/web_service/web_backend.cpp
@@ -0,0 +1,9 @@
+// Copyright 2017 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "web_service/web_backend.h"
+
+namespace WebService {
+
+} // namespace WebService
diff --git a/src/web_service/web_backend.h b/src/web_service/web_backend.h
new file mode 100644
index 0000000000..1f2e08f54b
--- /dev/null
+++ b/src/web_service/web_backend.h
@@ -0,0 +1,9 @@
+// Copyright 2017 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+namespace WebService {
+
+} // namespace WebService