Portfolio Platform
This site itself. A Next.js 16 dashboard with multi-theme system, RBAC navigation, and Clerk auth.
Problem
Most portfolio sites are static HTML pages. Building a fully interactive platform that demonstrates real engineering skill — authentication, protected routes, data persistence, themeing — requires a full-stack approach.
Solution
Forked from next-shadcn-dashboard-starter and reconfigured as a portfolio platform. Features six OKLCH themes, client-side RBAC navigation filtering, parallel dashboard routes, and Supabase backend.
Tech Stack
Next.js 16shadcn/uiClerkTailwind CSS v4TypeScript
Code
providers.tsx
// Theme-aware Clerk provider
'use client';
import { ClerkProvider } from '@clerk/nextjs';
import { dark } from '@clerk/themes';
import { useTheme } from 'next-themes';
export function Providers({ children }) {
const { resolvedTheme } = useTheme();
return (
<ClerkProvider
appearance={{
baseTheme: resolvedTheme === 'dark' ? dark : undefined,
}}
>
{children}
</ClerkProvider>
);
}