Back to case studies
Anonymised case study

Solver and Modelling Platform

A proprietary modelling platform combining optimisation solvers, protected desktop delivery, and Azure-backed deployment workflows for international engineering organisations.

I worked on a commercial modelling product focused on production-system modelling, throughput/capacity trade studies, and optimisation-driven decision support. Delivery spanned solver-backed Python services, licensing and IP protection, desktop packaging, and customer-specific cloud deployment constraints, with day-to-day delivery through GitLab branches, merge requests, and review workflows.

PythonFlaskGPkitCVXOPTMOSEKAzure

Context

I worked on a commercial modelling product focused on production-system modelling, throughput/capacity trade studies, and optimisation-driven decision support. Delivery spanned solver-backed Python services, licensing and IP protection, desktop packaging, and customer-specific cloud deployment constraints, with day-to-day delivery through GitLab branches, merge requests, and review workflows.

The problem

Customers needed to run high-value modelling and optimisation workflows securely in environments they controlled, while still getting reliable releases, clear licence enforcement, and consistent solver behaviour across local development, hosted services, and restricted private-cloud contexts.

My role

I owned backend-heavy delivery across Python APIs, solver integration, build/test/deploy automation, and cloud execution paths. I led a major refactor across API and modelling layers, including factory-based patterns to improve composability and testability. I contributed to Electron-client integration where needed, but my core impact was around modelling services, licensing flows, and production-grade deployment reliability.

Approach

I treated the platform as one connected system: model formulation and solver execution (GPkit/CVXOPT/MOSEK), secure runtime licensing (Thales Sentinel SDK, RTE, ScriptEnvelope, V2C/ACC patterns), automated quality gates, and repeatable Azure infrastructure. I focused on reducing operational friction while preserving IP protection and deterministic analytical outputs.

Product context

The company delivers production-modelling and optimisation capability used to evaluate throughput, capacity, cost, and risk trade-offs in complex manufacturing/system design decisions. My work focused on making that analytical core reliable, protected, and deployable in real customer environments.

Solver and model execution engineering

I worked deeply in Python services that orchestrated model inputs, constraint handling, and optimisation runs using GPkit/CVXOPT/MOSEK pathways. This included refactoring model and API code for readability and testability, and tightening behaviour around solver outputs and validation logic.

Licensing, protection, and controlled runtime

Commercial delivery required robust entitlement controls, so licensing was treated as part of system architecture rather than an afterthought. I worked across Sentinel-based runtime and packaging concerns (including RTE and ScriptEnvelope patterns), plus customer provisioning flows such as V2C/ACC for pooled and controlled licence usage.

Deployment and delivery at platform depth

Beyond application code, I built and maintained build/test/deploy scripts and infrastructure paths for Azure compute and image-based releases, with Docker for local consistency and Terraform for repeatable environments. This supported customer-managed deployments, including restricted private-cloud contexts, without sacrificing release discipline.

System shape

Custom or Terraform deploymentAzure compute + container image registryDocker build/runtime parityCustomer-managed/private-cloud executionElectron desktop workflowLicence enforcement (Sentinel)Python + Flask API layerGPkit/CVXOPT/MOSEK solver pathsModel validation + automated tests

Key decisions

Use solver-layer separation so GPkit model definitions, CVXOPT pathways, and MOSEK-backed optimisation runs stayed testable and swappable

Implement licensing as a first-class runtime concern using Sentinel SDK capabilities (including RTE and ScriptEnvelope) to protect commercial IP

Standardise local and CI execution with Docker-backed build and test scripts to reduce environment drift

Use Terraform-managed Azure foundations (including container image workflows) for repeatable customer-targeted deployments

Prioritise deploy scripts and validation checks so restricted/private-cloud rollouts remained predictable under NDA constraints

Keep backend contracts stable for Electron integration while allowing deeper solver and model refactors behind the API

Technical areas

PythonFlaskGPkitCVXOPTMOSEKAzure

Outcome

  • Improved confidence in solver-backed API behaviour through stronger automated tests around modelling and optimisation flows
  • Reduced release friction by introducing and hardening build/deploy scripting for containerised Azure paths
  • Strengthened software protection and entitlement control with production licensing workflows
  • Supported customer-managed and restricted-cloud deployment scenarios without exposing core modelling IP
  • Enabled complex modelling work to be consumed in a practical product workflow rather than remaining a research-only capability
  • Contributed to a platform used by major international companies making high-cost production and scale-up decisions

What I would improve next

  • Expand solver diagnostics surfaced to users when optimisation constraints are infeasible or under-specified
  • Add deeper telemetry across solve time, licence handshakes, and deployment lifecycle events
  • Increase self-service environment verification tooling for customer-hosted installs