Personal site of Naveen Kharwar — developer, writer, and digital thinker.
Built with performance, clarity, and minimalism in mind.
- Astro (with strict TypeScript)
- Tailwind CSS
- Markdown content with schema validation
- Dynamic sitemap &
robots.txt - Simple, clean structure powered by content collections
.
├── public/ # Static assets (favicon, images, PDFs)
├── src/
│ ├── assets/ # Site assets (images, texture)
│ ├── components/ # UI components
│ │ └── content/ # Content-specific components like PostList
│ ├── content/ # Markdown content (articles, writings)
│ ├── data/ # JSON data (projects, experience)
│ ├── layouts/ # Page layouts (BaseLayout, PostLayout)
│ ├── pages/ # Routes (index, writings, articles)
│ ├── scripts/utils/ # Utility scripts (truncate, stripMarkdown, etc.)
│ └── styles/ # Global styles (Tailwind)
├── astro.config.ts
├── tsconfig.json
├── tailwind.config.mjs
├── package.json
└── README.md
- SEO meta with fallback OG image
- Custom cursor logic with hover effects
- Articles + creative writing in separate collections
- Clean tag system &
contentTypesupport - Fully static, no client JS unless needed
npm run dev # Start dev server
npm run build # Check types + build for production
npm run preview # Preview the buildsrc/content/articles/→ technical & reflective articlessrc/content/writings/→ stories, poems, personal pieces- Both collections are validated via
content.config.ts
astro@astrojs/sitemap@astrojs/checkastro-icon@iconify-json/simple-iconstailwindcss@tailwindcss/vitetypescript
(MIT) — feel free to fork, remix, or reuse anything here. But build something meaningful with it ✨