PadumaTechnology

Products

Three products, one shape

Each one takes a declaration you write and derives the working artifact from it. Below, the declaration is on the left and what it produces is on the right.

LotusTable

Online multiplayer mahjong, with nine rulesets

Nearest to launch

A real-time multiplayer mahjong platform covering nine rulesets, and the system that proves the rest of our engineering under live load.

hand.state.yaml

machine: mahjong.hand
initial: dealing
states:
  dealing:
    on: { wall_dealt: discarding }
  discarding:
    on:
      claim: melding
      hand_complete: scoring

What runs on it

  • Real-time multiplayer tables with live seat occupancy
  • An event-driven engine over Kafka and Redis
  • Statelume machines exercised by real players, not fixtures

Statelume

Behavioural state machines, declared

Load-bearing in production

A declarative language for behavioural state machines that generates Java — and already builds a production service.

order.state.yaml

states:
  awaiting_payment:
    on:
      paid: packing
      after(45s): expired
  packing:
    entry: [reserve_stock]
    on:
      shipped: complete

What Statelume derives

  • Generated Java following the State pattern, ahead of time
  • Or an interpreted runtime, for quick prototyping
  • Structure kept separate from business logic throughout

Topos

Architecture models as code

In development — deployed, and modelling our own estate

Describe your architecture in a version-controlled language that a machine can check, and render it from that same source of truth.

payments.topos.yaml

element: payments-api
dimension: application
layer: logical
relations:
  - serves: checkout-web
  - reads: ledger-store

What Topos derives

  • A schema-validated model, checked in CI before it lands
  • A traversable graph projection you can query
  • Rendered views, with layout decoupled from the model