<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" /> <link href="https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet" />
Skip to main content

Project 03/ 09

Callback Widget for InPost

As a frontend developer at Yarrl, I built the frontend of an InPost widget that lets customers request a callback or book a time slot for a conversation.

Key solutions

  1. Web component architecture

    Full responsibility for the architecture: a complete web component (@angular/elements) with Shadow DOM isolation and runtime configuration via HTML attributes.

  2. Self-contained bundle

    Optimization of a self-contained bundle (inline assets, fonts, and translations) without additional requests.

  3. Accessible reactive forms

    Reactive forms with dynamic validation and keyboard-accessible dialogs (a11y).

Technologies used

Angular 21Angular ElementsShadow DOMReactive Formsngx-translateVitestDocker + NginxBitbucket PipelinesAWS ECR / ECS