diff --git a/src/helpers/navigation.ts b/src/helpers/navigation.ts
index 94a67abb5f309a5ed45201c3df214bc190ba9d8d..5b5e3da1dcf78cbd081b578628c15b1a177130d0 100644
--- a/src/helpers/navigation.ts
+++ b/src/helpers/navigation.ts
@@ -23,11 +23,11 @@ export const NAVIGATION_HEADER = [
     name: 'Join',
     isButton: true,
   },
-//  {
-//    to: 'https://whyhive.co',
-//    name: 'Why Hive?',
-//    isButton: true,
- // },
+  //  {
+  //    to: 'https://whyhive.co',
+  //    name: 'Why Hive?',
+  //    isButton: true,
+  // },
 ]
 
 /**
@@ -52,10 +52,10 @@ export const NAVIGATION_FOOTER = [
       to: 'about-contributors',
       name: 'Contributors',
     },
-    //{
+    // {
     //  to: 'about-updates',
     //  name: 'Updates',
-    //},
+    // },
 
     {
       to: 'https://hive.blog/@hiveio',
@@ -80,6 +80,10 @@ export const NAVIGATION_FOOTER = [
       to: 'eco',
       name: 'Ecosystem',
     },
+    {
+      to: 'roadmap',
+      name: 'Roadmap',
+    },
     {
       to: 'hbd',
       name: 'Hive Dollar (HBD)',
@@ -92,10 +96,10 @@ export const NAVIGATION_FOOTER = [
       to: 'https://hiveblocks.com/witnesses',
       name: 'Governance',
     },
-  //  {
-  //     to: 'https://whyhive.co/',
-  //     name: 'Why Hive',
-  //  },
+    //  {
+    //     to: 'https://whyhive.co/',
+    //     name: 'Why Hive',
+    //  },
     /* {
       to: 'eco',
       name: 'dApps Statistics'
@@ -121,9 +125,9 @@ export const NAVIGATION_FOOTER = [
       name: 'Whitepaper',
     },
     {
-     to: 'https://hive.blue/docs/technical-vision.pdf',
+      to: 'https://hive.blue/docs/technical-vision.pdf',
       name: 'Technical Vision',
-   },
+    },
     {
       to: 'https://github.com/openhive-network/hive',
       name: 'GitHub',
@@ -140,6 +144,10 @@ export const ABOUT_NAVIGATION = [
     to: 'about',
     text: 'About Hive',
   },
-  {to: 'about-contributors', text: 'Contributors'},
-//  {to: 'about-updates', text: 'Updates'},
+  {
+    to: 'roadmap',
+    text: 'Roadmap',
+  },
+  { to: 'about-contributors', text: 'Contributors' },
+  //  {to: 'about-updates', text: 'Updates'},
 ]
diff --git a/src/helpers/var.ts b/src/helpers/var.ts
index 655b789376e923b823ab8816f22f5208b84e0782..b444dd9f5d9ad8eebd6c93d8b8e826a19518e6a3 100644
--- a/src/helpers/var.ts
+++ b/src/helpers/var.ts
@@ -10,7 +10,7 @@ export * from './updates'
 
 export const INFOBAR = {
   show: true,
-  //date: '2020-09-10T00:00:00.000Z',
+  // date: '2020-09-10T00:00:00.000Z',
   date: '2020-09-10T00:00:00+00:00',
   url: 'https://hivefe.st',
   // If empty, only url is used
diff --git a/src/pages/about.vue b/src/pages/about.vue
index b6fac5504550682d9ad9b334be1d2dd1e4c42b68..a96e3947ba1d47431e14d73e555737aebcaaad33 100644
--- a/src/pages/about.vue
+++ b/src/pages/about.vue
@@ -48,6 +48,91 @@
           </div>
         </div>
       </div>
+      <!-- Roadmap -->
+      <div v-if="$route.name === 'roadmap'" class="about__first roadmap">
+        <h2 class="about__title">
+          Roadmap
+        </h2>
+        <p class="about__text">Almost all core development updates are posted on Hive
+          <a href="https://hive.blog/@blocktrades/posts" target="_blank" rel="nofollow noopener noreferrer">@blocktrades</a>
+        </p>
+        <div class="about__feature">
+          <h3 class="about__feature__text">Q3 2024</h3>
+          <h4>
+            <ul>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                Light weight blockchain nodes with very low storage/cpu/memory requirements
+              </li>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                Increase performance/scalability of Hive API nodes via improvements to the Hive Application Framework (HAF) and the core Hive API apps
+              </li>
+            </ul>
+          </h4>
+        </div>
+
+        <div class="about__feature">
+          <h3 class="about__feature__text">
+            Q4 2024
+          </h3>
+          <h4>
+            <ul>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                Define new Hive APIs using HAF technology: Lite accounts API (accounts re-usable across the 2nd layer ecosystem), 2nd layer transaction API, 2nd layer smart contract API, Block Explorer API
+              </li>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                Complete rewrite of Condenser with newest web technologies
+              </li>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                Reputation tracker API
+              </li>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                Wax, A new extensible multi-language API library for Hive (Typescript, Python, C++)
+              </li>
+            </ul>
+          </h4>
+        </div>
+
+        <div class="about__feature">
+          <h3 class="about__feature__text">
+            Q1 2025
+          </h3>
+          <h4>
+            <ul>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                Release block explorer UI for deployment by all Hive API Nodes
+              </li>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                New REST-based Hive APIs
+              </li>
+            </ul>
+          </h4>
+        </div>
+        <div class="about__feature">
+          <h3 class="about__feature__text">
+            Q2 2025
+          </h3>
+          <h4>
+            <ul>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                Interactive OpenAPI documentation for Hive APIs (via swagger)
+              </li>
+              <li>
+                <input id="find" type="checkbox" disabled/>
+                Clive, a new cli and text-based wallet for high security accounts
+              </li>
+            </ul>
+          </h4>
+        </div>
+      </div>
       <Updates v-if="$route.name === 'about-updates'" />
       <Contributors v-if="$route.name === 'about-contributors'" />
     </div>
@@ -69,6 +154,13 @@ export default defineComponent({
 </script>
 
 <style lang="scss" scoped>
+.roadmap ul {
+    list-style-type: none;
+}
+.roadmap li {
+  margin-bottom: 15px;
+}
+
 .about {
   display: flex;
   align-items: center;
diff --git a/src/router.js b/src/router.js
index 9154a81e590501023535f2a888fec9009d0f2b90..a3a7ba7269c9bd33538dd7669b55395570d3730b 100644
--- a/src/router.js
+++ b/src/router.js
@@ -8,8 +8,9 @@ const About = () => import('./pages/about.vue').then((m) => m.default || m)
 const Brand = () => import('./pages/brand.vue').then((m) => m.default || m)
 const Eco = () => import('./pages/eco.vue').then((m) => m.default || m)
 const Wallets = () => import('./pages/wallets.vue').then((m) => m.default || m)
-const Developers = () => import('./pages/developers.vue').then((m) => m.default || m)
-const Hbd = () => import( './pages/hbd.vue' ).then( ( m ) => m.default || m )
+const Developers = () =>
+  import('./pages/developers.vue').then((m) => m.default || m)
+const Hbd = () => import('./pages/hbd.vue').then((m) => m.default || m)
 
 export const createRouter = () => {
   const router = new Router({
@@ -21,61 +22,67 @@ export const createRouter = () => {
         path: '/',
         component: Index,
         name: 'index',
-        meta: {}
+        meta: {},
       },
       {
         path: '/about',
         component: About,
         name: 'about',
-        meta: {}
+        meta: {},
       },
       {
         path: '/updates',
         component: About,
         name: 'about-updates',
-        meta: {}
+        meta: {},
       },
       {
         path: '/contributors',
         component: About,
         name: 'about-contributors',
-        meta: {}
+        meta: {},
       },
       {
         path: '/brand',
         component: Brand,
         name: 'brand',
-        meta: {}
+        meta: {},
       },
       {
         path: '/eco',
         component: Eco,
         name: 'eco',
-        meta: { keepPosition: true, thresholdPosition: 800 }
+        meta: {keepPosition: true, thresholdPosition: 800},
       },
       {
         path: '/eco/:app',
         component: Eco,
         name: 'eco-app',
-        meta: { keepPosition: true, thresholdPosition: 800 }
+        meta: {keepPosition: true, thresholdPosition: 800},
       },
       {
         path: '/wallets',
         component: Wallets,
         name: 'wallets',
-        meta: {}
+        meta: {},
       },
       {
         path: '/developers',
         component: Developers,
         name: 'developers',
-        meta: {}
+        meta: {},
       },
       {
         path: '/hbd',
         component: Hbd,
         name: 'hbd',
-        meta: {}
+        meta: {},
+      },
+      {
+        path: '/roadmap',
+        component: About,
+        name: 'roadmap',
+        meta: {},
       },
     ],
     fallback: true,
@@ -108,7 +115,7 @@ if (process.client) {
   }
 }
 
-const scrollBehavior = function (to, from, savedPosition) {
+const scrollBehavior = function(to, from, savedPosition) {
   // if the returned position is falsy or an empty object,
   // will retain current scroll position.
   let position = false
@@ -120,7 +127,11 @@ const scrollBehavior = function (to, from, savedPosition) {
   ) {
     // console.log('Resetting position to 0', to)
     // scroll to the top of the page
-    if (!to.meta.thresholdPosition || window.pageYOffset > to.meta.thresholdPosition) position = { x: 0, y: 0 }
+    if (
+      !to.meta.thresholdPosition ||
+      window.pageYOffset > to.meta.thresholdPosition
+    )
+      position = {x: 0, y: 0}
   }
 
   // console.log('saved position', savedPosition)
@@ -137,15 +148,18 @@ const scrollBehavior = function (to, from, savedPosition) {
       // coords will be used if no selector is provided,
       // or if the selector didn't match any element.
       if (to.hash) {
-        let { hash } = to
+        let {hash} = to
         // CSS.escape() is not supported with IE and Edge.
-        if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') {
+        if (
+          typeof window.CSS !== 'undefined' &&
+          typeof window.CSS.escape !== 'undefined'
+        ) {
           hash = `#${window.CSS.escape(hash.substr(1))}`
         }
         try {
           if (document.querySelector(hash)) {
             // scroll to anchor by returning the selector
-            position = { selector: hash }
+            position = {selector: hash}
           }
         } catch (e) {
           // eslint-disable-next-line no-console