PGE Newsletter PWA

Offline-first internal newsletter application

Progressive Web App for PGE Capital Group's internal newsletter, designed with offline-first architecture, Service Workers, and a performance-focused React stack, consistently reaching Lighthouse scores of 95+ for performance and accessibility.

PGE Newsletter PWA

Overview

PGE Newsletter PWA is an internal web application used to distribute news and updates across the PGE Capital Group. The main goal was to ensure fast loading, offline access to content, and reliable behavior on devices with unstable network connectivity.

  • Provide offline-first access to newsletter content for employees
  • Achieve and maintain high Lighthouse scores for performance and accessibility (95+)
  • Optimize loading times on low-bandwidth connections
  • Ensure a simple, maintainable React codebase for future extensions

Key Features

Offline-first Architecture

Key newsletter views and assets cached via Service Workers so users can access content without network connectivity.

Installable PWA

Support for add-to-home-screen behavior on desktop and mobile, with manifest configuration and app-like UX.

Optimized Performance

Code splitting, image optimization and caching strategies designed to reach a sustained Lighthouse score of 95+.

Accessible UI

Semantic HTML, keyboard navigation and ARIA attributes to align with internal accessibility requirements.

Tech Stack

Frontend

ReactTypeScriptReact RouterStyled Components or SCSSLighthouse audits

Backend

REST API (internal)Node.js or existing PGE backend (integration layer)Caching layer for static content

Technical Highlights

Offline-first Strategy with Service Workers

⚠️ Problem

Employees needed access to newsletter content on devices with unstable or limited connectivity, especially in field locations.

✓ Solution

Implemented a Service Worker with a cache-first strategy for static assets and critical views, with network-first for dynamic content where freshness mattered.

⚡ Impact

Users can open the app and read previously loaded newsletters even without an active connection, reducing support tickets related to access issues.

1 / 3