This commit sets up the foundational structure for the m5rcel portfolio website. It includes: - Basic Vite project configuration with React and TypeScript. - Essential dependencies like React, Framer Motion, and Lucide React. - Initial HTML structure with meta tags and Tailwind CSS setup. - Placeholder data structures for projects and timeline. - A basic loading screen component. - Updated README with local run instructions.
84 lines
2.4 KiB
TypeScript
84 lines
2.4 KiB
TypeScript
import { Project, TimelineItem } from './types';
|
|
|
|
// Apple's "Emphasized" easing
|
|
export const EASE_APPLE = [0.2, 0, 0, 1];
|
|
|
|
export const PROJECTS: Project[] = [
|
|
{
|
|
id: 'm5rcode',
|
|
title: 'm5rcode',
|
|
category: 'Language Design',
|
|
description: 'Experimental polyglot programming language written with a blend of Python, JavaScript, PHP, C#, and C++.',
|
|
image: 'https://picsum.photos/seed/m5rcode/800/600',
|
|
tags: ['C++', 'Python', 'Compiler'],
|
|
githubUrl: 'https://github.com/m4rcel-lol/m5rcode',
|
|
featured: true,
|
|
},
|
|
{
|
|
id: 'geminicord',
|
|
title: 'Geminicord',
|
|
category: 'AI Web Application',
|
|
description: "Pixel-perfect recreation of the modern Discord UI, powered by Google's Gemini AI.",
|
|
image: 'https://picsum.photos/seed/geminicord/800/600',
|
|
tags: ['React', 'Gemini API', 'UI Clone'],
|
|
githubUrl: 'https://github.com/m4rcel-lol/custom-discord-ai-chatbot-site',
|
|
featured: true,
|
|
},
|
|
{
|
|
id: 'bytebeat-win',
|
|
title: 'Python Bytebeat Player',
|
|
category: 'Audio Software',
|
|
description: 'Play Bytebeat sequences on PC using Python.',
|
|
image: 'https://picsum.photos/seed/bytebeat1/800/600',
|
|
tags: ['Python', 'Audio Synthesis'],
|
|
githubUrl: 'https://github.com/m4rcel-lol/python-bytebeat-player',
|
|
},
|
|
{
|
|
id: 'fedora-bytebeat',
|
|
title: 'Python Bytebeat Player',
|
|
category: 'Linux Audio',
|
|
description: 'Play Bytebeat sequences on PC using Python, but on linux.',
|
|
image: 'https://picsum.photos/seed/fedora/800/600',
|
|
tags: ['Python', 'Linux', 'Fedora'],
|
|
githubUrl: 'https://github.com/m4rcel-lol/fedora-bytebeat-player',
|
|
},
|
|
];
|
|
|
|
export const TIMELINE: TimelineItem[] = [
|
|
{
|
|
year: '2024',
|
|
title: 'Senior Frontend Engineer',
|
|
description: 'Leading UI architecture for next-gen consumer products.',
|
|
},
|
|
{
|
|
year: '2022',
|
|
title: 'Creative Developer',
|
|
description: 'Bridging the gap between design and engineering with motion-heavy interfaces.',
|
|
},
|
|
{
|
|
year: '2020',
|
|
title: 'Open Source Contributor',
|
|
description: 'Started journey contributing to major UI libraries.',
|
|
},
|
|
];
|
|
|
|
// Animation Variants
|
|
export const fadeInUp = {
|
|
hidden: { opacity: 0, y: 40 },
|
|
visible: {
|
|
opacity: 1,
|
|
y: 0,
|
|
transition: { duration: 0.8, ease: EASE_APPLE }
|
|
}
|
|
};
|
|
|
|
export const staggerContainer = {
|
|
hidden: { opacity: 0 },
|
|
visible: {
|
|
opacity: 1,
|
|
transition: {
|
|
staggerChildren: 0.1,
|
|
delayChildren: 0.2
|
|
}
|
|
}
|
|
}; |