diff --git a/README.md b/README.md
index 1717303dd2..ca49a74f76 100644
--- a/README.md
+++ b/README.md
@@ -27,6 +27,7 @@ What npmx offers:
## Shortcuts
- [chat.npmx.dev](https://chat.npmx.dev) - Discord Server
+- [build.npmx.dev](https://build.npmx.dev) - Builders Discord Server
- [social.npmx.dev](https://social.npmx.dev) - Bluesky Profile
- [repo.npmx.dev](https://repo.npmx.dev) - GitHub Repository
- [issues.npmx.dev](https://issues.npmx.dev) - GitHub Issues
diff --git a/app/components/AppFooter.vue b/app/components/AppFooter.vue
index 49fcdf3a78..d89d3cf3d3 100644
--- a/app/components/AppFooter.vue
+++ b/app/components/AppFooter.vue
@@ -4,6 +4,7 @@ import { NPMX_DOCS_SITE } from '#shared/utils/constants'
const route = useRoute()
const isHome = computed(() => route.name === 'index')
+const discord = useDiscordLink()
const modalRef = useTemplateRef('modalRef')
const showModal = () => modalRef.value?.showModal?.()
const closeModal = () => modalRef.value?.close?.()
@@ -124,8 +125,8 @@ const closeModal = () => modalRef.value?.close?.()
{{ $t('footer.social') }}
-
- {{ $t('footer.chat') }}
+
+ {{ discord.label }}
diff --git a/app/components/AppHeader.vue b/app/components/AppHeader.vue
index 18801fca35..5febbd6fa7 100644
--- a/app/components/AppHeader.vue
+++ b/app/components/AppHeader.vue
@@ -5,6 +5,7 @@ import { isEditableElement } from '~/utils/input'
import { NPMX_DOCS_SITE } from '#shared/utils/constants'
const keyboardShortcuts = useKeyboardShortcuts()
+const discord = useDiscordLink()
withDefaults(
defineProps<{
@@ -122,8 +123,8 @@ const mobileLinks = computed(() => [
},
{
name: 'Chat',
- label: $t('footer.chat'),
- href: 'https://chat.npmx.dev',
+ label: discord.value.label,
+ href: discord.value.url,
target: '_blank',
type: 'link',
external: true,
diff --git a/app/components/CallToAction.vue b/app/components/CallToAction.vue
index 8ed0f0c158..ba79780c9e 100644
--- a/app/components/CallToAction.vue
+++ b/app/components/CallToAction.vue
@@ -1,4 +1,5 @@