← Case Studies

Connecting fragmented public data to support anti-corruption investigations

Connecting fragmented public data to support anti-corruption investigations

Contribution to Project

Project Sponsorship Technical Project Management User Experience

Project Type

Data Dashboard Machine Learning

Project Owners

Contributors

Amil Vasishtha

Centralising publicly available information to expose corruption.

The UzInvestigations needed a way to transform fragmented and difficult-to-access public records into a searchable investigative resource that could support anti-corruption work in Uzbekistan. We designed and built a public data platform that scraped, connected, and structured business and government information, helping journalists, researchers, and civil society organisations uncover relationships between companies, individuals, and financial activity more effectively.

Key results

Public records
Aggregated into one searchable platform
Automated scraping
Captcha bypass and recurring data collection
Investigative tooling
Supporting journalists, lawyers, and civil society

Understanding the challenge

Publicly available information relating to business and government activity in Uzbekistan existed across multiple disconnected platforms and databases.

While technically accessible, the information was difficult to search, difficult to cross-reference, and often presented in formats that limited its investigative value. This made it significantly harder for journalists, researchers, and anti-corruption organisations to identify meaningful relationships between companies, shareholders, addresses, and individuals.

The goal was not simply to display data.

The platform needed to help users connect fragmented information in ways that supported deeper investigative and analytical work.

Collecting and structuring the data

Before designing the public-facing platform, the first challenge was acquiring and organising the data itself.

Some sources included captcha protections that made large-scale manual collection impractical. To overcome this, we designed and developed automated tooling capable of bypassing captchas and routinely crawling publicly available records at scale.

Once collected, the data was cleaned, categorised, and structured into a central database designed specifically for investigative use. A key part of this process involved identifying relationships between records using unique identifiers such as Taxpayer Identification Numbers (TINs).

This transformed disconnected datasets into a network of linkable entities, making it far easier to surface patterns and relationships that would otherwise remain hidden across multiple sources.

Designing for investigative usability

The platform was designed with usability and functionality as the priority.

Given the complexity of the underlying data infrastructure and the available budget and timelines, we intentionally took a practical, utilitarian design approach focused on helping users retrieve and connect information quickly and clearly.

The result was a searchable database library that allowed users to explore businesses, shareholders, individuals, and related entities through a much more intuitive interface than the original public sources provided.

Alongside the portal itself, we also created a companion content platform that acted as a publishing space for investigations, reports, and summaries relating to corruption cases and public allegations.

Together, the two platforms served distinct but complementary audiences: one focused on deeper investigative work for journalists and legal researchers, and the other aimed at broader public awareness and accessibility.

Technical implementation

The project combined multiple technologies and frameworks across machine learning, backend infrastructure, and frontend development.

Automated scraping and captcha bypass tooling was developed using TensorFlow and Python, enabling recurring data collection workflows at scale.

The public portal itself was built using PHP, Nuxt.js, and Vue.js, with hosting infrastructure deployed on Amazon Web Services to support search performance and data retrieval requirements.

The companion publishing platform was built using WordPress.

Outcome and impact

The platform transformed fragmented public information into a far more usable investigative resource.

By automating data collection, structuring relationships between entities, and providing a searchable public interface, the project significantly lowered the barrier to conducting investigative and analytical work around corruption and business activity in Uzbekistan.

Most importantly, the platform demonstrated how thoughtful product design, data infrastructure, and automation can support transparency, accountability, and investigative journalism in complex political environments.