Skip to content

whoisjayd/jaydeepsolanki.me

Repository files navigation

jaydeepsolanki.me

Jaydeep Solanki's personal portfolio, writing archive, project notes, and current-context site.

Live site Next.js 16 React 19 TypeScript Bun Vercel License Visitor badge


This repository powers jaydeepsolanki.me: a fast, content-first personal site built with local MDX, typed content data, restrained UI, strong SEO defaults, and Vercel deployment.

It is intentionally small: no CMS, no database, and no backend service. Public issues are welcome for suggestions, ideas, or bug reports.

What is inside

  • Portfolio home for selected work, writing, social links, and current context.
  • Writing archive powered by local MDX under src/content/writing.
  • Project notes powered by local MDX under src/content/projects.
  • Structured personal pages for favorites, now, and someday lists.
  • SEO surface with metadata helpers, sitemap, robots, manifest, structured data, and dynamic OG images.
  • Analytics hooks for Umami, Vercel Analytics, and Vercel Speed Insights.
  • Tailwind CSS 4 visual system with custom tokens and readable editorial layouts.

Stack

Next.js 16 App Router
React 19
TypeScript
Bun
Tailwind CSS 4
MDX
Vercel

Repository map

.
├── public/               static assets and content media
├── scripts/              validation scripts
├── src/
│   ├── app/              App Router routes, layouts, metadata, API routes
│   ├── components/       shared UI, layout, analytics, and feature components
│   ├── content/          writing, projects, favorites, now, someday
│   ├── lib/              content loading, routes, SEO, site config, utilities
│   └── types/            ambient type declarations
├── AGENTS.md             internal maintenance guide for agents
├── README.md             public repository overview
└── vercel.json           Vercel project config

Run locally

bun install
bun run dev

Open http://localhost:3000.

Environment

The site works without required local secrets. Optional public environment variables:

NEXT_PUBLIC_SITE_URL=https://jaydeepsolanki.me
NEXT_PUBLIC_UMAMI_WEBSITE_ID=
NEXT_PUBLIC_UMAMI_SCRIPT_URL=https://cloud.umami.is/script.js
NEXT_PUBLIC_UMAMI_HOST_URL=https://cloud.umami.is
NEXT_PUBLIC_UMAMI_DOMAINS=jaydeepsolanki.me

NEXT_PUBLIC_UMAMI_WEBSITE_ID enables Umami. If it is missing, Umami remains a no-op.

Content model

Writing entries live in src/content/writing/*.mdx and require:

---
title: "Post title"
summary: "Short summary used in cards and SEO."
publishedAt: "2026-04-12"
tags: ["Backend", "Architecture"]
cover: "/content/writing/post-slug/cover.png"
featured: false
draft: false
---

Project entries live in src/content/projects/*.mdx and require:

---
title: "Project title"
summary: "Short summary used in cards and SEO."
featured: false
draft: false
stack: ["Next.js", "TypeScript"]
repoUrl: "https://github.com/..."
liveUrl: "https://..."
cover: "/content/projects/project-slug/cover.png"
demo: "/content/projects/project-slug/demo.mp4"
---

Set draft: true to hide an entry from public lists, detail pages, static params, sitemap, and related content. The MDX kitchen-sink entry is a draft/local rendering fixture and should stay out of the public site.

Structured content lives in:

src/content/favorites.ts
src/content/now.ts
src/content/someday.ts

Useful commands

bun run lint:check
bun run typecheck
bun run validate:content
bun run build

For content-only edits, run:

bun run validate:content

Deployment

Deployment is handled by Vercel as a standard Next.js project.

Framework preset: Next.js
Install command:  bun install
Build command:    bun run build

Optional Vercel variables are the same public variables listed in the environment section.

Public feedback

This is a solo-maintained personal repository. Issues are the right place for suggestions, ideas, broken links, or bug reports.

License

The code and structure are available under the MIT License. If you use this repository as a starting point, keep the license or a small credit in your own repository. No visible attribution is required on your website.

Personal writing, project descriptions, photos, and identity assets are included for context and should be replaced in your own version.

About

Personal portfolio and writing site built with Next.js, React, TypeScript, MDX, Tailwind CSS, Bun, and Vercel.

Topics

Resources

License

Stars

Watchers

Forks

Contributors