Skip to content

VoidElle/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

99 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Personal Portfolio

Banner

A modern, responsive portfolio website showcasing my journey as an Android Native & Cross-Platform Developer. Built with cutting-edge web technologies and designed with a focus on performance and user experience.

TypeScript React TailwindCSS Vite

✨ Features

  • ⚑ Lightning Fast: Built with Vite for optimal performance and instant hot module replacement
  • 🎨 Modern Design: Clean, minimalist interface with smooth animations and transitions
  • πŸŒ“ Dark Mode: Seamless theme switching that respects system preferences
  • πŸ“± Fully Responsive: Optimized experience across all devices and screen sizes
  • β™Ώ Accessible: WCAG compliant with semantic HTML and proper ARIA labels
  • πŸ” SEO Optimized: Structured data and meta tags for better discoverability
  • πŸ“Š Analytics Ready: Integrated with Vercel Analytics and Speed Insights

πŸ› οΈ Tech Stack

Core

  • TypeScript - Type-safe JavaScript for better developer experience
  • React 19 - Latest React with concurrent features
  • React Router DOM - Client-side routing for seamless navigation
  • Styled Components - CSS-in-JS for component-scoped styling

Styling

  • Tailwind CSS 4 - Utility-first CSS framework for rapid UI development
  • PostCSS - CSS transformations and optimizations
  • Autoprefixer - Automatic vendor prefixing

Build Tools

  • Vite 7 - Next-generation frontend tooling
  • TypeScript 5 - Static type checking

Monitoring

  • Vercel Analytics - Privacy-friendly website analytics
  • Vercel Speed Insights - Real-time performance metrics

πŸ“‚ Project Structure

portfolio/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/       # Reusable UI components
β”‚   β”‚   β”œβ”€β”€ Intro.tsx
β”‚   β”‚   β”œβ”€β”€ Portfolio.tsx
β”‚   β”‚   β”œβ”€β”€ PortfolioItem.tsx
β”‚   β”‚   β”œβ”€β”€ Timeline.tsx
β”‚   β”‚   β”œβ”€β”€ TimelineItem.tsx
β”‚   β”‚   β”œβ”€β”€ Contact.tsx
β”‚   β”‚   β”œβ”€β”€ Footer.tsx
β”‚   β”‚   └── Title.tsx
β”‚   β”œβ”€β”€ pages/           # Page components
β”‚   β”‚   └── tapit/
β”‚   β”‚       β”œβ”€β”€ PrivacyPolicy.tsx
β”‚   β”‚       └── CookiePolicy.tsx
β”‚   β”œβ”€β”€ data/            # Static data and content
β”‚   β”‚   β”œβ”€β”€ portfolio.ts
β”‚   β”‚   └── timeline.ts
β”‚   β”œβ”€β”€ styles/          # Global styles
β”‚   β”‚   └── tailwind.css
β”‚   β”œβ”€β”€ assets/          # Images and static files
β”‚   β”œβ”€β”€ App.tsx          # Main application component
β”‚   β”œβ”€β”€ main.tsx         # Application entry point
β”‚   └── vite-env.d.ts    # Type declarations
β”œβ”€β”€ public/              # Static assets
β”œβ”€β”€ index.html           # HTML template
β”œβ”€β”€ vite.config.ts       # Vite configuration
β”œβ”€β”€ tailwind.config.js   # Tailwind configuration
β”œβ”€β”€ tsconfig.json        # TypeScript configuration
└── package.json         # Project dependencies

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm/yarn/pnpm installed
  • Git for version control

Installation

  1. Clone the repository
   git clone https://github.com/yourusername/portfolio.git
   cd portfolio
  1. Install dependencies
   npm install
  1. Start the development server
   npm run dev
  1. Open your browser

    Navigate to http://localhost:5173 to see the portfolio in action!

πŸ“œ Available Scripts

Command Description
npm run dev Start development server with hot reload
npm run build Build for production with TypeScript checking
npm run preview Preview production build locally

🎨 Customization

Updating Personal Information

  1. Introduction Section: Edit src/components/Intro.tsx
  2. Portfolio Projects: Modify src/data/portfolio.ts
  3. Timeline/Experience: Update src/data/timeline.ts
  4. Contact Form: Configure endpoint in src/components/Contact.tsx

Theme Customization

Customize colors, fonts, and spacing in tailwind.config.js:

theme: {
  extend: {
    colors: {
      // Add your custom colors
    },
    fontFamily: {
      // Add your custom fonts
    }
  }
}

Adding New Pages

  1. Create component in src/pages/
  2. Add route in src/App.tsx
  3. Update navigation if needed

🌐 Deployment

This portfolio is optimized for deployment on Vercel, but works with any static hosting service.

Deploy to Vercel

Deploy with Vercel

  1. Push your code to GitHub
  2. Import project on Vercel
  3. Configure build settings (auto-detected)
  4. Deploy!

Other Platforms

# Build for production
npm run build

# Deploy the 'dist' folder to your hosting service

πŸ“Š Performance

  • Lighthouse Score: 100/100 across all metrics
  • First Contentful Paint: < 1s
  • Time to Interactive: < 2s
  • Bundle Size: Optimized with code splitting and lazy loading

🀝 Contributing

While this is a personal portfolio, suggestions and feedback are welcome! Feel free to:

  1. Fork the repository
  2. Create a 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.

πŸ™ Acknowledgments


Made with ❀️ and TypeScript

⭐ Star this repo if you find it helpful!

About

πŸ–ΌοΈ Personal portfolio built with React and Tailwind CSS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages