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.