Available from 22 June
    Energy Trading

    Mercury — CFP Energy

    Mercury is CFP Energy's (www.cfp.energy) modern trading platform, built from scratch to replace their internal trading tools. Based in London, CFP Energy needed a robust, enterprise-grade application that could handle real-time commodity trading with seamless integration into existing systems like Molecule. The platform combines an Angular 19+ frontend with AG Grid for advanced trade management, real-time communication channels, batch trade processing, and SSO authentication via Azure Entra ID. Built with Kubernetes-ready deployment architecture, Mercury represents a complete modernization of CFP Energy's trading infrastructure.

    View Company Site
    Mercury — CFP Energy

    Key Outcome

    Modern trading platform replacing legacy tools with real-time trade capture, batch processing, and seamless Molecule integration

    Technologies Used

    Frontend

    Angular 19+TypeScriptAG Grid (custom components)Angular MaterialTailwind CSSNGXSMSAL Angular / Azure Entra ID SSOReal-time communicationProgressive Web App support

    Backend

    .NET 9ASP.NET CoreBackend-for-Frontend architectureClean Architecture / Onion ArchitecturexUnit

    Integration & Messaging

    Kafka / Confluent KafkaCloudEvents-style messagingSignalR notificationsMolecule REST API adapter

    Data & Infrastructure

    PostgreSQL.NET Aspire AppHostDocker containersKubernetes DeploymentsAzure Kubernetes ServiceAzure Database for PostgreSQLAzure Cache for RedisGitHub Actions

    Developer Experience

    Aspire dashboardRuntime JSON configurationFeature flagsLocal HTTPS development certificatesDocker Compose

    The Challenge

    CFP Energy's existing trading tools had become fragmented and inefficient. They needed a complete replacement built from scratch — a platform that could handle high-volume commodity trading with real-time updates, integrate seamlessly with Molecule (eu.molecule.io), support multiple concurrent trades with validation in AG Grid, enable batch trade submission, and maintain enterprise-grade security with Azure Entra ID SSO — all while being thoroughly tested and production-ready on Kubernetes.

    Our Solution

    We built Mercury from the ground up as an Angular 19+ single-page application with AG Grid at its core for advanced trade management and validation. The platform features custom AG Grid components for real-time trade capture and editing, batch trade submission capabilities, and seamless integration with CFP Energy's existing Molecule trading infrastructure. Real-time WebSocket communication keeps all traders synchronized, while Azure Entra ID provides enterprise SSO. The entire stack is containerized and deployed on Kubernetes, with comprehensive unit and E2E test coverage using Playwright to ensure reliability.

    Key Features

    Built from scratch specifically for CFP Energy's trading workflows
    Advanced AG Grid implementation with custom components for trade capture and validation
    Real-time communication — traders see updates instantly across all sessions
    Multi-trade capture and validation — handle multiple trades simultaneously with inline AG Grid validation
    Batch trade submission — submit multiple validated trades in one operation
    Seamless Molecule integration — connect directly with CFP Energy's existing Molecule (eu.molecule.io) infrastructure
    Azure Entra ID SSO authentication — secure, single sign-on access for all traders
    Comprehensive test coverage — unit tests and Playwright E2E tests ensure reliability
    Kubernetes-ready deployment architecture for scalable, cloud-native operation
    NGXS state management for predictable application state
    .NET Backend-for-Frontend for clean API abstraction
    Kafka event pipeline for asynchronous trade processing and audit trails

    Benefits

    Complete replacement of legacy trading tools — more efficient, transparent, and flexible
    Real-time collaboration — all traders work with live, synchronized data
    Significantly faster trade entry and submission with AG Grid's high-performance interface
    Reduced errors through inline validation before trades reach downstream systems
    Batch operations save time when managing multiple trades
    Seamless integration with existing Molecule infrastructure — no disruption to established workflows
    Enterprise security with Azure Entra ID SSO
    High confidence in production stability through comprehensive test coverage
    Cloud-native architecture ready for horizontal scaling on Kubernetes

    💛 What We Love About This Project

    Building a complete trading platform from scratch — greenfield projects are rare in enterprise finance, and this was an opportunity to do it right from the start.

    The custom AG Grid components we built — they handle complex commodity trading workflows that would be impossible with off-the-shelf components.

    Real-time collaboration working flawlessly — watching multiple traders work on trades simultaneously with instant synchronization.

    The comprehensive test suite — unit tests and E2E coverage with Playwright give everyone confidence in production deployments.

    Seamless Molecule integration — traders don't even realize they're working with two systems; it just feels like one cohesive platform.

    Angular 19+ features — the latest Angular gave us incredible performance and developer experience improvements.

    How Kubernetes deployment architecture was built-in from day one, not retrofitted later.

    The trust CFP Energy placed in us to replace critical trading infrastructure.

    🤝 What We Appreciate About Our Client

    Their clear vision for what modern trading should feel like — they knew exactly what pain points needed solving.

    Willingness to invest in quality — comprehensive testing and proper architecture weren't negotiable, which led to a much better product.

    The collaborative relationship — traders and stakeholders were available for feedback, making iteration fast and focused.

    Trust in technical decisions — they let us choose the right tools and patterns without micromanaging implementation details.

    Commitment to thorough testing and reliability — in trading applications, this isn't optional, and they understood that from day one.

    Challenges We Faced

    1

    Building from scratch to replace established trading tools

    CFP Energy's traders relied on existing internal tools for daily operations. We needed to build a complete replacement that not only matched but exceeded the functionality of the legacy systems — all while maintaining business continuity and gaining trader trust.

    2

    Seamless Molecule integration

    Connecting with Molecule (eu.molecule.io), CFP Energy's existing trading infrastructure, required deep understanding of their API contracts and careful adapter design. The integration needed to be reliable enough for production trading while keeping Mercury's core logic independent.

    3

    Custom AG Grid components for complex trade workflows

    Standard AG Grid components weren't sufficient for CFP Energy's specialized trading workflows. We built custom cell editors, validators, and renderers that handle commodity-specific data types, complex validation rules, and real-time updates — all while maintaining AG Grid's performance at scale.

    4

    Real-time multi-user synchronization

    Multiple traders needed to see trade updates instantly without conflicts or data loss. We implemented WebSocket-based real-time communication with optimistic UI updates, conflict resolution, and graceful degradation when connections drop.

    5

    Validating multiple trades simultaneously in AG Grid

    Traders often work with dozens of trades at once. Each trade needs independent validation (price bounds, counterparty checks, settlement dates) while maintaining AG Grid's responsiveness. We built a validation pipeline that runs asynchronously without blocking the UI.

    6

    Batch trade submission with rollback capability

    Submitting multiple trades as a single atomic operation required careful transaction management. If any trade in a batch fails validation or submission, the entire batch needs to roll back cleanly with clear feedback about which trades caused the failure.

    7

    Azure Entra ID SSO integration

    Enterprise SSO with Azure Entra ID needed to work seamlessly in both local development and production Kubernetes environments. We implemented MSAL Angular with proper token management, silent refresh, and graceful handling of authentication failures.

    8

    Comprehensive test coverage for mission-critical trading

    Trading applications demand extremely high reliability. We built extensive unit test suites with Jest and full E2E test coverage with Playwright, including critical user journeys like multi-trade capture, validation failure scenarios, and Molecule integration flows.

    9

    Kubernetes deployment architecture

    The application needed to be production-ready on Kubernetes from day one. We designed the deployment architecture with health checks, rolling updates, secrets management, and horizontal pod autoscaling — all while keeping local development practical with .NET Aspire.

    Photo Gallery

    Mercury Trading Platform

    Mercury Trading Platform

    Adding Share to Trade

    Adding Share to Trade

    Debug Tools

    Debug Tools

    Trading Demo View

    Trading Demo View

    Add Share Error Validation

    Add Share Error Validation

    Error Message Display

    Error Message Display

    Progressive Web App

    Progressive Web App

    Trades List View

    Trades List View

    Want something similar?

    Let's discuss how we can build a solution tailored to your business needs.

    Book a Call

    Other Projects