{"id":24499915,"url":"https://github.com/luillyfe/portfolio","last_synced_at":"2025-07-24T12:33:24.671Z","repository":{"id":269691282,"uuid":"908174602","full_name":"luillyfe/portfolio","owner":"luillyfe","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-20T03:08:34.000Z","size":2740,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-23T14:47:40.995Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luillyfe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-12-25T10:50:50.000Z","updated_at":"2025-01-20T03:08:36.000Z","dependencies_parsed_at":"2025-06-23T14:49:32.040Z","dependency_job_id":null,"html_url":"https://github.com/luillyfe/portfolio","commit_stats":null,"previous_names":["luillyfe/portfolio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/luillyfe/portfolio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luillyfe%2Fportfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luillyfe%2Fportfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luillyfe%2Fportfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luillyfe%2Fportfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luillyfe","download_url":"https://codeload.github.com/luillyfe/portfolio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luillyfe%2Fportfolio/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266844079,"owners_count":23993963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-21T22:16:23.127Z","updated_at":"2025-07-24T12:33:24.628Z","avatar_url":"https://github.com/luillyfe.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Modern Developer Portfolio\n\n![Portfolio Preview](/profile.png)\n\nA modern, responsive developer portfolio built with React, TypeScript, and Tailwind CSS. Features smooth scrolling, interactive elements, and a clean, professional design.\n\n## ✨ Features\n\n- **Responsive Design** - Looks great on all devices\n- **Interactive UI** - Smooth scrolling and engaging animations\n- **Dark Theme** - Modern dark mode design with gradient accents\n- **Progress Tracking** - Visual scroll progress indicator\n- **Section Navigation** - Quick jump to different sections with dot navigation\n- **Performance Optimized** - Debounced scroll handling and optimized animations\n\n- **Clear Structure**: The code is well-organized with separate components for each section, making it maintainable.\n- **Smooth Scrolling**: The scrollIntoView({ behavior: \"smooth\" }) provides a good user experience.\n- **Active Section Highlighting**: The activeSection state and related logic correctly highlight the current section in the navigation.\n- **Parallax Effect**: The mouse parallax effect on the hero section adds a nice visual touch.\n- **Throttling**: The use of setTimeout and throttleTimeoutRef prevents excessive updates on mouse move, improving performance.\n- **Cleanup**: The useEffect includes proper cleanup for event listeners and timeouts, preventing memory leaks.\n\n## 🚀 Tech Stack\n\n- React 18+\n- TypeScript\n- Tailwind CSS\n- Lucide Icons\n- Lodash\n\n## 🛠️ Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/luillyfe/portfolio.git\ncd portfolio\n```\n\n2. Install dependencies:\n\n```bash\nnpm install\n```\n\n3. Start the development server:\n\n```bash\nnpm run dev\n```\n\n4. Build for production:\n\n```bash\nnpm run build\n```\n\n## 🏗️ Project Structure\n\n```\nsrc/\n├── assets/        # Static assets (images, icons)\n├── components/    # React components\n├── App.tsx        # Main application component\n├── Portfolio.tsx  # Portfolio implementation\n└── App.css        # Global styles\n```\n\n## 🎨 Customization\n\n### Modifying Sections\n\nThe portfolio consists of several main sections that can be easily customized in `Portfolio.tsx`:\n\n- Hero\n- Projects\n- Experience\n- Skills\n- Publications\n\nEach section is clearly marked with comments in the code and can be modified or extended as needed.\n\n### Styling\n\nThe project uses Tailwind CSS for styling. The main theme colors can be customized in the `tailwind.config.js` file. The current color scheme uses:\n\n- Primary gradient: `from-blue-400 to-purple-500`\n- Background: Black and dark grays\n- Accent colors: Blue and purple tones\n\n### Adding Projects\n\nNew projects can be added by modifying the `projects` array in `Portfolio.tsx`:\n\n```typescript\nconst projects = [\n  {\n    title: \"Project Name\",\n    description: \"Project description\",\n    metrics: \"Key metrics or results\",\n    icon: \u003cIcon /\u003e,\n    color: \"from-color-500 to-color-500\",\n  },\n  // Add more projects...\n];\n```\n\n## 📱 Responsive Design\n\nThe portfolio is fully responsive with breakpoints for:\n\n- Mobile: Default styles\n- Tablet: `md:` prefix (768px)\n- Desktop: `lg:` prefix (1024px)\n\n## 🔧 Development\n\n### Prerequisites\n\n- Node.js 16+\n- npm or yarn\n\n### Available Scripts\n\n- `npm run dev` - Start development server\n- `npm run build` - Build for production\n- `npm run preview` - Preview production build\n- `npm run lint` - Run ESLint\n- `npm run type-check` - Run TypeScript type checking\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📧 Contact\n\nFermin Blanco - [@luillyfe](https://twitter.com/luillyfe) - luillyfe89@gmail.com\n\nProject Link: [https://github.com/luillyfe/portfolio](https://github.com/luillyfe/portfolio)\n\n---\n\nMade with ❤️ by [Fermin Blanco](https://github.com/luillyfe)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluillyfe%2Fportfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluillyfe%2Fportfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluillyfe%2Fportfolio/lists"}