MENU

Portfolio Leonie Bosshard

Repository

I developed this professional portfolio for Leonie Bosshard, a photographer and graphic designer, to showcase her diverse body of work with high visual fidelity. Built with Next.js and TypeScript, the platform features a dynamic project management system, custom-built UI components for skill visualization, and a highly responsive design that prioritizes her artistic content. This project was an exercise in delivering a 'production-ready' product with a focus on client-specific branding and UX.

Dynamic Project Engine

The portfolio uses a strongly typed project engine to generate interactive project cards. By centralizing the project metadata in a projects array, the frontend can dynamically render diverse categories—from Graphic Design to Photography—using a unified ProjectCard component. This architecture allows for effortless updates and ensures that new work can be added to the portfolio by simply updating a single configuration file.

Custom Skill Visualization

To display the client's proficiency in various tools, I built a custom SkillIndicator component. Instead of using standard progress bars, I designed a circular "speedometer" using SVG and CSS transitions. The component calculates the stroke-dashoffset based on the skill level (0-100), creating a smooth animated fill effect. It also includes an intelligent icon renderer that supports both standard images and custom SVG icons like Figma or Adobe branding.

Modular and Responsive UI Components

The site features a library of reusable UI components, such as the Headshot component, which leverages the Tailwind cn utility for dynamic styling. By passing parameters for corner roundness and additional classes, the component can adapt its appearance across different pages while maintaining a consistent base style. This modular approach significantly reduced code duplication and ensured a cohesive visual language throughout the entire application.

Technical Implementation Details

The project utilizes Next.js's image optimization for fast loading times and Framer Motion for subtle entrance animations. By strictly typing all components and data structures with TypeScript, I ensured a highly stable codebase that was easy to hand over to the client. The final product is a high-performance, SEO-friendly portfolio that effectively bridges the gap between artistic expression and technical excellence.

Live Demo

Live Demo

You can explore the live portfolio to see her professional photography and design work in action.