{"repo":"CharanMunur/Portfolio","free":true,"listed":false,"github":"https://github.com/CharanMunur/Portfolio","clone":"git clone https://github.com/CharanMunur/Portfolio.git","description":"A modern, responsive personal portfolio built with React, Vite, TypeScript, Tailwind CSS v4, and Framer Motion, featuring project/blog routes, GitHub activity, theme switching, and local visitor tracking.","language":"TypeScript","stars":104,"topics":["dark-theme","modern-ui","portfolio","portfolio-design","portfolio-website","react","shadcn-ui","simple-portfolio","tailwindcss","typescript"],"license":"MIT","category":"ui-components","readme_excerpt":"Portfolio A personal portfolio built with React and Vite that showcases projects, blogs, skills, GitHub activity, and a small visitor counter in the footer. Star History Stack - React 19 - Vite - TypeScript - Tailwind CSS v4 - shadcn/ui - motion/react - React Router - next-themes - Vercel serverless functions - Supabase for visitor storage What It Includes - Home page with hero, skills, featured projects, featured blogs, open source contributions, GitHub activity, and a quote section - Dedicated pages for projects , blogs , and contact - Detail routes for individual projects and blog posts - Theme switching with system, light, and dark support - Smooth scrolling and motion-driven section reveals - Footer visitor tracking with a locally generated fingerprint Routes - / home - /projects all projects - /projects/:slug project detail - /blogs all blogs - /blogs/:slug blog detail - /opensource all open source contributions - /opensource/:slug open source contribution detail - /contact contact page Visitor Tracking The footer visitor counter is handled in two parts: - The client creates a local fingerprint in src/lib/fingerprint.ts . - That fingerprint is sent to the serverless endpoint at api/visitors.ts . User-Agent Tracking The user-agent is explicitly part of the fingerprint input . It is read from navigator.userAgent , combined with other browser/device signals, hashed locally, and stored in localStorage under visitor id . The fingerprint inputs are: - navigator.userAgent - na","default_branch":null,"files":null,"tree":[],"storefront":"/r/CharanMunur","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/CharanMunur/Portfolio/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}