diff --git a/frontend/src/app/community/layout.tsx b/frontend/src/app/community/layout.tsx
new file mode 100644
index 0000000000..7729190f14
--- /dev/null
+++ b/frontend/src/app/community/layout.tsx
@@ -0,0 +1,8 @@
+import React from 'react'
+import { getStaticMetadata } from 'utils/metaconfig'
+
+export const metadata = getStaticMetadata('community', '/community')
+
+export default function CommunityLayout({ children }: { children: React.ReactNode }) {
+ return children
+}
diff --git a/frontend/src/app/community/page.tsx b/frontend/src/app/community/page.tsx
new file mode 100644
index 0000000000..d864cd6b2a
--- /dev/null
+++ b/frontend/src/app/community/page.tsx
@@ -0,0 +1,251 @@
+'use client'
+
+import { useQuery } from '@apollo/client/react'
+import millify from 'millify'
+import Link from 'next/link'
+import { FaMapMarkerAlt } from 'react-icons/fa'
+import {
+ FaBuilding,
+ FaChevronRight,
+ FaFolder,
+ FaHandshakeAngle,
+ FaPeopleGroup,
+ FaUsers,
+ FaTag,
+} from 'react-icons/fa6'
+import { HiUserGroup } from 'react-icons/hi'
+import { IconWrapper } from 'wrappers/IconWrapper'
+import { GetCommunityPageDataDocument } from 'types/__generated__/communityQueries.generated'
+import AnchorTitle from 'components/AnchorTitle'
+import ContributorsList from 'components/ContributorsList'
+import LoadingSpinner from 'components/LoadingSpinner'
+import Release from 'components/Release'
+import SecondaryCard from 'components/SecondaryCard'
+
+const NAV_SECTIONS = [
+ {
+ title: 'Chapters',
+ description: 'Find local OWASP chapters and connect with your community.',
+ href: '/chapters',
+ icon: FaMapMarkerAlt,
+ color: 'text-gray-900 dark:text-gray-100',
+ },
+ {
+ title: 'Projects',
+ description: 'Explore open-source security projects and contribute.',
+ href: '/projects',
+ icon: FaFolder,
+ color: 'text-gray-900 dark:text-gray-100',
+ },
+ {
+ title: 'Committees',
+ description: 'OWASP committees driving security governance.',
+ href: '/committees',
+ icon: FaPeopleGroup,
+ color: 'text-gray-900 dark:text-gray-100',
+ },
+ {
+ title: 'Organizations',
+ description: 'Browse OWASP organizations and their work.',
+ href: '/organizations',
+ icon: FaBuilding,
+ color: 'text-gray-900 dark:text-gray-100',
+ },
+ {
+ title: 'Members',
+ description: 'Meet the people behind OWASP.',
+ href: '/members',
+ icon: FaUsers,
+ color: 'text-gray-900 dark:text-gray-100',
+ },
+ {
+ title: 'Contribute',
+ description: 'Find issues and start contributing today.',
+ href: '/contribute',
+ icon: FaHandshakeAngle,
+ color: 'text-gray-900 dark:text-gray-100',
+ },
+]
+
+const CommunityPage = () => {
+ const { data, loading, error } = useQuery(GetCommunityPageDataDocument, {
+ variables: {
+ distinct: true,
+ },
+ })
+
+ if (loading) return
+ Your gateway into the OWASP community — explore chapters, projects, and people. +
++ {section.description} +
++ {stat.label} +
++ Latest updates from across the OWASP ecosystem. +
+Want to get more involved?
+