Skip to content
 
 

Repository files navigation

Portfolio 2025

Personal portfolio website for Shivananda Sai, built with Next.js, TypeScript, Tailwind CSS, and MDX.

Live site: shiv-2025.vercel.app

Features

  • Home page with intro, GitHub contribution calendar, work experience, skills, featured projects, and links
  • Projects page powered by a typed project catalog in src/lib/projects.ts
  • Writings section powered by local MDX files and metadata utilities in src/lib/writings.ts
  • Keyboard-friendly navigation and post search
  • Dynamic Open Graph image routes for home/pages and writings
  • Visitor counter in the navbar
    • Tracks unique visitor sessions from the browser
    • Uses Upstash Redis in production
    • Falls back to an in-memory store when Redis credentials are not configured

Stack

  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS 4
  • MDX via next-mdx-remote
  • Motion
  • Upstash Redis
  • Vercel

Getting Started

bun install
bun dev

Open http://localhost:3000.

Environment Variables

The visitor counter supports Redis-backed persistence with Upstash:

UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=

Without these values, the app still runs locally with an in-memory visitor store.

Scripts

bun dev     # start development server with Turbopack
bun build   # build for production
bun start   # start production server
bun lint    # run ESLint
bun test    # run the test suite

Project Structure

src/app              routes, layouts, metadata, API routes
src/components       UI components
src/lib              site data, writings, projects, visitors, utilities

Screenshot

localhost_3000_writings

About

portfolio website

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages