Skip to content

A modern personal portfolio built with React and Tailwind CSS showcasing my projects, skills, and experience in web development. Designed for performance, interactivity, and responsiveness.

Notifications You must be signed in to change notification settings

jaiashwinisatish/portfolio

Repository files navigation

πŸ’» Ashwini Jaiswal - Portfolio Website

A modern, interactive portfolio website built with React, TypeScript, and Framer Motion. Features smooth animations, responsive design, and a dynamic contact form powered by Supabase.

Portfolio Preview TypeScript Tailwind CSS Vite

✨ Features

  • 🎨 Modern UI/UX: Sleek design with gradient effects and smooth animations
  • ⚑ Lightning Fast: Built with Vite for optimal performance
  • πŸ“± Fully Responsive: Works seamlessly on all devices
  • 🎭 Interactive Animations: Powered by Framer Motion
  • πŸ’¬ Contact Form: Integrated with Supabase for message storage
  • 🎯 Smooth Navigation: Scroll-based navigation with animated sections
  • πŸ’‘ Thought & Jokes: Dynamic content that refreshes on demand
  • πŸŒ™ Dark Theme: Eye-friendly dark mode design
  • β™Ώ Accessible: Built with accessibility best practices

πŸš€ Live Demo

Visit the live site: [Your Portfolio URL]

πŸ“Έ Screenshots

Hero Section

Ashwini Jaiswal - Creative Developer - Google Chrome 09-11-2025 00_21_54

Projects Showcase

Ashwini Jaiswal - Creative Developer - Google Chrome 09-11-2025 00_19_25

Contact Form

Ashwini Jaiswal - Creative Developer - Google Chrome 09-11-2025 00_22_50

πŸ› οΈ Tech Stack

Frontend

  • React 18.3.1 - UI library
  • TypeScript 5.6.3 - Type safety
  • Vite 5.4.2 - Build tool
  • Tailwind CSS 3.4.1 - Styling
  • Framer Motion 12.23.22 - Animations
  • Lucide React 0.344.0 - Icons

Backend

  • Supabase - Database and authentication
  • PostgreSQL - Database (via Supabase)

Development Tools

  • ESLint - Code linting
  • PostCSS & Autoprefixer - CSS processing

πŸ“¦ Installation

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Supabase account (for contact form)

Steps

  1. Clone the repository
git clone https://github.com/jaiashwinisatish/portfolio.git
cd portfolio
  1. Install dependencies
npm install
# or
yarn install
  1. Set up environment variables

Create a .env file in the root directory:

VITE_SUPABASE_URL=your_supabase_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
  1. Run database migrations

Execute the SQL migration in your Supabase dashboard:

-- Located in: supabase/migrations/20251108152050_create_contacts_table.sql
  1. Start the development server
npm run dev
# or
yarn dev
  1. Open your browser Navigate to http://localhost:5173

πŸ—οΈ Build for Production

npm run build
# or
yarn build

The optimized production build will be in the dist directory.

πŸ“ Project Structure

portfolio/
β”œβ”€β”€ public/               # Static assets
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/          # Images and media
β”‚   β”œβ”€β”€ components/      # React components
β”‚   β”‚   β”œβ”€β”€ About.tsx
β”‚   β”‚   β”œβ”€β”€ Contact.tsx
β”‚   β”‚   β”œβ”€β”€ Hero.tsx
β”‚   β”‚   β”œβ”€β”€ Navigation.tsx
β”‚   β”‚   β”œβ”€β”€ Projects.tsx
β”‚   β”‚   β”œβ”€β”€ Skills.tsx
β”‚   β”‚   └── ThoughtJoke.tsx
β”‚   β”œβ”€β”€ data/            # Static data files
β”‚   β”‚   └── thoughtsAndJokes.ts
β”‚   β”œβ”€β”€ lib/             # Utilities and configs
β”‚   β”‚   └── supabase.ts
β”‚   β”œβ”€β”€ App.tsx          # Main app component
β”‚   β”œβ”€β”€ main.tsx         # Entry point
β”‚   └── index.css        # Global styles
β”œβ”€β”€ supabase/
β”‚   └── migrations/      # Database migrations
β”œβ”€β”€ .env.example         # Environment variables template
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ tailwind.config.js
└── vite.config.ts

🎯 Key Sections

Hero Section

  • Animated particle background
  • Typewriter effect with rotating phrases
  • Social media links
  • Call-to-action buttons

About Section

  • Personal introduction
  • Animated profile image
  • Key strengths showcase

Skills Section

  • Animated skill bars
  • Technology icons
  • Proficiency levels

Projects Section

  • Project cards with hover effects
  • Live demo and GitHub links
  • Technology tags
  • Responsive grid layout

Thought & Joke Section

  • Random inspirational thoughts
  • Tech-related humor
  • Refresh functionality

Contact Section

  • Working contact form
  • Social media links
  • Contact information
  • Form validation
  • Success/error notifications

🎨 Customization

Update Personal Information

  1. Hero Section - Edit src/components/Hero.tsx
  2. About Section - Edit src/components/About.tsx
  3. Projects - Edit the projects array in src/components/Projects.tsx
  4. Skills - Edit the skills array in src/components/Skills.tsx
  5. Contact Info - Edit contact details in src/components/Contact.tsx

Change Color Scheme

Colors are defined in Tailwind CSS classes. Main colors used:

  • Primary: cyan-400 / cyan-500
  • Secondary: purple-400 / purple-500
  • Background: slate-900 / slate-800

Update these in component files to change the color scheme.

Add More Thoughts/Jokes

Edit src/data/thoughtsAndJokes.ts to add more content.

πŸ”§ Available Scripts

npm run dev          # Start development server
npm run build        # Build for production
npm run preview      # Preview production build
npm run lint         # Run ESLint
npm run typecheck    # Run TypeScript type checking

🌐 Deployment

Deploy to Vercel

  1. Push your code to GitHub
  2. Import your repository on Vercel
  3. Add environment variables
  4. Deploy!

Deploy to Netlify

  1. Push your code to GitHub
  2. Connect repository on Netlify
  3. Build command: npm run build
  4. Publish directory: dist
  5. Add environment variables
  6. Deploy!

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is open source and available under the MIT License.

πŸ“§ Contact

Ashwini Jaiswal

πŸ™ Acknowledgments

πŸ› Known Issues

πŸ—ΊοΈ Roadmap

  • Add blog section
  • Implement dark/light theme toggle
  • Add more project examples
  • Include resume download feature
  • Add testimonials section
  • Implement analytics

Made with ❀️ by Ashwini Jaiswal

⭐ Star this repo if you found it helpful!

About

A modern personal portfolio built with React and Tailwind CSS showcasing my projects, skills, and experience in web development. Designed for performance, interactivity, and responsiveness.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors