A modern, brutalist-themed portfolio website built with Astro and Svelte.
Note: Despite the repository name "portfolio-nextjs", this project uses Astro (not Next.js). The repository was initially planned for Next.js but was rebuilt with Astro for better performance and flexibility.
pnpm install
pnpm dev
pnpm build
āāā src/
ā āāā components/ # Reusable components
ā ā āāā Home/ # Homepage sections
ā ā āāā shared/ # Shared components
ā ā āāā ui/ # UI primitives
ā āāā layouts/ # Page layouts
ā āāā pages/ # Route pages
ā āāā styles/ # Global styles
ā āāā lib/ # Utilities & helpers
āāā public/ # Static assets
āāā astro.config.mjs # Astro configuration
Copy .env.example to .env and fill in your credentials:
PUBLIC_WEB3FORM_ACCESS_KEY=your_key_here
PUBLIC_SANITY_DATASET=production
PUBLIC_SANITY_PROJECT_ID=your_project_id
PUBLIC_POSTHOG_KEY=your_key_here
PUBLIC_POSTHOG_HOST=https://us.i.posthog.com
MIT License - feel free to use this as a template for your own portfolio!
Madusha Sandaruwan