Evandro Fonseca Junior
e2b20bc699
test: align loader with unavailable demo
2026-09-04 22:08:04 -03:00
Evandro Fonseca Junior
0ae5d2f784
fix: remove stale Twins Lab demo link
2026-09-04 22:07:14 -03:00
Evandro Fonseca Junior
a2992ca41e
fix: hide unavailable Twins Lab demo
2026-09-04 22:04:55 -03:00
Evandro Fonseca Junior
bea235d6fd
fix: preserve safe motion and consent failures
2026-09-04 22:02:00 -03:00
Evandro Fonseca Junior
a4e5e5c048
fix: restore portfolio loader and safe consent revocation
2026-09-04 21:40:35 -03:00
Evandro Fonseca Junior
bff3e4d735
docs: add SEO operations runbook
2026-09-04 20:13:22 -03:00
Evandro Fonseca Junior
f83c5e1ada
feat: publish privacy and consent links
2026-09-04 20:04:27 -03:00
Evandro Fonseca Junior
a9a35cf936
feat: add static social image cards
2026-09-04 19:50:23 -03:00
Evandro Fonseca Junior
4a4b41613a
fix: complete dynamic social image metadata
2026-09-04 19:43:55 -03:00
Evandro Fonseca Junior
62bcfbd8fa
feat: harden portfolio and add SEO foundations
2026-09-04 19:25:30 -03:00
Evandro Fonseca Junior
b079afdd73
feat(story): build procedural notebook animation
2026-09-01 04:35:11 -03:00
Evandro Fonseca Junior
f3ed9da777
fix(story): harden notebook interaction and fallback
2026-08-31 01:28:43 -03:00
Evandro Fonseca Junior
bb4bf8e7e2
fix: descartar geometrias clonadas do notebook
2026-08-31 00:18:48 -03:00
Evandro Fonseca Junior
1c1a6d5c6d
refactor: substituir celular e filmstrip por notebook
2026-08-31 00:14:54 -03:00
Evandro Fonseca Junior
d768dfa791
docs: adicionar plano do notebook story
2026-08-31 00:14:45 -03:00
Evandro Fonseca Junior
b4a2b81d55
feat: adicionar browser e fallback do notebook
2026-08-30 23:42:31 -03:00
Evandro Fonseca Junior
c66ff7fde6
style: format notebook contracts
2026-08-30 23:42:26 -03:00
Evandro Fonseca Junior
8b858528f8
feat: definir contratos do notebook story
2026-08-30 23:35:44 -03:00
Evandro Fonseca Junior
d89dde21ee
feat: adicionar asset laptop cc0 para notebook story
2026-08-30 23:31:58 -03:00
Evandro Fonseca Junior
370cc34e16
docs: plano de implementacao do notebook story
2026-08-30 23:24:48 -03:00
Evandro Fonseca Junior
7bbdfd9daf
docs: spec notebook story interativo
2026-08-30 23:19:09 -03:00
Evandro Fonseca Junior
a3d080d4d0
fix(story): filmstrip de prints com sticky+scrub dedado e ReelDirector pos-hidratacao sem mutation no DOM
2026-08-30 21:04:11 -03:00
Evandro Fonseca Junior
ecadb7c540
feat(story): celular CC0 com site vivo na tela, ReelDirector scrub em todas as seções e filmstrip pinado de prints reais
2026-08-30 20:00:56 -03:00
Evandro Fonseca Junior
8be2ba572d
feat(story): reel scrollytelling scrubbed por scroll com palco WebGL 3D
2026-08-30 18:15:02 -03:00
Evandro Fonseca Junior
52960313f0
fix(hero): starfield uniforme com grade estratificada + tags mobile sem quebra interna
2026-08-30 18:15:02 -03:00
Evandro Fonseca Junior
957c58b69a
fix: starfield visibility on load and WebGL fail-soft guard
...
- ParticleBuildText: self-scheduling rAF loop (previous one-shot tick left the canvas blank until scroll), deterministic sampleUntilBuilt warm-up, ambient star layer spread across the whole card with twinkle, random drift and a birth/death lifecycle (4-10s TTL with 800ms fades and respawn)
- ControlRoomGlobe: fail-soft WebGL guard (webgl2/webgl check + try/catch around createGlobe) so an unavailable or poisoned context renders the fallback instead of crashing the hero tree
2026-08-27 19:29:38 -03:00
Evandro Fonseca Junior
b791b7de9e
feat: control room hero, SEO/AEO optimization and design system fixes
...
Hero: replace particle field with cobe globe (Capricorn view, multi-axis drag, reduced-motion safe), telemetry HUD with pointer parallax, particle text build effect, Space Grotesk display font. SEO: short titles with template, PT-BR accents, twitter cards on dynamic cases, escaped JSON-LD via lib/jsonld.ts, CSP report-only, 25 service FAQs answer-first. Design: fix TW4 layered reset killing spacing utilities, literal @theme tokens, mobile hero overflow, header overlap, empty case cards. Remove framer-motion (unified on motion/react), header version badge, phone number from hero CTA. Production build verified (24 static pages).
2026-08-27 10:55:21 -03:00
Evandro Fonseca Junior
0920370f30
chore: ignore local worktrees
2026-08-08 20:00:19 -03:00
Evandro Fonseca Junior
cdde81eb6e
fix: stabilize reveals and update contact email
2026-08-08 19:42:40 -03:00
Evandro Fonseca Junior
aad56ad885
feat: add AS Servicos site (asservicos.com) to portfolio
2026-08-05 22:38:27 -03:00
Evandro Fonseca Junior and Claude Sonnet 5
d76bbf5974
feat: revamp portfolio with case studies, curriculo page, and local SEO
...
Adds dynamic case study and curriculo routes, project health monitoring
for live demo status, and strengthens local SEO (structured data,
service-area targeting for Garuva/Joinville/Curitiba, a dedicated
"criação de sites" service page) so search results better match the
professional title (Engenheiro da Computação) and experience (5 anos).
Co-Authored-By: Claude Sonnet 5 <[email protected] >
2026-07-15 01:31:46 -03:00
Evandro Fonseca Junior
9236fdd685
feat: add randomized portfolio hero variants
2026-07-10 02:46:42 -03:00