Eduardo Nowakoski

Hello, I am

Senior AEM & Front-End Engineer

AEM Cloud

Specializing in Adobe Experience Manager (AEM Cloud), component architecture, HTL, Sling Models, and modern front-end integration — React, Next.js, Angular, Vue.js, and TypeScript in enterprise environments.

About Me

Senior AEM Engineer with 4+ years building scalable CMS platforms for e-commerce and enterprise ecosystems — currently at Newfold Digital.

Core expertise in HTL, Sling Models (Java), OSGi, Editable Templates, Experience Fragments, and reusable component architecture, with strong microfrontend integration (React, Next.js, Angular, Vue.js).

Experienced in legacy portal migration to AEM, performance optimization (Lighthouse/Core Web Vitals), and production incident reduction for clients such as Enel, Stellantis, and Vivo.

Testing culture (Jest, Cypress), CI/CD pipelines, and advanced English (C1) in international teams.

Professional History

Mar–Dec/2025: Merkle (Stellantis) as consulting/PJ engagement, in parallel with NTT Data (Enel) through Mar/2026.

Newfold Digital

Newfold Digital

Senior AEM & Front-End Engineer (AEM Integrated Projects)

April 2026 - Present
  • Develop and maintain reusable AEM components using HTL, TypeScript, JavaScript, and SCSS.
  • Create Editable Templates, Experience Fragments, and reusable content structures.
  • Build AEM components for Newfold ecosystem brands: Domain, Network Solutions, HostGator, Bluehost, and Web.com.
  • Daily collaboration with international teams in a fully English-speaking environment.
NTT Data

NTT Data

Senior AEM & Front-End Engineer (AEM Integrated Projects)

Client: Enel
March 2025 - March 2026
  • Built scalable applications using React, Angular, TypeScript, and SCSS integrated with AEM Cloud Service.
  • Led migration of 4 enterprise portals from AngularJS to Angular 20 with a multidisciplinary team.
  • Architectural modernization resulting in 20% performance improvement and 80% reduction in production incidents.
  • Developed reusable components aligned with Design System initiatives.
  • REST API integration, CI/CD pipelines, and AI-assisted debugging and refactoring.
Merkle (Dentsu Group)

Merkle (Dentsu Group)

Senior AEM & Front-End Engineer (Consulting — Client Stellantis)

Client: Stellantis
March 2025 - December 2025
  • Developed React, Next.js (SSR/SSG), and Vue.js applications within a microfrontend architecture for multibrand e-commerce.
  • Co-created and implemented Design System integrated with AEM.
  • Performance optimization achieving up to 40% improvement in mobile and desktop metrics.
  • Automated testing with Jest and Cypress integrated into CI/CD workflows.
  • Worked in high-traffic enterprise environments with critical performance requirements.
Compass.uol

Compass.uol

Front-End Engineer

Front-End & AEM Intern → Front-End Engineer

Client: Vivo
January 2022 - February 2025
  • Progression from Front-End & AEM Intern to Front-End Engineer at the same company.
  • Intensive training in modern front-end, Vue.js, and Adobe Experience Manager (AEM).
  • Development with Vue.js 3, Pinia, and React; legacy Vue 2/Vuex modernization.
  • Front-end + AEM integration (HTL, Sling Models, authorable components) for clients such as Vivo.
  • 20% performance improvement and 50% reduction in production incidents.
  • Jest/Cypress testing, CI/CD, GitFlow, and engineering best practices mentorship.

Impact in Numbers

Metrics below refer to specific projects (NTT/Enel and Merkle/Stellantis). Compass/Vivo recorded a 50% incident reduction — see timeline for details.

0%

Performance improvement

NTT Data / Enel — AngularJS → Angular migration (2025)

Baseline: average Lighthouse (LCP, TTI) across 4 portals — Q1/2025. Method: standardized build pipeline, Angular module lazy loading, and shared AEM component library. Period: Mar–Dec/2025.

0%

Incident reduction

NTT Data / Enel — architectural modernization (2025)

Baseline: ~12 P1/P2 incidents per month (Q1/2025). Method: centralized monitoring, shared component fixes, and automated regression suite. Scope: Enel portals via NTT Data.

0%

Mobile/desktop improvement

Merkle / Stellantis — performance optimization (2025)

Baseline: Core Web Vitals (mobile + desktop) pre-optimization — Mar/2025. Method: code splitting, image optimization, API caching, and microfrontend bundle review. Period: Mar–Dec/2025.

Featured Projects

Vivo

B2B E-commerce — Telecom

