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
EnEnzyme
Stylelint
VcVeracode
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.
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.
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.
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
EnEnzyme
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.
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.
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.
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.