Skip to content

About

đŸ‘©â€đŸ’» Um portfĂłlio web moderno e responsivo criado para apresentar meus projetos, habilidades e experiĂȘncia profissional.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Portfólio — Pedro Graça

PortfĂłlio pessoal de Pedro Henrique Graça de Assis Silva — Desenvolvedor Full-Stack. ConstruĂ­do do zero em HTML, CSS e JavaScript puro: zero dependĂȘncias, zero build step.

HTML5 CSS3 JavaScript DependĂȘncias Build

Preview do portfĂłlio


🔗 Acesse

🌐 Site pendente de deploy — será publicado na Vercel
🐙 GitHub @pedrogrca
đŸ’Œ LinkedIn /in/pedrogrca
✉ Email pedrograaca@gmail.com

✹ Destaques

Interface & movimento

  • Preloader com contador 000 → 100 e cortina de saĂ­da
  • Cursor customizado (ponto rĂĄpido + anel com inĂ©rcia)
  • Tema claro/escuro com persistĂȘncia e sem flash no carregamento
  • Scroll reveal com stagger automĂĄtico via IntersectionObserver
  • Header inteligente: esconde ao descer, reaparece ao subir, com barra de progresso
  • BotĂ”es magnĂ©ticos, cards com spotlight e tilt 3D nos projetos
  • Contadores animados, timeline que preenche conforme o scroll e parallax discreto

ConteĂșdo

  • Stack filtrĂĄvel por categoria (front, back, banco, ferramentas, design, idiomas)
  • Timeline de experiĂȘncia profissional
  • Projetos com screenshots clicĂĄveis que levam ao deploy
  • Terminal interativo de verdade — digite help, whoami, projects, skills, contact
  • Conquistas em bento grid assimĂ©trico, relĂłgio local ao vivo e email copiĂĄvel
  • đŸ„š Easter eggs discretos (tente o Konami Code, e olhe o console do navegador)

đŸ§± DecisĂ”es de arquitetura

Por que JavaScript puro em vez de React?

Um portfĂłlio Ă© a Ășnica pĂĄgina em que a performance faz parte do argumento de venda. NĂŁo hĂĄ estado complexo, rotas nem dados dinĂąmicos aqui — entĂŁo um framework sĂł adicionaria peso.

Critério Vanilla (escolhido) React
Peso final ~45 KB ~180 KB+
Build step nenhum obrigatĂłrio
Deploy qualquer host estĂĄtico precisa de build
DependĂȘncias para auditar 0 dezenas

Tudo que normalmente justificaria GSAP ou Framer Motion — scroll reveal, parallax, magnetismo, contadores, tilt 3D — foi resolvido com IntersectionObserver, requestAnimationFrame e CSS custom properties. Nenhuma requisição extra.

Organização

  • CSS em 5 camadas, carregadas em paralelo via <link> (nĂŁo @import, que serializaria os downloads): tokens → base → layout → components → sections
  • Design tokens centralizados: cores, tipografia, espaçamento, raios e curvas de animação vivem sĂł em tokens.css. NĂŁo existe valor "mĂĄgico" espalhado pelo cĂłdigo.
  • JS modular: 11 mĂłdulos ES independentes, cada um exportando init(). O orquestrador (main.js) inicializa cada um dentro de try/catch — se um mĂłdulo falhar, o resto do site continua funcionando.
  • Ícones autorais: sprite SVG inline desenhado Ă  mĂŁo, sem bibliotecas de Ă­cones.

📁 Estrutura de pastas

personal-portfolio/
├── index.html              markup semñntico + SEO + JSON-LD + sprite de ícones
├── robots.txt              diretrizes de indexação
├── sitemap.xml             mapa do site
├── site.webmanifest        metadados PWA
└── assets/
    ├── css/
    │   ├── tokens.css      design tokens + definição dos temas
    │   ├── base.css        reset, tipografia, acessibilidade, textura
    │   ├── layout.css      container, fundo, header, nav, footer
    │   ├── components.css  botĂ”es, cards, chips, cursor, preloader, reveal
    │   └── sections.css    hero, sobre, stack, timeline, projetos, contato

    ├── js/
    │   ├── main.js         orquestrador tolerante a falhas
    │   └── modules/
    │       ├── preloader.js    contador de carregamento + cortina
    │       ├── cursor.js       cursor customizado com inĂ©rcia
    │       ├── nav.js          header, scroll spy, progresso, menu mobile
    │       ├── theme.js        alternñncia claro/escuro persistida
    │       ├── reveal.js       scroll reveal + preenchimento da timeline
    │       ├── magnetic.js     atração magnĂ©tica + spotlight dos cards
    │       ├── counter.js      animação de nĂșmeros
    │       ├── tilt.js         inclinação 3D dos projetos
    │       ├── parallax.js     deslocamento sutil no scroll
    │       ├── terminal.js     console fake interativo
    │       └── easter.js       easter eggs
    ├── img/                screenshots dos projetos (WebP) + og-image
    └── docs/               currículo em PDF

🚀 Rodando localmente

O projeto Ă© estĂĄtico — nĂŁo precisa de npm install. SĂł de um servidor local (por causa dos ES Modules, abrir o arquivo direto via file:// nĂŁo funciona).

git clone https://github.com/pedrogrca/personal-portfolio.git
cd personal-portfolio

Suba um servidor com qualquer uma das opçÔes abaixo:

python -m http.server 5500
npx serve -l 5500

Depois abra http://localhost:5500 no navegador.


♿ Acessibilidade & Performance

  • prefers-reduced-motion totalmente respeitado — o preloader vira instantĂąneo, o cursor customizado desliga e os elementos aparecem jĂĄ posicionados
  • HTML semĂąntico, hierarquia de headings correta, aria-label nos controles e link "pular para o conteĂșdo"
  • Foco visĂ­vel em todos os elementos interativos (nunca removido)
  • AnimaçÔes restritas a transform e opacity, para nĂŁo disparar reflow
  • Imagens com width/height declarados (evita layout shift) e loading="lazy"
  • Screenshots em WebP — ~75% mais leves que os PNGs originais
  • Cursor customizado e efeitos de hover desativados em telas touch

🔍 SEO

  • Meta tags descritivas, canonical e theme-color por esquema de cor
  • Open Graph + Twitter Card com imagem 1200×630 dedicada
  • Schema.org (Person) em JSON-LD, incluindo formação, idiomas e stack
  • robots.txt, sitemap.xml e web manifest

📋 Próximos passos

  • Deploy na Vercel
  • Trocar o domĂ­nio placeholder pelas URLs reais (canonical, Open Graph, JSON-LD, sitemap)
  • Adicionar foto no hero (hoje exibe um placeholder)
  • EstatĂ­sticas do GitHub ao vivo
  • Auditoria Lighthouse

📬 Contato

Aberto a oportunidades de estĂĄgio e a novos clientes de desenvolvimento.

LinkedIn GitHub Email


Projeto pessoal de Pedro Henrique Graça de Assis Silva · Natal, RN — Brasil

About

đŸ‘©â€đŸ’» Um portfĂłlio web moderno e responsivo criado para apresentar meus projetos, habilidades e experiĂȘncia profissional.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages