import { useEffect, useRef } from 'react' import { gsap } from 'gsap' import { ScrollTrigger } from 'gsap/ScrollTrigger' import { Code2, Server, Shield, Cpu, GitBranch, Bot, Cloud, Layers } from 'lucide-react' import { useReducedMotion } from '../hooks/useReducedMotion' gsap.registerPlugin(ScrollTrigger) const skills = [ { icon: Code2, label: 'Languages', items: 'Rust, V, D, Go, TypeScript, Python, PHP, Elixir' }, { icon: Layers, label: 'Frontend', items: 'Astro, Svelte 5, lightweight & modern UIs' }, { icon: Server, label: 'Backend & APIs', items: 'REST API design, complex infrastructure' }, { icon: Cpu, label: 'Low Level', items: 'Systems programming, kernel research' }, { icon: Shield, label: 'Security Research', items: 'Evasion, exfiltration, cryptography' }, { icon: GitBranch, label: 'DevOps', items: 'Self-hosting, Docker, monorepo architecture' }, { icon: Bot, label: 'Automation', items: 'Telegram / Discord bots & scripts' }, { icon: Cloud, label: 'Networks', items: 'Secure communications, protocol design' }, ] const earlyProjects = [ { name: 'Rose-Stealer_old', url: 'https://github.com/0xRose/Rose-Stealer_old', desc: 'Professional & efficient credential stealer written in python' }, { name: 'Rose-RAT', url: 'https://github.com/0xRose/Rose-RAT', desc: 'Remote Administration Toolkit Extension to Rose-Stealer with web-host and client controller' }, { name: 'Rose-Stealer', url: 'https://github.com/0xRose/Rose-Stealer', desc: 'Slightly refined & more modern version of Rosev1' }, { name: 'Rose-Obf', url: 'https://github.com/gumbobrot/Rose-Obf', desc: 'Rose Python obfuscator & encryptor' }, { name: 'RoseGuardian', url: 'https://github.com/gumbobrot/RoseGuardian', desc: 'Prior experimental version of Rose obf' }, { name: 'PyAnalyzer', url: 'https://github.com/gumbobrot/PyAnalyzer', desc: 'Python script utilizing pycdc and pyinstxtractor to decompile pyinstaller packed executables' }, { name: 'Knight-RAT', url: 'https://github.com/gumbobrot/Knight-RAT', desc: 'Discord-bot managed Remote Access Trojan' }, ] export default function ExperienceSection() { const sectionRef = useRef(null) const reducedMotion = useReducedMotion() useEffect(() => { if (reducedMotion || !sectionRef.current) return const ctx = gsap.context(() => { gsap.fromTo( '.exp-reveal', { y: 40, opacity: 0 }, { y: 0, opacity: 1, duration: 0.8, stagger: 0.08, ease: 'expo.out', scrollTrigger: { trigger: sectionRef.current, start: 'top 70%', toggleActions: 'play none none none', }, } ) }, sectionRef) return () => ctx.revert() }, [reducedMotion]) return (
{!reducedMotion && (
)}
{/* Section label */}
004
Experience
{/* Skills grid */}

Capabilities

{skills.map((skill) => (

{skill.label}

{skill.items}

))}
{/* Early history */}

Early History

Projects from 2+ years ago that shaped my foundation. These represent my first serious forays into software development and security research.

{earlyProjects.map((project) => (
{project.name}

{project.desc}

github
))}
) }