A modern, dark-themed personal portfolio website built with React and TypeScript.
Live: arodirohit.vercel.app
| Layer | Technology |
|---|---|
| Framework | React 19 |
| Language | TypeScript |
| Build Tool | Vite 6 |
| Styling | Tailwind CSS v4 |
| Animations | Motion (Framer Motion) |
| Icons | Lucide React |
| Contact Form | EmailJS |
| Deployment | Vercel |
src/
├── components/
│ ├── Navbar.tsx # Fixed bottom nav pill with icons and tooltips
│ ├── Hero.tsx # Landing section
│ ├── BentoGrid.tsx # About section — bio card, stats, skill cards
│ ├── Education.tsx # Education timeline
│ ├── Experience.tsx # Work experience timeline
│ ├── Projects.tsx # Project grid (featured projects span 2 cols)
│ ├── Contact.tsx # Contact CTA section
│ ├── ContactModal.tsx # Email form modal (EmailJS)
│ ├── Footer.tsx # Footer with email popup and social links
│ └── Animations.tsx # Shared animation components
├── data/
│ └── resume.ts # Single source of truth for all content
├── main.tsx
└── index.css
Prerequisites: Node.js 18+
-
Clone the repo:
git clone https://github.com/rohitarodi/Personal_Website.git cd Personal_Website -
Install dependencies:
npm install
-
Set up environment variables — copy
.env.exampleto.envand fill in your EmailJS credentials:cp .env.example .env
VITE_EMAILJS_SERVICE_ID=your_service_id VITE_EMAILJS_TEMPLATE_ID=your_template_id VITE_EMAILJS_PUBLIC_KEY=your_public_key
-
Start the dev server:
npm run dev
All site content lives in src/data/resume.ts — edit that file to update your name, experience, projects, skills, and social links. No changes needed anywhere else.
The site deploys automatically to Vercel on every push to main.
To deploy manually:
npm run build # outputs to dist/Previous versions of this site are kept in archived/ for reference:
archived/static-portfolio/— original vanilla HTML/CSS/JS site