"use client"; import { motion, type Variants, useReducedMotion } from "framer-motion"; import profilePhoto from "@/public/edev.jpeg"; import { Section } from "./Section"; import { DrawLine } from "./animations/DrawLine"; import { LazyRevealImage } from "./animations/LazyRevealImage"; const STORY_DATA = [ { label: "Hardware + software", title: "Do sinal fisico ao produto digital", content: "Construo a ponte entre dispositivos, protocolos de baixo nivel, backend e interface para que o sistema inteiro pareca uma unica experiencia coerente.", }, { label: "Execution", title: "Entrega clara mesmo sob restricao", content: "Trabalho bem em contextos com legado, integracoes complexas e pouca margem para erro, priorizando estabilidade, leitura tecnica e evolucao sustentavel.", }, ]; const PROFILE_POINTS = [ { title: "Arquitetura pragmatica", description: "Escolhas guiadas por contexto, operabilidade e impacto real no produto.", }, { title: "Integracao profunda", description: "Capacidade de atravessar camada fisica, servicos e interface sem perder consistencia.", }, { title: "Ownership ponta a ponta", description: "Responsabilidade que cobre discovery, implementacao, qualidade e operacao.", }, ]; export default function About() { const shouldReduceMotion = useReducedMotion(); const staggerContainer: Variants = { hidden: {}, visible: { transition: { delayChildren: 0.08, staggerChildren: 0.08, }, }, }; const cardVariants: Variants = { hidden: shouldReduceMotion ? { opacity: 0 } : { opacity: 0, y: 20, clipPath: "inset(100% 0 0 0)" }, visible: { opacity: 1, y: 0, clipPath: "inset(0% 0 0 0)", transition: shouldReduceMotion ? { duration: 0.25 } : { duration: 0.8, ease: [0.16, 1, 0.3, 1], }, }, }; const cardHover = shouldReduceMotion ? undefined : { y: -4, boxShadow: "0 18px 40px rgba(10,10,10,0.16)", }; return (
Garuva, SC | Remote worldwide } > {STORY_DATA.map((step) => (
{step.label}

{step.title}

{step.content}

))}
Technical profile

Base tecnica e postura de entrega

Sou engenheiro de software full-stack com foco em integrar camadas que normalmente ficam separadas: hardware, servicos, operacao e interface. Meu trabalho e dar forma clara ao que costuma nascer fragmentado.

{PROFILE_POINTS.map((point) => (
{point.title}

{point.description}

))}
); }