A modern, responsive portfolio website that mimics an iOS mobile interface to showcase your professional experience in a unique way.
Live Demo - Check out the live preview!
- 📱 Realistic iOS interface with dynamic island, status bar, and home indicator.
- 🌙 Dark/light mode support.
- 📊 Fully responsive design (displays as an iPhone on desktop, native app on mobile).
- 🧩 Tabbed navigation (About, Projects, Experience, Education, Contact).
- 📝 PDF Resume generation.
- 🖼️ Project showcase with image carousels.
- ⚡ Built with React, TypeScript, and Vite.
- 🚀 Easy deployment to GitHub Pages.
- Node.js (version 14 or higher)
- npm or yarn
-
Clone this repository:
git clone https://github.com/yourusername/ios-portfolio.git cd ios-portfolio -
Install dependencies:
npm install # or yarn install -
Start the development server:
npm run dev # or yarn dev
All of your personal information is stored in a single file: src/resume.json. Update this file with your details:
- Basic information (name, title, contact info)
- Skills and languages
- Work experience
- Education history
- Projects (with screenshots)
Example structure:
{
"basics": {
"name": "Your Name",
"title": "Your Title",
"image": "./assets/images/your-profile.jpeg",
"email": "your.email@example.com",
"phone": "+1234567890",
"location": "Your Location",
"profiles": [
{
"network": "LinkedIn",
"username": "yourusername",
"url": "https://linkedin.com/in/yourusername"
},
{
"network": "GitHub",
"username": "yourusername",
"url": "https://github.com/yourusername"
}
]
},
"summary": "Your professional summary...",
// Other sections...
}- Place your project screenshots in
src/assets/projects/[project-folder-name]/ - Update the
screenshotsarray in the project entry inresume.json
- Edit theme colors in
src/styles/App.css - Modify components in
src/components/directory
This project is configured to automatically deploy to GitHub Pages.
- Push your changes to GitHub
- Go to your repository settings
- Navigate to "Pages"
- Set "Source" to "GitHub Actions"
- Optionally add a custom domain
The site is configured to work at any path level:
- Root domain (e.g.,
https://example.com/) - Subdirectory (e.g.,
https://example.com/portfolio/) - Custom domain or GitHub Pages domain
To manually trigger a deployment:
- Go to your GitHub repository
- Navigate to Actions
- Select "Deploy to GitHub Pages" workflow
- Click "Run workflow"
This project is licensed under the MIT License - see the LICENSE file for details.
- Icons: React Icons
- Router: React Router
- PDF Generation: React-PDF
