Personal portfolio website for Samir Idris, showcasing software engineering, blockchain development, Web3, DevOps, biotech research, and selected project contributions.
- React
- TypeScript
- Vite
- CSS
- EmailJS
- Node.js
24.x - npm
The repository includes .nvmrc and package.json engine settings for Node.js 24, which also matches the Vercel build requirement.
Install dependencies:
npm installStart the local development server:
npm run devBuild for production:
npm run buildRun lint checks:
npm run lintPreview the production build locally:
npm run previewThe contact form uses EmailJS. Create a local .env file based on .env.example:
VITE_EMAILJS_PUBLIC_KEY=
VITE_EMAILJS_SERVICE_ID=portfolio_contact
VITE_EMAILJS_TEMPLATE_ID=template_3p5l5wkDo not commit .env or any secret values. Use Vercel Project Settings to configure production environment variables.
The site is designed to deploy on Vercel.
Recommended build settings:
- Framework Preset: Vite
- Build Command:
npm run build - Output Directory:
dist - Node.js Version:
24.x
src/pages- main portfolio sectionssrc/static/projects.ts- selected projects and major contributionspublic/projects- project images used by the portfolio.env.example- safe example environment configuration