- 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
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]>
- Introduced DrawLine component for drawing animations.
- Added LazyRevealImage component for lazy loading images with reveal animations.
- Implemented TextDiffuseReveal for animated text reveals with staggered effects.
- Created TopProgressBar for a dynamic loading indicator.
- Added PointCloud mock for testing animations.
- Developed useReducedMotion hook to handle user preferences for reduced motion.
- Centralized animation configurations in config.ts for easier management.
- Defined animation variants in variants.ts for consistent animation effects.
- Established AnimationProvider to supply global animation settings.
- Created tests for AnimationProvider and useReducedMotion hook.
- Added SVG assets for branding and UI elements.
- Documented frontend review plan and hero circuit board animation plan.
- Revised the metadata in the layout component to reflect a more concise title and description, emphasizing software engineering expertise and high-performance applications.
- Updated keywords to include relevant technologies and skills, enhancing search engine optimization.
- Modified the hero section to replace "Full-Stack Engineer" with "Engenheiro de Software" and refined the description to highlight specialization in scalable architectures and critical systems.
- Adjusted alt text for the Open Graph image to align with the new branding.
- Removed redundant data attributes from the analytics script in the layout component to streamline the code and enhance clarity.
- Maintained essential tracking functionality while improving the overall structure of the analytics integration.
- Modified the Google Analytics collection endpoint in the Next.js configuration to include the automatic addition of "/g/collect" in the transport URL.
- Enhanced comments for better clarity regarding the changes made to the analytics routing.
- Renamed and updated Google Analytics script and collection endpoints in the Next.js configuration for better clarity and security.
- Adjusted the GoogleAnalytics component to reflect new script sources and transport URLs, improving tracking accuracy and data handling.
- Removed unnecessary meta tags and preload links in the layout component to streamline the codebase.
- Replaced the previous Google Analytics proxy routes with a direct integration in the layout component for improved performance and simplicity.
- Updated the Next.js configuration to include new rewrite rules for Google Analytics scripts and collection endpoints.
- Removed outdated proxy logic to enhance code clarity and maintainability.
- Changed the parameter type in the GET function to a promise, ensuring proper resolution of the `id` before use.
- Improved error handling by awaiting the parameters, enhancing the robustness of the API route.
- Refactored Google Analytics proxy routes in the Next.js configuration to enhance fallback handling.
- Improved fetch interception logic in the RootLayout component for more robust handling of Google Analytics requests, including support for `sendBeacon`.
- Updated the analytics script source to align with new API routes for better tracking accuracy.
- Added security headers in the Next.js configuration to enhance application security.
- Updated metadata in the layout component for improved SEO, including new titles, descriptions, and keywords.
- Introduced JSON-LD schema for projects to enhance search engine visibility.
- Enhanced project descriptions in the portfolio data for clarity and detail.
- Improved header component with logo integration and refined social media links for better accessibility.
- Added data attributes to the analytics script for improved user data handling, including replay masking and blocking options to enhance privacy and tracking accuracy.
- Implemented a rewrite rule in the Next.js configuration to proxy analytics requests, bypassing adblockers for Rybbit Analytics.
- Enhanced the RootLayout component by correcting the typing of the children prop and improving the structure for better type safety.
- Added a preconnect link for the analytics service to improve loading performance.
- Included a script for analytics tracking, set to load after the interactive phase for better user experience.