Projects

  • Kiosk

    Airport self-service check-in

    My involvement
    2024 – Now
    Company
    Sabre
    Role
    Project architect
    Stack
    25 technologies

    React and Redux self-service check-in application built from 270+ UI packages.

    • Front-end bundles built and published through GitHub Actions and delivered to GCP through the shared frontend delivery server
    • CI moved from Jenkins to GitHub Actions and from Lerna bootstrap to native npm workspaces (2026)
    • Supporting infrastructure designed by me: a Terraform Nginx reverse-proxy tier and a Next.js monitoring dashboard

    Technologies

    Languages
    • JavaScript
    • TypeScript
    • Sass
    Frontend
    • React
    • Redux
    • React Router
    Backend & data
    • Node.js
    Cloud & DevOps
    • Terraform
    • Google Cloud
    • GitHub Actions
    • Nginx
    Testing & quality
    • Jest
    • Playwright
    • ESLint
    • Prettier
    • TestCafe
    • SonarQube
    • Enzyme
    • Stylelint
    • Veracode
    Build & tooling
    • Webpack
    • Lerna
    • npm
    • Babel
    • Gulp
  • Hosted Payment Page

    Independent Payment Page that can be integrated with any existing web or mobile application

    My involvement
    2023 – 2024
    Company
    Sabre
    Team
    5 scrum teamsPoland · United States · Bangalore
    Stack
    16 technologies

    Full Stack Next.js standalone mobile and web application exposing capabilities like real-time, async and offline payment. Supports common payment methods like credit card or PayPal as well as more exotic ones like Konbini or China Union Pay. Developed by 5 scrum teams spread across Poland, United States and Bangalore

    • Written using React and Next.js
    • Automated deployment and testing via Playwright
    • Running inside GKE and deployed via terraform
    • WCAG 2.1, Fraudcheck and PCI 4.0 compliant
    Show moreShow less

    Joined the team at the beginning of the year. I was tasked with building and delivering standalone web and mobile application that could be consumed by one of the clients within 6 months.
    First release main purpose was to provide payment capability for third party web application via common forms of payment like credit cards or paypal.
    At the same time it had to be accessible, SII/GDPR/PCI compliant, support Fraudcheck/3DS and translate to 26 languages.

    First two months I spent on architecting and building the project core like - frontend, backend, ci/cd, automation, CMS integration, analytics.
    Next months were focused on delivering business capabilities and solving edge cases like session expiration or support for older mobile devices.

    Project was delivered to Production one week ahead of time. It is a shared payment page used by many apps.

    Technologies

    Languages
    • TypeScript
    • HTML5
    • CSS3
    Frontend
    • React
    • Next.js
    Backend & data
    • Node.js
    Cloud & DevOps
    • Google Cloud
    • Terraform
    • Jenkins
    Testing & quality
    • Playwright
    • Jest
    • ESLint
    • Prettier
    Build & tooling
    • npm
    • Git
    • Bitbucket
  • Experience Layer

    GraphQL API tailored specifically for Sabre frontend/native applications to improve user experience

    My involvement
    2021 – Now
    Company
    Sabre
    Stack
    22 technologies

    Backend for frontend architecture handling integration with multiple APIs, orchestration and providing response based on requester needs eliminating over-fetching

    • Apollo Server exposing GraphQL API
    • Written in Typescript
    • Cloud native design
    • deployed as GCE using Terraform
    Show moreShow less

    After working for a few years in Digital Workspace project the frontend was getting bigger and bigger and we’ve made a decision to build a dedicated middleware to improve the performance and UX.
    I was tasked to design, built PoC and implement middleware based on BFF (Backend for the Frontend) architecture for multiple Sabre frontend applications.

    After a year, Experience Layer was created as highly scalable and resilient stateless API based on Apollo GraphQL, written in typescript and deployed as GCE to GCP.
    It’s main role was handling orchestration, connection to multiple API providers as well as eliminating over fetching by adjusting response to the client needs (mobile vs desktop)
    Built as cloud native solution leveraging terraform for deployment and GCP for monitoring and alerting.
    Semi-auto typescript typed, generated based on consumed API swagger definitions as well as from exposed graphql schema for application and unit/ integration/e2e tests.

    Technologies

    Languages
    • TypeScript
    Backend & data
    • Node.js
    • GraphQL
    • Apollo GraphQL
    • Express
    • GraphQL Codegen
    Cloud & DevOps
    • Google Cloud
    • Terraform
    • Jenkins
    • OpenTelemetry
    • GitHub Actions
    Testing & quality
    • Jest
    • Postman
    • ESLint
    • Prettier
    • SonarQube
    Build & tooling
    • npm
    • Git
    • Bitbucket
    • Webpack
    • Babel
    • Turborepo
  • Digital Workspace

    Responsive E-commerce web and native application providing airline agents airport capabilities

    My involvement
    2019 – Now
    Company
    Sabre
    Role
    Architect
    Team
    Over 60 peoplePoland · United States · Argentina
    Stack
    35 technologies

    Application providing capabilities like passenger check-in, printing bag tags or boarding. Developed by over 60 people spread across Poland, United States and Argentina. Used by dozens of airlines such as Aeroflot, Virgin Australia, Kulula or Latam.

    • Written using React, JavaScript and TypeScript
    • Hosted in AWS, later migrated to GCP
    • With test coverage over 90%
    • End-to-end tested with TestCafe and Playwright
    • Supports 26 languages

    Highlights

    • Monorepo with 11 packages: React UI, GraphQL backend for frontend, SDK, web bridge, end-to-end tests, performance tests and infrastructure
    • CI/CD migrated from Jenkins to GitHub Actions
    • Blue/green deployments of the backend split into independent applications, with staged promotion workflows
    • Terraform modules with tests, dashboards and rollout verification
    • Client and server telemetry with SigNoz dashboards
    • Artillery performance smoke tests in CI and Turborepo with a remote build cache
    • Persisted GraphQL queries
    Show moreShow less

    Joined the team of two year old E-commerce project providing travel agents and airport agents check-in, boarding, ancillaries/seats addition/purchase capabilities as responsive web and native application.
    Project was a mess, most of the original team left or was about to leave. My first year I spent on improving various aspects of the application. Mostly focused on basics like introducing common code formatting, linters, enhancing test coverage, adding e2e tests, building Jenkins CI/CD, updating documentation, formalising contributors guide, moving deployment to AWS and improving UX.

    Once project was stabilised I was mainly occupied with enhancing project with new business features, handling design, building PoC, implementation and documentation.
    At the same time I was making sure project is up to date with latest software.

    Project was split into multiple modules each designed to serve a different purpose:

    • common platform - separate repository used to build common react components shared across multiple frontend applications via storybook
    • ui - frontend for the web application
    • experience layer - dedicated backend for the frontend handling orchestration and normalising data
    • e2e - handling e2e tests for the frontend, split into different categories like sanity/smoke/fft/st tests
    • bridge - layer handling communication with native devices like boarding pass scanner or bag tag printer
    • native - native application for Android and iOS

    Today Digital Workspace is used by few dozen airlines across hundreds of locations in the world.

    Technologies

    Languages
    • JavaScript
    • TypeScript
    • HTML5
    • Sass
    • CSS3
    Frontend
    • React
    • Redux
    • React Router
    Backend & data
    • Node.js
    • GraphQL
    • Apollo GraphQL
    • Express
    Cloud & DevOps
    • Amazon AWS
    • Jenkins
    • GitHub Actions
    • Terraform
    • Google Cloud
    • OpenTelemetry
    • SigNoz
    Testing & quality
    • Jest
    • TestCafe
    • ESLint
    • Prettier
    • SonarQube
    • Enzyme
    • Testing Library
    • Playwright
    • Artillery
    Build & tooling
    • npm
    • Git
    • Bitbucket
    • Webpack
    • Babel
    • Turborepo
    • Lerna
  • Digital Experience

    Next-Generation Airline E-Commerce

    My involvement
    2017 – 2019
    Company
    Sabre
    Team
    Over 30 peoplePoland · United States · India
    Stack
    25 technologies

    E-commerce web application used to book, exchange and checkin airline tickets. Designed as highly customisable, modern responsive web application with mobile first approach. Created and maintained by over 30 people spread across Poland, United States and India. Used by dozens of airlines such as Kulula, Air Serbia or Bangkok Airways across the world.

    • Written using React and Javascript
    • Supported on all modern browsers and devices
    • Hosted in AWS
    • Wcag 2.1 compliant
    • Supports 26 languages

    Highlights

    • Introduced accessibility testing (2017)
    • Upgraded the build to Webpack 3 and 4 and React
    • Added Jest integration tests
    • Worked on AEM authoring and translation workflows
    Show moreShow less

    Joined the team in the middle of second big release. It was my second big E-commerce project used by millions of users across the world. It’s main purpose was to provide highly customisable Whitelabel product for booking and managing airline reservations.
    My first year I spent enhancing it with new key features and improving various aspects of the application.

    On one end I focused on features like ability to exchange reservations, pay for booking with loyalty points, supporting refunds/cancellations and managing already booked flights. On the other I had to make sure that each aspect like UX, developer experience, performance, ci/cd, monitoring, accessibility, testing didn’t fall behind.
    It was a very challenging year but at the end of it project was used by more than 10 airlines across 2 continents.

    Next year brought even more challenges. Application was migrated from on-premises setup into AWS. CI/CD was rewritten and migrated from TeamCity to Jenkins. Frontend became WCAG 2.1 compliant. E2E tests were added. In house CMS integration.

    Today Digital Experience is used by dozens of airlines supporting millions of users, actively being enhanced. In 2021 together with Digital Workspace and 2 more frontend projects it was integrated with Experience Layer backend API to enhance UX.

    Technologies

    Languages
    • JavaScript
    • HTML5
    • Sass
    • CSS3
    Frontend
    • React
    • Redux
    • Lodash
    • React Router
    Backend & data
    • Node.js
    • Express
    Cloud & DevOps
    • Amazon AWS
    • Jenkins
    Testing & quality
    • Jest
    • TestCafe
    • ESLint
    • Prettier
    • SonarQube
    • Enzyme
    • Stylelint
    Build & tooling
    • npm
    • Git
    • Bitbucket
    • Webpack
    • Babel
    • Gulp
  • Digital Connect Check-In

    Broad collection of various APIs related to the flight check-in process

    My involvement
    2016 – 2017
    Company
    Sabre
    Team
    2 scrum teamsPoland · United States
    Stack
    6 technologies

    Provides a rich set of services which can be called in any order assuming that a passenger itinerary is already retrieved, and the API's user has a Digital Connect Check-In session identifier. Created and maintained by 2 scrum teams in Poland and United States. Used by multiple internal applications as well as external clients.

    • REST & GraphQL API
    • Stateful Session Manager by Redis
    • Microservice architecture
    Show moreShow less

    I was tasked with designing Java based API providing Airline Check-In capabilities for internal applications and external Sabre customers.
    Over a year REST and GraphQL API was created based on Java and Spring. Product is successfully being used today by multiple customers.

    Technologies

    Languages
    • Java
    Backend & data
    • Spring
    • GraphQL
    Cloud & DevOps
    • Jenkins
    Testing & quality
    • JUnit5
    Build & tooling
    • Apache Maven
  • Sabre Sonic Mobile

    Fully customizable mobile checkin and booking solution

    My involvement
    2015 – 2016
    Company
    Sabre
    Team
    Over 30 peoplePoland · United States · India
    Stack
    13 technologies

    Web application used to book and checkin airline tickets. Used by almost 20 airlines such as Etihad Airways, Alitalia, Kulula or Aeroflot

    • Backend developed in Java
    • Frontend based on backbone and jQuery
    • Customizable via in house CMS
    • Created and maintained by over 30 people spread across Poland, United States and India.
    Show moreShow less

    When I joined Sabre Sonic Mobile was an outdated Full Stack Project based on Java/Spring/Oracle on the backend and Backbone/JQuery on the frontend.
    It was used to provide functionality to book new flights and exchange, refund, cancel existing reservations.
    First few months I spent on learning and improving architecture and tools of the project.
    Later I changed my focus and mostly worked on designing and implementing new features.

    Technologies

    Languages
    • Java
    • JavaScript
    • Sass
    • HTML5
    • CSS3
    Frontend
    • jQuery
    • Backbone.js
    Backend & data
    • Spring
    Cloud & DevOps
    • Jenkins
    Testing & quality
    • JUnit5
    Build & tooling
    • Apache Maven
    • Git
    • Grunt
  • Business Online

    The easiest way to order, repair or return ABB products.

    My involvement
    2011 – 2015
    Company
    ABB
    Stack
    8 technologies

    E-commerce application providing an efficient, easy to use online interface for ABB Products, Parts and Repair order processing.

    • Backend developed in Java and Struts 2
    • Frontend based on AngularJS and Bootstrap
    Show moreShow less

    I worked on E-commerce application providing easy to use online interface for ABB Products, Parts and Repair order processing.
    It was a complex application built in multiple programming languages and spanning across multiple systems. Those included Struts in the frontend and backend in Java, C#, Visual Basic, Oracle, OMS.

    First two years I spent most of my time developing new functionalities and maintaining existing product. After that we decided to migrate UI from Struts into brand new framework - AngularJS. That required also backend refactor and exposing a brand new REST API created in Spring.
    I was leading the effort, starting from the design & approach through implementation and testing.
    It was a great success and after a year of gradual component replacement we migrated entire UI into brand new architecture.

    Technologies

    Languages
    • Java
    • JavaScript
    Frontend
    • Angular
    • Bootstrap
    Backend & data
    • Spring
    • Oracle
    Testing & quality
    • JUnit5
    Build & tooling
    • Apache Maven
  • Remote Execution and Access

    Simple way to establish a connection with a remote computer

    My involvement
    2011
    Company
    IBM
    Stack
    1 technologies

    Desktop & shell “application” used to remotely access and execute many of the IBM internal services. Using multiple different languages to tweak performance.

    • Developed using Java and Visual Basic
    • Native part written in C++ and Python
    • Supports Linux and Windows
    Show moreShow less

    My second project also an internal tool was used to establish connection between various applications using different methods/protocols. Project was heavily reliant on linux and bash scripts.
    Most of my time was spent enhancing existing functionality by adding new applications support.

    Technologies

    Languages
    • Java
  • Abstract User Interface Markup Language

    Easy graphical component creation and development

    My involvement
    2009 – 2011
    Company
    IBM
    Stack
    2 technologies

    Abstract XML based language that allows user to create graphical components such as buttons or tables directly in eclipse and translate them to swing, jsf or pure javascript/dojo solution

    • Developed using Java, Java Swing and Ant
    • Component creation based on custom Eclipse plugin
    • Deployed and managed by WebSphere Application Server
    Show moreShow less

    In my first project at IBM, I spent most of my time developing and maintaining internal project used to create graphical components such as buttons or tables directly in eclipse and translate them to swing, jsf or pure javascript/dojo solution.
    This gave me unique opportunity to work with multiple technologies across backend, frontend, database and server.

    Technologies

    Languages
    • Java
    Testing & quality
    • JUnit5