A beautiful, animated portfolio website showcasing work in administration, graphics, and marketing.
Live Site: https://agatarybka.pl/ π
This is a modern, Polish-language portfolio website built for Agata Rybka, featuring her professional work in administration, graphic design, and marketing. The site includes interactive project galleries, experience timeline, and smooth GSAP animations.
- π― Modern Tech Stack - Built with Nuxt 4 and Vue 3 Composition API
- π¨ Beautiful Animations - Powered by GSAP with custom plugins
- π± Fully Responsive - Optimized for all devices with TailwindCSS 4
- πΌοΈ Interactive Galleries - Project showcases with lightbox functionality
- π Content Management - Structured content with Nuxt Content v3 collections
- β‘ Performance Optimized - Image optimization and font loading
- π SEO Ready - Complete OpenGraph and Twitter Card meta tags
- Nuxt 4 - Full-stack Vue framework
- Vue 3 - Progressive JavaScript framework with Composition API
- TypeScript - Type-safe JavaScript
- TailwindCSS 4 - Utility-first CSS framework
- Nuxt Fonts - Custom font management
- Nuxt Icon - Icon system
- Nuxt Image - Image optimization
- Nuxt Content v3 - File-based CMS with collections
- Nuxt Easy Lightbox - Image gallery functionality
- GSAP with premium plugins:
- ScrollTrigger, ScrollSmoother
- MorphSVG, DrawSVG, SplitText
- MotionPath, CustomBounce, CustomWiggle
- Observer, Flip animations
- Nuxt ESLint - Code linting
- Nuxt DevTools - Development experience
- Nuxt Scripts - Script management
This project uses licensed, self-hosted fonts. Ensure these files exist in public/fonts/:
TT-Ricordi-Trial-Nobili.woff2(weight 600) - Elegant serif headingsAgrandir-Regular.woff2(weight 400) - Modern sans-serif bodyAgrandir-Light.woff2(weight 300) - Light weight variant
Fonts are automatically served by Nuxt with optimal loading strategies.
Install dependencies:
npm installStart the development server:
npm run devThe site will be available at http://localhost:3000
npm run build # Build for production
npm run preview # Preview production build
npm run generate # Generate static site
npx eslint . # Run code lintingβββ app/ # Nuxt 4 application code
β βββ components/ # Vue components
β βββ pages/ # Page routes
β βββ layouts/ # Layout components
β βββ assets/css/ # Global styles
βββ content/ # Content management
β βββ pages/ # Static pages (markdown)
β βββ projekty/ # Portfolio projects
β βββ site/ # Site configuration
βββ public/ # Static assets
β βββ fonts/ # Custom font files
β βββ favicon/ # Favicon assets
βββ composables/ # Vue composables
βββ types/ # TypeScript definitions
The project uses Nuxt Content v3 with strictly defined collections:
- pages - Static pages (
/content/pages/*.md) - projekty - Portfolio projects (
/content/projekty/*.md) - site - Configuration data (
/content/site/*.yml)
Always use queryCollection() instead of queryContent() when working with defined collections:
// β
Correct
const { data: projects } = await useAsyncData('projects', () =>
queryCollection('projekty').all()
)
// β Incorrect - won't work with collections
const projects = await queryContent('projekty').find()- TailwindCSS 4 for all styling
- Custom breakpoints and design tokens
- SCSS integration for complex components
- Responsive-first approach
Extensive GSAP integration with premium plugins:
- Smooth scrolling with ScrollSmoother
- Advanced SVG animations (MorphSVG, DrawSVG)
- Text animations with SplitText
- Timeline-based interactions
- Performance-optimized scroll triggers
- Polish language (
lang="pl") - Complete OpenGraph and Twitter Card tags
- Optimized meta descriptions and titles
- Proper structured data
- Performance-focused loading strategies
The site is configured for Netlify deployment:
npm run generate # Generate static filesProduction URL: https://agatarybka.pl/
This project contains licensed fonts and custom design elements. Please respect intellectual property rights.
Built with β€οΈ using modern web technologies for an exceptional user experience.