Hey there! Welcome to the repository of my personal portfolio website. I built this to showcase my work, share my journey, and make it easy for people to reach out to me.
This is my digital home on the internet – a place where I share my projects, skills, and a bit about who I am. I wanted something that felt modern, looked great, and actually worked smoothly, so I picked some of my favorite tools to build it.
Here's what powers this site:
- Next.js - The React framework that makes everything fast and SEO-friendly
- Tailwind CSS - For styling without the headache of writing custom CSS
- Aceternity UI - Beautiful, pre-built components that gave my site that extra polish
- Framer Motion - Smooth animations that bring the site to life
- Nodemailer - Handles the contact form so people can actually reach me
- Smooth Animations - Everything moves nicely thanks to Framer Motion
- Responsive Design - Looks good on your phone, tablet, or desktop
- Contact Form - Actually works! Powered by Nodemailer with Gmail SMTP
- Fast Loading - Next.js makes sure everything loads quickly
Want to run this locally? Here's how:
Make sure you have Node.js installed and version is mentioned in package.json file.
- Clone this repo:
git clone https://github.com/ajithkumar110302/portfolio.git
cd portfolio- Install dependencies:
npm install
or
npm i- Set up your environment variables:
Create a .env file in the root directory:
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-app-password- Run the development server:
npm run devOpen http://localhost:3000 and you should see the site!
portfolio/
├── app/ # Next.js app directory
├── components/ # Reusable React components
├── public/ # Static files (images, etc.)
├── styles/ # Global styles
├── lib/ # Utility functions
└── app/api/ # API routes (contact form handler)
The contact form uses Gmail SMTP through Nodemailer. Here's what you need:
- Enable 2-Step Verification on your Google Account
- Generate an App Password
- Add your credentials to
.env - The API route handles the rest!
Feel free to fork this and make it your own! Here are some things you might want to change:
- Update the content in the components to reflect your own story
- Swap out the color scheme in
tailwind.config.js - Add or remove sections based on what you want to showcase
- Customize the animations in Framer Motion components
Ready to deploy? Build the production version:
npm run build
npm startI recommend deploying on Vercel (it's made by the Next.js team, so it just works):
- Push your code to GitHub
- Import the project on Vercel
- Add your environment variables
- Deploy!
Other good options: Netlify, Railway, or any platform that supports Next.js.
This is my personal portfolio, but if you spot a bug or have a suggestion, feel free to open an issue or submit a pull request. I'd appreciate it!