Case Studies
Turning raw grid data into actionable, open-source intelligence
Sector
Renewable Energy
Country
UK
Electricity Maps provides global access to the electricity mix, prices and carbon intensity. Available in real-time, historical and forecasted. It is open source, too.
Electricity Maps set out to enhance its product with grid alerts that inform users when abnormal conditions occur on the power system. Exlabs supported this initiative by identifying a reliable European data source and delivering a Python-based integration that surfaces active generation outages.
Starting with Poland and designed to scale across markets, the work delivers actionable signals that can inform carbon intensity insights and user notifications. To maximise community impact, the integration was contributed as open source so others can build on it and help make grid intelligence more reliable for everyone
The Challenge
The team needed a dependable, machine-readable source of outage information that covered Poland and could expand to other regions. National public alert channels existed, but messages were generic, lacked an API, and would have required scraping and natural language processing with limited test data.
Electricity Maps also required filters to focus on active and unplanned events, not historical or planned maintenance, and any chosen source had to integrate smoothly with the existing data pipeline without adding operational fragility.
The Solution
Exlabs surveyed national and European options, then selected the ENTSO-E Transparency Platform as the most credible and comprehensive source for generation outage data. The connector, written in Python, targets the generation outage reports endpoint with parameters that return active, unplanned events.
Engineering focused on robust handling of a unique response format: the endpoint delivers a ZIP archive that contains XML rather than plain XML or JSON. The ingestion layer was extended to fetch byte streams, unzip the payload, parse the XML, and map values into the GridAlertList structure used by Electricity Maps. During implementation, an existing proxy corrupted ZIP headers, so requests to this endpoint were routed directly to ENTSO-E to preserve file integrity.
Validation covered the Poland control area across multiple dates to confirm correct filtering, parsing, de-duplication and retries. The resulting code and documentation were released openly to support reuse and peer review by the community.
Mateusz Wilczyński
CTO at Exlabs

The Solution
Explore how custom software and data platforms are developed to solve complex challenges for leaders in the energy and resources industry.
Everything you need to know before you decide to work with us.
We can typically start within 2-3 weeks from our first conversation. The timeline depends on two factors: how quickly we can schedule the technical assessment workshop with your stakeholders (usually 3-5 days after initial contact), and how long the commercial agreement takes to finalize (typically 1-2 weeks).
For urgent situations, we've started projects in as little as one week. However, we never skip the discovery phase—rushing into development without proper scoping leads to costly mistakes and project delays down the line.
Your project team typically consists of 2-4 people depending on scope: a Technical Lead with expertise in data integration and backend systems, a Frontend Developer specialized in dashboards and data visualization, and a Project Manager who coordinates everything. For complex integrations, we may add specialists in specific areas.
Our strength is in building custom software solutions and integrating disparate systems - we learn your domain and technical requirements during the discovery phase, then build exactly what you need. You'll meet your dedicated team during the kickoff, and they'll be your consistent points of contact throughout the project.
We work in 2-week sprints with clear milestones and deliverables. You'll have a 30-minute check-in call every week to review progress, address blockers, and adjust priorities if needed. Between calls, we communicate via Slack or email for quick questions and updates. At the end of each sprint, you'll see working software—not just status reports.
We share access to our project management tool so you can see exactly what we're working on at any time. Most importantly, we involve your team early and often: user testing happens throughout development, not just at the end. This way, there are no surprises when we deliver the final product.
We offer both options depending on project clarity. For well-defined projects (like building a specific dashboard with known data sources), we provide fixed-price quotes—you know the total cost upfront and pay based on milestone delivery, not hours worked.
For more exploratory projects (like "we need to optimize our operations but aren't sure how"), we work time-and-materials with a monthly budget cap—you pay for actual hours but never exceed the agreed maximum without explicit approval.
We're transparent about costs from day one: our proposals include detailed breakdowns of what you're paying for, and we flag any potential scope changes immediately rather than surprising you with invoices later.