{"repo":"msanvarov/personal-portfolio","free":true,"listed":false,"github":"https://github.com/msanvarov/personal-portfolio","clone":"git clone https://github.com/msanvarov/personal-portfolio.git","description":"🌐 react next.js app for personal portfolio","language":"SCSS","stars":59,"topics":["react","cv","contentful","nextjs","starter-template","portfolio","portfolio-website"],"license":null,"category":"saas-starters-boilerplates","readme_excerpt":"Sal's Personal Portfolio Website A modern Vite + React 18 portfolio site by Sal Anvarov. Optionally wired up to HotJar , GTM , and Formspree via environment variables. &nbsp; Table of contents: 1. Description 2. Prerequisites 3. Deployment 4. Environment configuration 5. SEO and AI-SEO 6. Repository layout 7. Testing Description Preview: https://www.sal-anvarov.com/ This portfolio site was rebuilt on Vite + React 18 + TypeScript with TanStack Router for client-side routing. Case studies and blog posts live as MDX files under content/ and are bundled at build time via @mdx-js/rollup + import.meta.glob . State management is Redux Toolkit with redux-persist ; styling is SCSS + Bootstrap 5 + Iconoir; animations use Framer Motion + AOS. All third-party identifiers (Hotjar, GTM, Microsoft Clarity, DebugBear, Formspree, Disqus, Calendly) are read from VITE environment variables — nothing is hardcoded. Integrations gracefully no-op when their env var is not set. --- Prerequisites - Node.js 20+ - npm 9+ (or pnpm / yarn) Optional integrations: - HotJar - Google Tag Manager - Microsoft Clarity - DebugBear RUM - Vercel Analytics - Formspree (contact form) - Disqus (blog comments) - Calendly (\"Chat with Sal\" CTA) --- Deployment One-click deploy The repo ships with both a netlify.toml and a vercel.json configured for a Vite SPA: build with npm run build , publish dist/ , and add a / - /index.html rewrite so the router handles deep links. See Netlify deploy docs and Vercel deploy docs. Loca","default_branch":null,"files":null,"tree":[],"storefront":"/r/msanvarov","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/msanvarov/personal-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."}