Source for ayushgupta.tech, built with Astro, React islands, Tailwind CSS, MDX, and Netlify Functions.
- Astro 6
- React 18 islands for interactive widgets
- Tailwind CSS 4 plus local CSS for parity-focused styling
- Astro content collections for homepage content, blog posts, and uses data
- Netlify adapter and Netlify Functions for deployment and Spotify proxying
- Supabase (via an Astro API route proxy) for blog comments and music song recommendations
Use Node 22.x. Astro currently requires >=22.12.0, and this repo is pinned to 22.22.2 via .nvmrc.
npm install
npm run devAvailable scripts:
npm run devstarts the Astro dev servernpm run buildcreates the production build indist/npm run previewreuses the Netlify-aware local dev server because@astrojs/netlifydoes not supportastro previewnpm run checkrunsastro checknpm run lintruns ESLint on the Astro appnpm run formatruns Prettier on source files
Site content lives under src/content/:
blog/for MDX blog postsfeatured/,projects/,jobs/,education/,hero/,about/,contact/,funFacts/, anduses/for structured site sections
Spotify, blog comments, and music recommendations use server-side environment variables for the Netlify function and Astro server output. See .env.example for the current keys.
The site is deployed on Netlify. Static assets live in public/, the Spotify proxy runs from netlify/functions/spotify.cjs, and the Supabase comments/recommendations proxy runs from the Astro API route src/pages/api/comments.ts.
- Site: ayushgupta.tech
- Twitter: @_guptaji_
- LinkedIn: guptaji6
- Email: hello@ayushgupta.tech
