Skip to content

felipetdk7/felipe-ux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Felipe UX - Portfolio Template

Editorial High-Performance Portfolio | Minimalist Design System with Premium Animations

A conversion-focused portfolio template built with vanilla HTML/CSS/JS and GSAP animations. Features a sophisticated design system, multi-language support, and SEO/AEO optimization.


🎨 Design System

Color Palette

/* Primary */
--color-orange: #D1510A;        /* Brand accent, CTAs */
--color-black: #0A0A0A;         /* Primary text, dark backgrounds */
--color-white: #FAFAFA;         /* Light backgrounds, inverted text */

/* Neutrals */
--color-gray-100: #E5E5E5;      /* Borders, subtle dividers */
--color-gray-200: #CCCCCC;      /* Muted text */
--color-gray-300: #999999;      /* Secondary text */
--color-gray-400: #666666;      /* Tertiary text */

Typography

Primary Font: Inter (400, 700, 800)

  • Body text, headings, UI elements
  • Clean, modern, highly legible

Accent Font: Playfair Display Italic

  • Editorial emphasis
  • Used sparingly for sophistication

Type Scale:

--font-size-xs: 0.75rem;    /* 12px - Labels */
--font-size-sm: 0.875rem;   /* 14px - Small text */
--font-size-base: 1rem;     /* 16px - Body */
--font-size-lg: 1.125rem;   /* 18px - Large body */
--font-size-xl: 1.5rem;     /* 24px - Subheadings */
--font-size-2xl: 2rem;      /* 32px - Headings */
--font-size-3xl: 3rem;      /* 48px - Hero */
--font-size-4xl: 4rem;      /* 64px - Display */

Spacing System

--space-1: 0.25rem;   /* 4px */
--space-2: 0.5rem;    /* 8px */
--space-3: 0.75rem;   /* 12px */
--space-4: 1rem;      /* 16px */
--space-6: 1.5rem;    /* 24px */
--space-8: 2rem;      /* 32px */
--space-12: 3rem;     /* 48px */
--space-16: 4rem;     /* 64px */
--space-24: 6rem;     /* 96px */
--space-32: 8rem;     /* 128px */

πŸ“ Project Structure

felipe-ux/
β”œβ”€β”€ implementation/
β”‚   β”œβ”€β”€ css/
β”‚   β”‚   β”œβ”€β”€ global.css          # Design tokens, resets, utilities
β”‚   β”‚   └── components.css      # Component-specific styles
β”‚   β”œβ”€β”€ index.html              # Homepage
β”‚   β”œβ”€β”€ about.html              # About page
β”‚   β”œβ”€β”€ contact.html            # Contact page
β”‚   └── case-study.html         # Project detail template
β”‚
β”œβ”€β”€ animations/
β”‚   └── scripts/
β”‚       └── animations.js       # GSAP animations + i18n system
β”‚
└── README.md                   # This file

🌐 Pages Overview

1. Homepage (index.html)

  • Hero with line-by-line reveal animation
  • Infinite marquee
  • Process section (3-step grid)
  • Apple-style zoom video section
  • Work grid (3 case studies)
  • FAQ accordion
  • Footer with CTA

2. About (about.html)

  • Editorial hero
  • Sticky narrative section (My Story)
  • Experience timeline
  • Visual break (full-width image)

3. Contact (contact.html)

  • Bold hero headline
  • Reach-out grid (Email, Social, Location)
  • Inquiry CTA with booking button

4. Case Study (case-study.html)

  • Project hero with metadata
  • Main project image
  • Challenge & Solution narrative
  • Statistics showcase
  • Gallery section
  • Next project navigation

🎬 Animations (GSAP)

Key Animation Features

  1. Custom Cursor - Follows mouse, activates on hover
  2. Line-by-Line Hero Reveal - Staggered text animations
  3. Infinite Marquee - Velocity-reactive scroll
  4. Apple-Style Zoom - Video scales from small to fullscreen
  5. Reveal Titles - Skew + fade-in on scroll
  6. Theme Switching - Light/dark mode per section
  7. Accordion FAQ - Smooth expand/collapse
  8. Work Item Reveals - Clip-path image animations
  9. Footer Animations - Staggered fade-in
  10. Nav Scroll Effect - Backdrop blur on scroll

Animation Configuration

// Located in: animations/scripts/animations.js
gsap.registerPlugin(ScrollTrigger);

// Example: Hero reveal
gsap.from('.line-content', {
    y: '100%',
    opacity: 0,
    duration: 1.2,
    ease: 'power4.out',
    stagger: 0.2
});

🌍 Multi-Language Support (i18n)

Supported Languages

  • EN - English (default)
  • ES - Spanish
  • RU - Russian

How It Works

  1. HTML Tagging: Elements use data-i18n attributes
<h1 data-i18n="hero.line1">Hey, I'm (Felipe),</h1>
  1. Translation Dictionary: Located in animations.js
const translations = {
    en: { "hero.line1": "Hey, I'm <span>...</span>" },
    es: { "hero.line1": "Hola, soy <span>...</span>" },
    ru: { "hero.line1": "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, я <span>...</span>" }
};
  1. Persistence: Uses localStorage to remember language preference across pages

Adding New Translations

  1. Add data-i18n="key.name" to HTML element
  2. Add translation keys to all 3 languages in animations.js
  3. Reload page - automatic detection

πŸ” SEO & AEO Optimization

