A modern, high-performance portfolio website showcasing expertise in AI backend development, full-stack solutions, and software engineering.
Live Demo β’ Documentation β’ Report Bug β’ Request Feature
- Overview
- Features
- Tech Stack
- Project Structure
- Getting Started
- Development
- Deployment
- Performance
- Customization
- Contributing
- License
- Contact
This portfolio website is a comprehensive showcase of professional experience, technical skills, and project portfolio. Built with modern web technologies, it features a responsive design, smooth animations, and optimized performance for an exceptional user experience across all devices.
- Modern Architecture: Built with Next.js 15 App Router for optimal performance
- Type-Safe: Full TypeScript implementation for robust code quality
- Responsive Design: Mobile-first approach with seamless cross-device compatibility
- SEO Optimized: Server-side rendering and meta tag optimization
- Accessible: WCAG 2.1 compliant with semantic HTML and ARIA labels
- Dark Mode: System-aware theme switching with persistent user preferences
-
π¨ Modern UI/UX
- Clean, professional design with gradient accents
- Smooth page transitions and micro-interactions
- Interactive hover effects and animations
- Custom night sky background with animated stars
-
π± Fully Responsive
- Mobile-first responsive design
- Optimized layouts for tablets and desktops
- Touch-friendly navigation and interactions
- Adaptive typography and spacing
-
π Theme Support
- Light and dark mode toggle
- System preference detection
- Persistent theme selection
- Smooth theme transitions
-
β‘ Performance Optimized
- Server-side rendering (SSR)
- Image optimization with Next.js Image component
- Code splitting and lazy loading
- Optimized bundle size
-
π SEO Friendly
- Semantic HTML structure
- Meta tags and Open Graph support
- Structured data markup
- Sitemap and robots.txt ready
- Hero Section: Compelling introduction with call-to-action buttons
- About Section: Professional background and key achievements
- Skills Section: Interactive skill categories with technology icons
- Projects Section:
- Filterable project gallery by category
- Detailed project modals with image galleries
- Live demo and GitHub links
- Technology stack badges
- Experience Section: Timeline view of professional work history
- Education Section: Academic background and achievements
- Contact Section: Contact form and social media links
| Technology | Version | Purpose |
|---|---|---|
| Next.js | 15.5.3 | React framework with App Router |
| React | 18.3.1 | UI library |
| TypeScript | 5.7.2 | Type-safe JavaScript |
| Tailwind CSS | 3.4.15 | Utility-first CSS framework |
| Framer Motion | 11.18.2 | Animation library |
| next-themes | 0.4.6 | Theme management |
- Lucide React: Modern icon library
- React Simple Icons: Technology brand icons
- Custom Components: Reusable UI components
- ESLint: Code linting
- PostCSS: CSS processing
- Autoprefixer: CSS vendor prefixing
- TypeScript: Static type checking
portfolio_new/
βββ public/ # Static assets
β βββ background/ # Background images
β βββ education/ # Education-related images
β βββ experience/ # Company logos
β βββ photo/ # Profile photos
β βββ projects/ # Project screenshots
β βββ resume/ # Resume PDF
β
βββ src/
β βββ app/ # Next.js App Router
β β βββ globals.css # Global styles
β β βββ layout.tsx # Root layout
β β βββ page.tsx # Home page
β β
β βββ components/ # React components
β β βββ about.tsx # About section
β β βββ contact.tsx # Contact form
β β βββ education.tsx # Education section
β β βββ experience.tsx # Work experience
β β βββ footer.tsx # Footer component
β β βββ hero.tsx # Hero section
β β βββ navbar.tsx # Navigation bar
β β βββ night-sky.tsx # Animated background
β β βββ projects.tsx # Projects showcase
β β βββ section-divider.tsx # Section separators
β β βββ skills.tsx # Skills section
β β βββ progress-sidebar.tsx # Scroll progress
β β βββ theme-provider.tsx # Theme context
β β
β βββ lib/ # Utility functions
β βββ utils.ts # Helper functions
β
βββ next.config.js # Next.js configuration
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ postcss.config.js # PostCSS configuration
βββ package.json # Dependencies and scripts
- Layout Components:
layout.tsx,navbar.tsx,footer.tsx - Section Components:
hero.tsx,about.tsx,skills.tsx,projects.tsx, etc. - UI Components:
section-divider.tsx,progress-sidebar.tsx - Provider Components:
theme-provider.tsx,night-sky.tsx
- Node.js: 18.x or higher
- npm: 9.x or higher (or yarn/pnpm)
- Git: For version control
-
Clone the repository
git clone https://github.com/simoncampos1022/portfolio_new.git cd portfolio_new -
Install dependencies
npm install # or yarn install # or pnpm install
-
Run the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser Navigate to http://localhost:3000
# Create optimized production build
npm run build
# Start production server
npm start| Script | Description |
|---|---|
npm run dev |
Start development server on port 3000 |
npm run build |
Create optimized production build |
npm start |
Start production server |
npm run lint |
Run ESLint to check code quality |
-
Code Style
- Follow TypeScript best practices
- Use functional components with hooks
- Maintain consistent naming conventions
- Write self-documenting code
-
Component Structure
- Keep components focused and reusable
- Extract logic into custom hooks when needed
- Use TypeScript interfaces for props
- Implement proper error boundaries
-
Styling
- Use Tailwind CSS utility classes
- Follow mobile-first approach
- Maintain consistent spacing and typography
- Use CSS variables for theme colors
-
Performance
- Optimize images before adding to public folder
- Use Next.js Image component for images
- Implement code splitting for large components
- Lazy load components below the fold
-
Push to GitHub
git push origin main
-
Import to Vercel
- Go to vercel.com
- Click "New Project"
- Import your GitHub repository
- Vercel will auto-detect Next.js settings
-
Deploy
- Click "Deploy"
- Your site will be live in minutes
# Build command
npm run build
# Publish directory
.nextFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 5001
CMD ["npm", "start"]- Image Optimization: Next.js Image component with automatic format conversion
- Code Splitting: Automatic route-based code splitting
- Lazy Loading: Components and images load on demand
- Font Optimization: Self-hosted fonts with display swap
- Bundle Analysis: Use
@next/bundle-analyzerfor bundle size analysis
- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
- First Contentful Paint: < 1.5s
- Time to Interactive: < 3.5s
- Cumulative Layout Shift: < 0.1
Consider integrating:
- Vercel Analytics: Built-in performance monitoring
- Google Analytics: User behavior tracking
- Sentry: Error tracking and monitoring
Update the following files with your information:
-
Hero Section (
src/components/hero.tsx)- Name, title, description
- Profile photo path
- CTA button links
-
About Section (
src/components/about.tsx)- Personal story
- Statistics
- Key highlights
-
Skills (
src/components/skills.tsx)- Skill categories
- Technologies and tools
-
Projects (
src/components/projects.tsx)- Project data array
- Images and descriptions
- Links and technologies
-
Experience (
src/components/experience.tsx)- Work history
- Company information
- Achievements
-
Education (
src/components/education.tsx)- Academic background
- Projects and achievements
-
Contact (
src/components/contact.tsx)- Contact information
- Social media links
-
Colors (
tailwind.config.js)colors: { primary: { /* your primary color */ }, secondary: { /* your secondary color */ } }
-
Fonts (
src/app/layout.tsx)- Update Google Fonts imports
- Modify font variables
-
Global Styles (
src/app/globals.css)- Custom CSS variables
- Global utility classes
- Create component in
src/components/ - Import and add to
src/app/page.tsx - Add navigation link in
src/components/navbar.tsx - Update section IDs for smooth scrolling
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Make your changes
- Follow code style guidelines
- Write meaningful commit messages
- Test your changes thoroughly
- Commit your changes
git commit -m 'Add some amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Write clear commit messages
- Update documentation as needed
- Add tests for new features
- Ensure all checks pass
- Be respectful and professional
This project is licensed under the MIT License - see the LICENSE file for details.
- β Use commercially
- β Modify
- β Distribute
- β Private use
- β Hold liable
- β Use trademark
Simon Degala Campos - Senior Software Engineer | Backend & Python Expert
- π§ Email: simon.campos1022@gmail.com
- πΌ LinkedIn: Simon Degala Campos
- π» GitHub: @simoncampos1022
- π± Telegram: @simoncampos1022
- π± WhatsApp: +639634160157
- π Discord: simoncampos1022
- Next.js Team - For the amazing framework
- Vercel - For hosting and deployment platform
- Tailwind CSS - For the utility-first CSS framework
- Framer Motion - For smooth animations
- Lucide - For beautiful icons