Skip to content

louisprp/commodities-dashboard

Repository files navigation

Commodities Refining Monitor

This application is a market-monitoring dashboard designed for commodities. It provides tools for tracking refining margins, crude benchmark curves, and product term structures in energy markets.

Key Features

  • Overview Dashboard: Key performance indicators, day-over-day changes, historical percentiles, and market-state summaries.
  • Crack Spreads Analysis: Multi-year historical overlays, statistical distribution rankings, and small-multiple charts for key energy products.
  • Term Structure Monitor: Forward curves, calendar spreads, forward crack spreads, roll yields, and term-structure heatmaps.
  • Data Integration: DuckDB-powered data processing for parquet analytics files from LSEG Refinitiv.

Screenshots

Overview

Screenshot 2026-05-23 at 18 34 28 Screenshot 2026-05-23 at 18 34 31

Crack Spreads

Screenshot 2026-05-23 at 18 34 52 Screenshot 2026-05-23 at 18 34 43

Forward Curves and Term Structure

Screenshot 2026-05-23 at 18 35 26 Screenshot 2026-05-23 at 18 35 23 Screenshot 2026-05-23 at 18 35 19 Screenshot 2026-05-23 at 18 35 16 Screenshot 2026-05-23 at 18 35 06

Technology Stack

  • Core Framework: Next.js with App Router
  • Language: TypeScript
  • Database: DuckDB (using @duckdb/node-api)
  • UI Components: Tailwind CSS, shadcn/ui, Radix UI, and Phosphor Icons
  • Data Visualization: Recharts

Getting Started

Prerequisites

Ensure you have Node.js and pnpm installed on your system.

Installation

Clone the repository and install dependencies:

pnpm install

Running the Application

To run the application locally in development mode:

pnpm dev

Open http://localhost:3000/dashboard in your browser to view the application.

Building for Production

To create an optimized production build:

pnpm build

To run the production server:

pnpm start

About

Refining margin and crude curve monitoring dashboard built with Next.js, DuckDB, and Recharts.

Resources

Stars

Watchers

Forks

Contributors