{"repo":"kavinvalli/kavinvalli.github.io","free":true,"listed":false,"github":"https://github.com/kavinvalli/kavinvalli.github.io","clone":"git clone https://github.com/kavinvalli/kavinvalli.github.io.git","description":"Portfolio site","language":"TypeScript","stars":66,"topics":["portfolio","nextjs"],"license":null,"category":"saas-starters-boilerplates","readme_excerpt":"kavin.me My personal site — kavin.me. Next.js (App Router), deployed on Vercel. Structure - app/page.js — home (about, projects, recent writing) - app/writing — the blog: index + [slug] article pages - content/writing/ .mdx — articles (frontmatter: title , description , date , draft ) - lib/ — shared data ( projects , socials ) and the MDX loader - app/s/[shortlink]/route.js — Airtable-backed URL shortener - app/api/ — projects/contacts JSON endpoints Writing Drop an .mdx file in content/writing/ . Newest date sorts first; draft: true hides it in production. Develop","default_branch":null,"files":null,"tree":[],"storefront":"/r/kavinvalli","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kavinvalli/kavinvalli.github.io/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."}