AIRDATA · AIRLINE TICKETING

Agency & retail ticket platform

Agency and retail ticketing on Vietnam's leading airline platform: legacy SOAP wrapped in typed services, Keycloak as one identity layer, LangChain cutting 25% of manual agent time.

Role
Full-Stack Engineer
Company
Airdata
Period
07/2023 — 02/2025

Problem

Two ticket-selling products — agency and retail — sat on top of legacy airline and rail APIs speaking SOAP. Auth was inconsistent across services, the frontend shipped too much JavaScript, and agents spent hours re-keying ticket data by hand.

Solution

Consolidated identity behind Keycloak for every microservice, wrapped the SOAP integrations in typed service boundaries, trimmed bundle size and API chatter on the client, and put a LangChain automation in front of ticket-data extraction and validation. ELK made production failures traceable instead of anecdotal.

Architecture

Tech stack

  • NodeJS
  • VueJS
  • Keycloak
  • ELK Stack
  • LangChain
  • WordPress

Impact

25%
less manual agent time on ticket data
Sprintly
dependency upgrades closing CVEs

More work