Company: Compass.uol

Segment: Telecommunications

Type: B2B E-commerce (Equipment Rental)

Stack: Vue 3, Pinia, React, Redux, AEM, Java, Jest, Cypress

End-to-end development, components, CMS integration, and automated testing.

Later maintenance: Vue 2, Vuex, AEM

Stellantis

Reusable Landing Page — Multi-brand Automotive

Company: Merkle (Dentsu Group)

Segment: Automotive

Type: Reusable Landing Page

Stack: Vue 3, Pinia, React, Next.js, Zustand, AEM, Java, Storybook, Jest

Reusable architecture, Design System integrated with CMS, componentization and documentation.

Enel

Institutional Portals — Energy

Company: NTT Data

Segment: Energy

Type: Institutional Portals

Stack: Angular, RxJS, React, Next.js, AEM, Java

Layout migration, infrastructure (AWS → AEM), standardization and scalability of multiple portals.

Case Study — Enel Portals

Migration of 4 legacy institutional portals to AEM Cloud Service with modern Angular

Client: EnelCompany: NTT DataMar–Dec/2025

Problem

  • Four institutional portals on AngularJS with high technical debt and unstable deploys.
  • Content fragmented between AWS and legacy CMS, hindering editorial governance.
  • Below-target performance (LCP > 4s) and ~12 P1/P2 incidents per month in Q1/2025.
  • Duplicated components across portals with no unified Design System.

Solution

  • Progressive AngularJS → Angular 20 migration with per-portal feature flags.
  • Content consolidation on AEM Cloud Service with Editable Templates and Experience Fragments.
  • Shared library of reusable HTL + Sling Models (Java) components across portals.
  • CI/CD pipelines with Jest/Cypress tests and Lighthouse gates before each release.

Architecture

  • Angular presentation layer consumes content via Sling Models and mapped REST APIs.
  • AEM component overlay (`/apps`) with global content policies per portal.
  • Dispatcher with cache rules by content type and automated invalidation post-publish.
  • Author/publish separation with Cloud Manager for deploys and preview environments.

Results

  • 20% performance improvement (average Lighthouse across 4 portals).
  • 80% reduction in P1/P2 incidents (Q1/2025 baseline vs. Q4/2025).
  • Increased editorial autonomy with standardized authorable components.
  • Scalable technical foundation for new regional portals without full rewrites.

AEM Architecture Decisions

Real technical choices applied in enterprise projects

Overlay vs. component inheritance

Enel / NTT Data
Decision
Overlay (`/apps/client`) on core components with selective inheritance via `sling:resourceSuperType`.
Rationale
Enables AEM upgrades without rewriting custom components; content teams retain autonomy with global policies.

Sling Models vs. logic in HTL

Newfold Digital
Decision
All business logic and data transformation in Java Sling Models; HTL for rendering only.
Rationale
Unit testability, separation of concerns, and performance — HTL stays simple and safe for authors.

Editable Templates vs. static templates

Stellantis / Merkle
Decision
Editable Templates with per-brand policies within a shared Experience Fragments structure.
Rationale
Multi-brand e-commerce needs per-brand flexibility without code duplication; authors create pages without deploys.

Dispatcher cache strategy

Enel / NTT Data
Decision
Aggressive cache for static assets + short TTL for dynamic page HTML + invalidation via flush rules.
Rationale
Balances performance (LCP) with freshness for institutional content that changes at moderate frequency.

Technologies & Tools

Technical stack and tools I use daily

AEM Platform

AEM Cloud ServiceHTLSling ModelsOSGiJCRDispatcherEditable TemplatesExperience FragmentsContent Fragments

Frontend Core

ReactNext.jsVue.jsAngularTypeScriptJavaScriptGraphQLRxJS

CMS & Backend

JavaMavenREST APIsCloud Manager

State Management

ReduxZustandPiniaVuex

Testing & Docs

JestCypressStorybook

Styling & DevOps

Tailwind CSSSCSSGitGitFlowCI/CDAzure DevOpsGitLabMicrofrontends

AI-Augmented Engineering

How I use AI day to day — process over tooling

I use AI as a productivity multiplier — not as a replacement for engineering judgment. It accelerates research, debugging, refactoring, and documentation while I retain full ownership of architecture, implementation decisions, and code quality. Every AI-generated output goes through the same review standards I apply to any production code.

CursorGitHub CopilotClaudeCodex

Practical experience with these tools in enterprise projects. I pick based on context — the process and quality bar stay the same.

Optional section — expand to see workflow, real-world cases, and day-to-day impact.