diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..ad85098
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,95 @@
+project('rded', ['c', 'cpp'],
+        version: '0.1', meson_version: '>=1.1.1',
+        default_options: [
+          'warning_level=3',
+          'werror=true',
+          'cpp_std=c++23',
+          'c_std=c18',
+        ])
+
+sources = [
+  'rded.cpp'
+]
+
+cpp = meson.get_compiler('cpp')
+phosphor_dbus_interfaces = dependency('phosphor-dbus-interfaces')
+sdbusplus = dependency('sdbusplus')
+sdeventplus = dependency('sdeventplus')
+stdplus = dependency('stdplus')
+phosphor_logging_dep = dependency('phosphor-logging')
+
+if cpp.has_header('nlohmann/json.hpp')
+  nlohmann_json = declare_dependency()
+else
+  nlohmann_json = dependency('nlohmann_json')
+endif
+
+if get_option('tests').allowed()
+  subdir('tests')
+endif
+
+libbej_dep = dependency('libbej')
+libpldm_dep = dependency('libpldm')
+
+headers = ['.']
+requester_inc = include_directories(headers)
+req_src = declare_dependency(include_directories:requester_inc)
+
+boost = dependency(
+  'boost',
+  version : '>=1.82.0',
+  required : false,
+  include_type: 'system'
+)
+
+if not boost.found()
+  boost = subproject('boost', required: true).get_variable('boost_dep')
+  boost = boost.as_system('system')
+endif
+
+boost_compile_args = [
+  '-DBOOST_ASIO_DISABLE_THREADS',
+  '-DBOOST_ALL_NO_LIB',
+  '-DBOOST_SYSTEM_NO_DEPRECATED',
+  '-DBOOST_ERROR_CODE_HEADER_ONLY',
+  '-DBOOST_COROUTINES_NO_DEPRECATION_WARNING',
+]
+
+boost_dep = declare_dependency(
+    dependencies: dependency('boost',
+    modules: ['coroutine', 'context'],
+    disabler: true,
+    required: false
+  ),
+  compile_args: boost_compile_args)
+
+deps = [
+  libpldm_dep,
+  libbej_dep,
+  boost_dep,
+  nlohmann_json,
+  phosphor_dbus_interfaces,
+  sdbusplus,
+  sdeventplus,
+  stdplus,
+  req_src,
+]
+
+executable(
+  'rded',
+  sources,
+  implicit_include_directories: false,
+  dependencies: deps,
+  install: true,
+  install_dir: get_option('bindir'))
+
+systemd_dep = dependency('systemd')
+if systemd_dep.found()
+  configure_file(
+    copy: true,
+    input: 'service_files/rded.service',
+    install: true,
+    install_dir: systemd_dep.get_variable('systemdsystemunitdir'),
+    output: 'rded1.service',
+  )
+endif
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..90486a6
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,2 @@
+option('tests', type: 'feature', description: 'Build tests', value: 'enabled')
+option('systemd', type: 'feature', description: 'Include systemd support', value: 'enabled')
diff --git a/rded.cpp b/rded.cpp
new file mode 100644
index 0000000..42f2d9b
--- /dev/null
+++ b/rded.cpp
@@ -0,0 +1,6 @@
+#include <iostream>
+int main()
+{
+    // TODO(@harshtya): Add RDE Code
+    return 0;
+}
diff --git a/service_files/rded.service b/service_files/rded.service
new file mode 100644
index 0000000..eb3af9b
--- /dev/null
+++ b/service_files/rded.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Phosphor RDE Daemon
+
+[Service]
+Type=simple
+Restart=always
+ExecStart=/usr/bin/rded
+
+[Install]
+WantedBy=multi-user.target
diff --git a/subprojects/boost.wrap b/subprojects/boost.wrap
new file mode 100644
index 0000000..2e6b7d1
--- /dev/null
+++ b/subprojects/boost.wrap
@@ -0,0 +1,9 @@
+[wrap-file]
+directory = boost-1.83.0
+
+source_url = https://github.com/boostorg/boost/releases/download/boost-1.83.0/boost-1.83.0.tar.gz
+source_hash = 0c6049764e80aa32754acd7d4f179fd5551d8172a83b71532ae093e7384e98da
+source_filename = 1_83_0.tar.gz
+
+[provide]
+boost = boost_dep
diff --git a/subprojects/libbej.wrap b/subprojects/libbej.wrap
new file mode 100644
index 0000000..4c03659
--- /dev/null
+++ b/subprojects/libbej.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+url = https://github.com/openbmc/libbej
+revision = HEAD
+
+[provide]
+libbej = libbej
diff --git a/subprojects/libpldm.wrap b/subprojects/libpldm.wrap
new file mode 100644
index 0000000..5c90142
--- /dev/null
+++ b/subprojects/libpldm.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+url = https://github.com/openbmc/libpldm.git
+revision = HEAD
+
+[provide]
+libpldm = libpldm_dep
diff --git a/subprojects/phosphor-dbus-interfaces.wrap b/subprojects/phosphor-dbus-interfaces.wrap
new file mode 100644
index 0000000..cb65be8
--- /dev/null
+++ b/subprojects/phosphor-dbus-interfaces.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+url = https://github.com/openbmc/phosphor-dbus-interfaces
+revision = HEAD
+
+[provide]
+phosphor-dbus-interfaces = phosphor_dbus_interfaces_dep
diff --git a/subprojects/phosphor-logging.wrap b/subprojects/phosphor-logging.wrap
new file mode 100644
index 0000000..71eee8b
--- /dev/null
+++ b/subprojects/phosphor-logging.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+url = https://github.com/openbmc/phosphor-logging.git
+revision = HEAD
+
+[provide]
+phosphor-logging = phosphor_logging_dep
diff --git a/subprojects/sdbusplus.wrap b/subprojects/sdbusplus.wrap
new file mode 100644
index 0000000..7b076d0
--- /dev/null
+++ b/subprojects/sdbusplus.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+url = https://github.com/openbmc/sdbusplus.git
+revision = HEAD
+
+[provide]
+sdbusplus = sdbusplus_dep
diff --git a/subprojects/sdeventplus.wrap b/subprojects/sdeventplus.wrap
new file mode 100644
index 0000000..f871ac0
--- /dev/null
+++ b/subprojects/sdeventplus.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+url = https://github.com/openbmc/sdeventplus.git
+revision = HEAD
+
+[provide]
+sdeventplus = sdeventplus_dep
diff --git a/subprojects/stdplus.wrap b/subprojects/stdplus.wrap
new file mode 100644
index 0000000..2f8a5f4
--- /dev/null
+++ b/subprojects/stdplus.wrap
@@ -0,0 +1,6 @@
+[wrap-git]
+url = https://github.com/openbmc/stdplus.git
+revision = HEAD
+
+[provide]
+stdplus = stdplus_dep
diff --git a/tests/meson.build b/tests/meson.build
new file mode 100644
index 0000000..446256e
--- /dev/null
+++ b/tests/meson.build
@@ -0,0 +1,30 @@
+gtest = dependency('gtest', main: true, disabler: true, required: false)
+gmock = dependency('gmock', disabler: true, required: false)
+if not gtest.found() or not gmock.found()
+    gtest_proj = import('cmake').subproject('googletest', required: false)
+    if gtest_proj.found()
+        gtest = declare_dependency(
+            dependencies: [
+                dependency('threads'),
+                gtest_proj.dependency('gtest'),
+                gtest_proj.dependency('gtest_main'),
+            ]
+        )
+        gmock = gtest_proj.dependency('gmock')
+    else
+        assert(
+            not get_option('tests').enabled(),
+            'Googletest is required if tests are enabled'
+        )
+    endif
+endif
+
+test(
+    'test_utils',
+    executable(
+        'test_utils',
+        'rde_test.cpp',
+        dependencies: [gtest],
+        implicit_include_directories: false,
+    )
+)
diff --git a/tests/rde_test.cpp b/tests/rde_test.cpp
new file mode 100644
index 0000000..1ad6631
--- /dev/null
+++ b/tests/rde_test.cpp
@@ -0,0 +1,7 @@
+#include <gtest/gtest.h>
+
+TEST(DummyTest, DummyTest)
+{
+    // TODO(@harshtya): Add tests for RDE
+    EXPECT_TRUE(true);
+}
