Professional portfolio representing expertise in Digital Transformation, Enterprise Architecture, and Cloud Strategy.
This project is a modern, high-performance personal portfolio website designed to showcase professional experience, certifications, and strategic projects. It is built with a focus on clean architecture, accessibility, and user experience.
The site serves as a central hub for professional branding, featuring a multi-language interface (CA/ES/EN) and an interactive timeline of achievements.
- 🌍 Multi-language Support: robust i18n implementation using React Context, supporting Catalan, Spanish, and English seamlessly.
- 📱 Fully Responsive: "Mobile-first" design approach using Tailwind CSS, ensuring perfect rendering on all devices.
- 🎨 Modern UI/UX:
- Glassmorphism effects and smooth gradients.
- Interactive "Infinite Scroll" for certifications.
- Smart auto-scroll navigation for better usability.
- ⚡ Performance Optimized: Built with Vite for lightning-fast HMR and optimized production builds.
- 🧩 Modular Architecture: Strict separation between UI Components (
/components) and Content Data (aboutMe.ts,experienceInfo.ts), making updates easy without touching the code.
- Core: React 18, TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- Icons: Lucide React
- Deployment: GitHub Pages (via GitHub Actions)
- Fonts: Inter (Sans) & Playfair Display (Serif)
src/
├── components/ # UI Components (Hero, Experience, Education...)
├── context/ # React Context (Language State)
├── data/ # (Conceptual) Data files separated from logic
│ ├── aboutMe.ts
│ ├── experienceInfo.ts
│ ├── constants.ts
│ └── translations.ts
├── types.ts # TypeScript Interfaces
└── main.tsx # Entry pointTo run this project locally:
-
Clone the repository:
git clone https://github.com/JosepNR97/JNR.git cd JNR -
Install dependencies:
npm install
-
Run development server:
npm run dev
-
Build for production:
npm run build
Updating the portfolio content does not require modifying React components. All data is centralized:
- Personal Info & Nav:
src/aboutMe.ts - Work History:
src/experienceInfo.ts - Images & Links:
src/constants.ts
© 2025 Josep Núñez Riba. All rights reserved.