Skip to main content

Website Convex Admin

A tour of the custom admin powering this site — built on Next.js, Convex, and Clerk. Screenshots of every major tab.

A Convex-backed admin for this site

This portfolio is a Next.js app on Vercel with a custom admin powered by Convex for the database and Clerk for auth. Everything content-shaped — page headers, SEO metadata, projects, clients, blog posts, conferences, navigation, redirects — is editable from the dashboard and reflected live without a redeploy. The admin route itself is gated and hidden from the public footer.

Screenshots below show each major area.

Dashboard Overview

A 12-tab admin built on Convex for live, type-safe edits. Sidebar navigation, sticky sub-sections, and toast notifications throughout. Auth gated by Clerk.

SEO & Title Manager

Edit per-page meta titles, descriptions, canonical URLs, and OG images. Live SEO score with validation feedback. Powers the metadata returned by every Next.js generateMetadata call.

Pages & Menu

Reorder header and footer navigation, edit page banners, and update breadcrumb labels — all reflected on the public site within seconds via Convex live queries.

Settings — Profile, Data, Redirects, Site Health

Bio and avatar editing, a reseed runner for every Convex table (Profile / SEO / Page Headers / Projects / Clients / Blog Posts / Navigation / Conferences / Browser Links / Career Timeline), a CRUD UI for runtime redirects served by middleware, and a quick-view of sitemap + robots.txt.

Media Manager

UploadThing-backed asset library. Drag-and-drop uploads, preview, copy URL, and delete. Used by Projects, Conferences, and Blog Posts tabs.

Content Tabs — Projects, Clients, Career, Conferences

Headless-CMS-style editors for everything that's not a static page: app projects, website portfolio, client logos, career timeline entries, and conference notes by year.