Oil & Gas Production Planning System

While working at Cognite A/S, I took over development of a Production & Injection planning system for managing offshore petroleum operations at the Valhall field in the North Sea. The project started under Lundin Oil in late 2020 and migrated to AkerBP when they acquired Lundin in 2022. I worked on this for 4 years, seeing it through a corporate acquisition and into daily use by offshore operations teams.

The application lets operations teams create, review, and approve daily production plans. The key design decision I introduced was making the entire user interface configurable through an admin panel. Operators can add tables, charts, tabs, and data sources themselves without requesting code changes. This turned what would normally be a developer bottleneck into self-service for the operations team.

The system integrates with Cognite Data Fusion for data storage and scheduled synchronization, with a plan lifecycle that moves data from flexible draft storage to permanent time series on approval. The stack combines Django, Plotly Dash, and Flask under one application.

The project went through a major corporate acquisition (Lundin to AkerBP), which meant migrating infrastructure, adding multi-tenant support, and keeping the application running in production throughout. It evolved from a 10-tab prototype in 2020 to a mature production system with monitoring, audit logging, and multiple deployment environments.

Alongside the main application, I published two supporting libraries that were adopted across the team: one for declarative time series data retrieval (open source on PyPI), and one providing reusable UI components for other projects built on the same stack.