Personal portfolio + blog for Robin Dhiman (senior web engineer, e-commerce focus).
Personal repo. Code is public for reference. This repository does not accept external contributions — Issues, Discussions, and Wiki are disabled, and Pull Requests will be closed without review (typo-fix exceptions occasionally welcome).
Stack: Next.js 16 · TypeScript · Tailwind CSS v4 · MDX · Shiki · next-themes
Design system: Playful Geometric — warm cream base, violet/pink/amber/mint accents, hard "pop" shadows, sticker cards.
npm install
npm run devOpen http://localhost:3000.
- Create a new file at
content/blog/your-post-slug.mdx - Add frontmatter:
---
title: "Your post title"
description: "Short summary for SEO and the blog index."
date: "2026-04-19"
readTime: "6 min"
tags: ["Magento 2", "PHP"]
---
Your markdown here. Code fences with language get full syntax highlighting via Shiki at build time.- Save. The post appears on
/blogautomatically and at/blog/your-post-slug.
- Push this repo to GitHub:
gh repo create iamrobindhiman/portfolio --public --source=. --push - Go to vercel.com/new, import the repo, deploy — no config needed.
- Add your custom domain in Vercel → Settings → Domains.
Set metadataBase in app/layout.tsx to your final production URL.
app/ # App Router pages (home, blog index, [slug], sitemap, robots)
components/
layout/ # Nav, Footer
ui/ # PopButton, StickerCard
ThemeProvider.tsx # next-themes wrapper
ThemeToggle.tsx # Sun/Moon toggle
content/blog/ # MDX blog posts
lib/posts.ts # MDX frontmatter reader
app/globals.css # Design tokens + .prose reading-mode styles
- The bottom two work cards on the home page (headless rebuild, WooCommerce optimisation) are placeholder copy — replace with real case studies when ready.
Content under content/ © Robin Dhiman. Code under MIT.