Skip to content

AdrianBonpin/www

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

86 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Adrian Bonpin - Portfolio Website

A modern, performant portfolio website showcasing custom web development projects. Built with Astro for optimal performance and SEO.

Portfolio Preview Styling TypeScript

πŸš€ Live Demo

Visit the live site: adrianbonpin.com

✨ Features

  • ⚑ Lightning Fast - Built with Astro for optimal performance and SEO
  • 🎨 Modern Design - Clean, contemporary UI with smooth animations
  • πŸ“± Fully Responsive - Optimized for all devices and screen sizes
  • πŸ” SEO Optimized - Comprehensive meta tags, Open Graph, and JSON-LD structured data
  • 🎭 Interactive Hero - Custom ASCII liquid animation effect
  • πŸ“Š Project Showcase - Horizontal scrolling gallery with client and personal projects
  • πŸͺ Analytics Consent - Privacy-focused analytics with user consent system
  • β™Ώ Accessible - Semantic HTML with proper heading hierarchy
  • 🎯 Smooth Navigation - Scroll-to-section navigation with smooth animations

πŸ› οΈ Tech Stack

Core

  • Astro (v5.16.3) - Static Site Generator
  • TypeScript - Type-safe JavaScript

Styling

Animations

  • Anime.js (v4.2.2) - JavaScript animation library
  • Custom ASCII Liquid Effect - Interactive hero animation

Icons & Typography

Analytics

  • Rybbit Analytics - Privacy-focused, anonymous analytics
  • Custom consent management - 7-day localStorage tracking

πŸ“ Project Structure

/
β”œβ”€β”€ public/
β”‚   └── favicon.png           # Site favicon
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ photos/          # Personal photos
β”‚   β”‚   └── websites/        # Project screenshots
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ analytics.astro  # Analytics consent banner
β”‚   β”‚   β”œβ”€β”€ hero-rain.astro  # ASCII liquid animation
β”‚   β”‚   β”œβ”€β”€ navbar.astro     # Navigation component
β”‚   β”‚   └── projects.astro   # Project showcase carousel
β”‚   β”œβ”€β”€ layouts/
β”‚   β”‚   └── base.astro       # Base layout with SEO meta tags
β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   └── index.astro      # Homepage
β”‚   β”œβ”€β”€ styles/
β”‚   β”‚   └── global.css       # Global styles and Tailwind config
β”‚   └── utils/
β”‚       └── projects.ts      # Project data and type definitions
β”œβ”€β”€ astro.config.mjs         # Astro configuration
β”œβ”€β”€ package.json             # Dependencies and scripts
└── tsconfig.json            # TypeScript configuration

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • pnpm (recommended) or npm/yarn

Installation

  1. Clone the repository

    git clone https://github.com/adrianbonpin/www.git
    cd www
  2. Install dependencies

    pnpm install
    # or
    npm install
  3. Start the development server

    pnpm dev
    # or
    npm run dev
  4. Open your browser

    http://localhost:4321
    

Available Scripts

  • pnpm dev - Start development server with hot reload
  • pnpm build - Build for production
  • pnpm preview - Preview production build locally
  • pnpm astro - Run Astro CLI commands

🎨 Customization

Adding New Projects

Edit src/utils/projects.ts to add your projects:

export const projects: Project[] = [
    {
        title: "Your Project",
        tag: "client", // or 'personal'
        desc: "Project description",
        img: yourProjectImage,
        link: "https://project-url.com",
        framework: "Astro", // or 'NextJs', etc.
    },
    // ... more projects
]

Updating SEO

The base layout accepts SEO props that can be customized per page:

<Base
  title="Custom Page Title"
  description="Custom page description"
  keywords="custom, keywords, here"
  image="/custom-og-image.png"
>
  <!-- Your page content -->
</Base>

Changing Colors

Edit src/styles/global.css to customize the color scheme:

@theme {
    --color-background: /* your color */ ;
    --color-text: /* your color */ ;
    --color-primary: /* your color */ ;
    --color-secondary: /* your color */ ;
}

πŸ” SEO Features

This site includes comprehensive SEO optimization:

  • βœ… Meta descriptions and keywords
  • βœ… Open Graph tags for social media sharing
  • βœ… Twitter Card support
  • βœ… JSON-LD structured data (Person & WebSite schemas)
  • βœ… Canonical URLs
  • βœ… Semantic HTML structure
  • βœ… Proper heading hierarchy (H1 β†’ H2 β†’ H3)
  • βœ… Mobile-friendly viewport configuration
  • βœ… Fast loading times (static site generation)

πŸ“Š Analytics

This site uses Rybbit Analytics for privacy-focused analytics tracking. The analytics banner:

  • Appears on first visit
  • Stores consent in localStorage
  • Hides for 7 days after acceptance
  • Allows users to opt-out by disabling JavaScript

🌐 Browser Support

  • βœ… Chrome (latest)
  • βœ… Firefox (latest)
  • βœ… Safari (latest)
  • βœ… Edge (latest)
  • βœ… Mobile browsers

πŸ“„ License

Copyright Β© 2025 Adrian Bonpin. All rights reserved.

🀝 Connect


Built with ❀️ using Astro | Building Dreams. One Line at a Time.

About

A modern, performant portfolio website showcasing custom web development projects. Built with Astro for optimal performance and SEO.

Resources

Stars

Watchers

Forks

Contributors