Skip to main content

Planon JavaScript Platform

Cloud engineering + frontend architecture + developer enablement

I built this platform during my Cloud Engineer internship at ABN AMRO to centralize JavaScript used by Planon workplace-service forms and give that code a secure, repeatable delivery path through Azure.

Portfolio reconstruction

This public walkthrough is a sanitized reconstruction of the project. Internal URLs, resource names, form identifiers, business data and confidential implementation details have been removed or replaced with generic examples. It is not an official ABN AMRO or Planon website.

At a glance​

AreaWhat I worked on
JavaScript architectureCentralized shared logic and form-specific modules
Runtime loadingLightweight loader that resolves the active Planon context
Shared utilitiesReusable helpers and render-timing control
Azure hostingJavaScript library and documentation hosted in Blob Storage
Infrastructure as CodeBicep templates for Azure resources and private networking
SecurityPrivate Endpoint and secured delivery architecture
CI/CDAzure DevOps pipeline across Test, Acceptance and Production
Release controlAutomatic Test deployment + approval gates for Acc/Prod
Developer enablementDocusaurus documentation for architecture and workflow

The platform in one picture​

┌────────────────────┐
│ Planon forms │
│ workplace flows │
└─────────┬──────────┘
│ loads
▼
┌────────────────────┐
│ loader.js │
│ resolves context │
└──────┬───────┬─────┘
│ │
│ └──────────────┐
▼ ▼
┌───────────────┐ ┌───────────────┐
│ shared/ │ │ forms/ │
│ functions.js │ │ FORM_001.js │
│ timing.js │ │ FORM_002.js │
└───────────────┘ └───────────────┘
│
│ delivered through
▼
┌────────────────────────────────────────────┐
│ Azure Blob Storage + Private Networking │
│ Test → Approval → Acceptance → Approval → │
│ Production │
└────────────────────────────────────────────┘

Why this mattered​

The project was not just about writing JavaScript for individual forms.

The real engineering problem was to create a maintainable platform around that JavaScript so reusable functionality could live in one place, form-specific behavior could stay isolated, and releases could move through controlled Azure environments without manual file handling.

Use the pages in this walkthrough to explore the platform layer by layer.