For 1.5 years I worked in an international team on the front-end portal of an online casino gaming platform. It was an environment where technology, money, regulation, and user experience had to line up tightly — no part could afford to slack off.
My responsibility was building a Single Page Application on Angular 2 with TypeScript for the front-end, and Vert.x for the API layer. In the portal, players could safely gamble with real money in HTML5 and Flash games. 'Safely' meant everything at once here: technically (sessions, transactions, reliability), legally (compliance, age verification, regional restrictions) and mentally (self-exclusion, limits, clear information).
Building an SPA for a platform like this is a different story than a typical SPA. Players expect an experience that comes as close as possible to a native app — instant reactions, smooth transitions, no unnecessary navigation between functional screens — while underneath there is continuous communication with payment providers, gaming providers, and internal systems for account, bonus, and history.
A large part of my work was in those integrations. A payment starts in the portal, is handled at an external provider, and must lead within seconds to an updated balance and a play experience without hiccups. Bonuses, free spins, and loyalty rules tie into exactly the same flows. One wrong assumption about order or timing and the whole play experience cracks.
At the same time, it all had to be testable. We invested heavily in unit tests with Jasmine and Karma, and in scenarios that mimicked complete player journeys. For something like a casino that's not just technically wise but organisationally: you must always be able to show where money went and what events happened in what order.
Working in an international team that overlapped with colleagues in other time zones taught me a lot about asynchronous collaboration: clear documentation, clear pull requests, and discipline in commits. A challenging project where I could apply my skills in a complex, dynamic environment — and where the combination of tech, regulation, and user experience kept me lastingly sharp.
Outcomes
- 1.5 years on the front-end portal inside an international team
- Payments that lead to an updated balance within seconds, without a hitch in play
- Unit tests with Jasmine and Karma plus scenarios mimicking complete player journeys