Meta Tags (All Pages)

  • Title: Unique, keyword-rich (50-60 chars)
  • Description: Compelling, action-oriented (150-160 chars)
  • Keywords: Relevant industry terms
  • Open Graph: Social media preview cards

Structured Data (Homepage)

{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "Felipe",
  "jobTitle": "Senior Product Designer",
  "knowsAbout": ["UI/UX Design", "Webflow Development", "GSAP Animations"]
}

Best Practices Implemented

βœ… Semantic HTML5 elements
βœ… Unique H1 per page
βœ… Descriptive alt text
βœ… Fast load times (optimized assets)
βœ… Mobile-first responsive design


πŸ“± Responsive Breakpoints

/* Mobile First Approach */

/* Tablet */
@media (max-width: 991px) {
    /* 2-column grids, reduced spacing */
}

/* Mobile */
@media (max-width: 479px) {
    /* Single column, centered text, larger touch targets */
}

Key Responsive Adjustments

  • Typography: Uses clamp() for fluid scaling
  • Grids: 4-col β†’ 2-col β†’ 1-col
  • Spacing: Reduced vertical padding on mobile
  • Navigation: Hamburger menu with GSAP slide-in

🎯 Component Library

Buttons

<!-- Primary CTA -->
<a href="#" class="button-pill is-orange">
    <span>Get in touch</span>
    <span class="icon-arrow">↳</span>
</a>

Section Headers

<div class="section_header">
    <p class="section_label">MY PROCESS</p>
    <h2 class="reveal-title">How We <span class="italic-serif">Bring Ideas</span> To Life.</h2>
</div>

Narrative Grid (Sticky Title)

<div class="narrative_grid">
    <div class="narrative_sticky_col">
        <h2 class="narrative_title">The <span class="italic-serif">Brief.</span></h2>
    </div>
    <div class="narrative_content_col">
        <div class="narrative_block">
            <p>Content here...</p>
        </div>
    </div>
</div>

πŸš€ Quick Start

1. Open the Template

cd c:/Users/jniet/OneDrive/Dokumenty/labs/Webflow.engine/templates/felipe-ux/implementation

2. Launch with Live Server

Open index.html in your browser or use a local server:

# Python
python -m http.server 8000

# Node.js (http-server)
npx http-server -p 8000

3. Edit & Iterate

  • Styles: css/global.css and css/components.css
  • Content: HTML files in implementation/
  • Animations: animations/scripts/animations.js

🎨 Design Philosophy

Core Principles

  1. Minimalism: Every element serves a purpose
  2. Hierarchy: Clear visual flow guides the eye
  3. Motion: Animations enhance, never distract
  4. Performance: Fast load times, smooth interactions
  5. Accessibility: High contrast, semantic HTML, keyboard navigation

Inspiration Sources

  • Apple product pages (zoom animations)
  • Stripe (clean layouts, subtle motion)
  • Awwwards winners (editorial typography)
  • Webflow showcases (component design)

πŸ”§ Customization Guide

Changing Brand Color

  1. Update --color-orange in css/global.css:
--color-orange: #YOUR_COLOR;
  1. All CTAs, accents, and highlights update automatically

Adding a New Page

  1. Duplicate about.html or contact.html
  2. Update <title> and meta tags
  3. Add navigation link to all pages
  4. Add translations to animations.js if needed

Modifying Animations

Edit animations/scripts/animations.js:

// Find the animation you want to change
gsap.from('.element', {
    duration: 1.5,  // ← Adjust timing
    ease: 'power3.out'  // ← Change easing
});

πŸ“Š Performance Metrics

Target Scores

  • Lighthouse Performance: 90+
  • Accessibility: 95+
  • Best Practices: 95+
  • SEO: 100

Optimization Techniques

  • Preconnect to Google Fonts
  • Deferred GSAP loading
  • Optimized image formats (WebP recommended)
  • Minimal CSS/JS (no frameworks)

πŸ› Known Issues & Gotchas

1. GSAP ScrollTrigger on Mobile

  • Issue: Animations may lag on low-end devices
  • Fix: Reduce scrub values or disable on mobile

2. Video Autoplay

  • Issue: Some browsers block autoplay
  • Fix: Video has muted attribute (required for autoplay)

3. Translation Persistence

  • Issue: Language resets if localStorage is cleared
  • Fix: Expected behavior - user can re-select

πŸ“š Resources & References

Documentation

Fonts

Tools Used

  • Design: Figma (conceptual)
  • Code Editor: VS Code
  • Version Control: Git
  • Browser Testing: Chrome DevTools

πŸ“ Changelog

v1.0.0 - Initial Release

  • βœ… 4 fully responsive pages
  • βœ… 10+ GSAP animations
  • βœ… Multi-language support (EN/ES/RU)
  • βœ… SEO/AEO optimization
  • βœ… Component library
  • βœ… Mobile-first design

🀝 Contributing

This is a template project. To iterate:

  1. Mention the template name: "Work on felipe-ux"
  2. Describe your changes
  3. I'll maintain consistency with the existing design system

πŸ“„ License

This template is part of the Webflow.engine project.
Created for portfolio and educational purposes.


πŸ‘€ Contact

For questions or iterations on this template, simply reference it in conversation:

"I want to add a blog section to felipe-ux"


Last Updated: February 6, 2026
Template Version: 1.0.0
Status: βœ… Production Ready

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors