Quality Bank

2010 – 2012, Technical Lead

Invoicing $1 Billion/Month for Oil Pipeline

In 2010, I was tasked with leading the replacement of the Quality Bank for the Trans-Alaska Pipeline System (TAPS), the critical accounting system responsible for invoicing close to a billion dollars of crude oil each month. The system’s core challenge was its volatility. Due to constant litigation, the complex formulas for calculating oil quality were frequently changed retroactively, requiring months or even years of past invoices to be reissued with interest. The legacy system wasn’t designed for this reality; it was a brittle application riddled with one-off patches, requiring developer intervention for every court-ordered revision.

Our solution was to re-architect the system around a new philosophy: business rules should be treated as versioned data, not as static code. We designed a sophisticated database-centric system where every variable affecting the calculations (from quality factors to pipeline configurations) could be versioned. This empowered the client’s team of accountants and lawyers to manage revisions independently by creating new versions of the underlying datasets, without writing a single line of code. To ensure the perfect accuracy required for a high-stakes financial system, the architecture was backed by a rigorous, test-driven development process.

The result was a transformative success. The new Quality Bank became the single source of truth, giving the client the autonomy and confidence to manage their own revisions. As a final validation, we re-ran every invoice from the system’s history, matching the legacy output to the penny.

Key Takeaway

A great team can build the impossible. For this project, that meant more than just technical skill; it was a combination of a disciplined, test-driven development process and a truly collaborative partnership with a client who was as committed to the outcome as we were.

Languages (5)

C#

C# is a general-purpose, object-oriented programming language developed by Microsoft. It is used to develop a variety of applications, including web, mobile, desktop, and gaming applications. C# is based on the C and C++ programming languages, and it is designed to be simple, powerful, and type-safe. It supports both procedural and object-oriented programming paradigms, and it is used to create applications for the .NET framework. C# is a versatile language that can be used to create a wide range of applications.

CSS

CSS (Cascading Style Sheets) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML. CSS is designed to enable the separation of presentation and content, including layout, colors, and fonts. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple web pages to share formatting by specifying the relevant CSS in a separate .css file, and reduce complexity and repetition in the structural content.

HTML

HTML (HyperText Markup Language) is a markup language used to create webpages and web applications. It is the standard markup language used to create webpages and web applications. HTML is written in the form of HTML elements consisting of tags enclosed in angle brackets. These tags describe the content and structure of webpages and web applications. HTML also provides a means to create interactive webpages and web applications with the use of HTML forms, which can be used to collect user input.

JavaScript

JavaScript is a high-level, interpreted programming language that is used to create interactive web pages and applications. It is a scripting language that is used to add dynamic elements to web pages, such as animations, interactive forms, and dynamic content. JavaScript is also used to create mobile applications and desktop applications. It is an object-oriented language that is used to create complex applications.

SQL

SQL (Structured Query Language) is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS). It is used to perform tasks such as retrieving, updating, inserting, and deleting data from a database. SQL is also used to create and modify database structures, such as tables, views, and stored procedures. It is a powerful language that can be used to query, analyze, and manipulate data.

Databases (1)

SQL Server

SQL Server is a relational database management system (RDBMS) developed by Microsoft. It is used to store and manage data in a structured format, allowing users to query and manipulate the data using Structured Query Language (SQL). It is a powerful and reliable platform for data storage and management, and is used by many organizations for mission-critical applications. It is highly scalable and supports a wide range of features, including data replication, security, and high availability.

Tools (1)

Backbone.js

Backbone.js is a lightweight JavaScript library that brings structure to client‐side applications by providing models with key–value binding and custom events, collections with rich enumerable functions, views with declarative event handling, and a router for managing application state and URLs. It syncs seamlessly with RESTful APIs via its built‐in sync method, making it easy to fetch and persist JSON data. By relying only on Underscore.js (and optionally jQuery or Zepto), Backbone.js imposes minimal constraints on how you architect your code while offering just enough conventions to keep large‐scale single‐page applications organized and maintainable. Its event‐driven design encourages decoupled components, and its simplicity has made it popular for developers who prefer to assemble their own toolchains rather than adopt more opinionated frameworks.

Operating Systems (1)

Windows

Windows is a series of operating systems developed by Microsoft. It is the most popular operating system for personal computers, and is used in a variety of devices, including desktop and laptop computers, tablets, and smartphones. Windows provides a graphical user interface, allowing users to interact with their computer using a mouse and keyboard. It also includes a range of applications, such as web browsers, media players, and office suites. Windows also includes a range of security features, such as user accounts, firewalls, and antivirus software.

Devices (1)

Server

A server is a hardware device or software application that listens for and responds to requests from client systems over a network. It’s commonly used to host web applications, manage databases, and provide file or compute resources in data centers or cloud environments.

Jobs (1)

Resource Data, Inc.

2005 – 2014, Technical Lead

Technical Lead for Resource Data, Inc. (RDI), a consultancy specializing in custom database, web, and GIS programming services