Two languages, one JSON contract
A drag-and-drop layout editor in Flutter web, with Java Lambdas doing the heavy work.
A Flutter web app for building report pages from blocks and widgets. The user drags blocks into a tree and sets margins, borders and colors in side panels; the app saves the layout as JSON.
The front-end does not do the heavy work. Export and import go through API Gateway to Java Lambdas (Apache POI), which turn the JSON into an Excel workbook and back. The platform reads that workbook as its layout config. Two languages, one JSON contract between them, and the Lambdas stay stateless.
flowchart LR
E[Flutter web editor] <-->|layout JSON| G[API Gateway]
G <--> L[Java Lambdas: Apache POI]
L <-->|Excel workbook| P[Platform layout config]Built alone over five months. In October the codebase was restructured into components, interface, model and view layers, so that blocks and widgets share one model, and the bug list went to zero.
Client engagement, 2021 to 2026. Names, identifiers and internals are generalised.