Data and AI

Data collection and processing services

Four Python systems: data collection from a hundred sources, content intake with moderation, a publishing platform with an SEO layer and a market data lab built with an agentic pipeline.

100+
data sources: websites, open APIs, Telegram
25
site-specific parsers
4
exchange APIs in stream processing
40+
risk parameters in the rules engine

The problem

Turn scattered sources into normalised, deduplicated data

Data arrives from websites, open APIs, Telegram and exchanges — in different formats, with duplicates and outages. One-off scripts do not hold up here: sources change, parsers break, and errors quietly corrupt the data.

What is needed are services that collect, normalise and check data continuously and, where the result reaches people, pass it through moderation.

Technology

Services stack

Backend

PythonFastAPIasync SQLAlchemyCeleryJinja2

Collection

PlaywrightRabbitMQTelegram

Data

PostgreSQLTimescaleDB

SEO and delivery

SitemapAMPJSON-LDDockerNginxCloudflareGitHub Actions

The solution

What was done

Data collection platform

Collection from 100+ sources — websites, open APIs and Telegram — with normalisation, deduplication and failure monitoring, alongside FastAPI services for catalogue and data enrichment.

  • 100+ sources
  • Normalisation
  • Deduplication
  • Failure monitoring

Content intake with moderation

25 site-specific parsers on Celery, RabbitMQ and Playwright, with source-URL deduplication. Material flows through a REST contract into a moderation queue and is published after review.

  • 25 parsers
  • Source-URL deduplication
  • REST contract into a moderation queue

Publishing platform

FastAPI, async SQLAlchemy and PostgreSQL; a multi-theme Jinja2 front end and an admin CMS with an editorial moderation queue.

  • Several themes
  • Editorial moderation queue
  • SEO layer: sitemaps, AMP, JSON-LD
  • Transliterated URLs

Market data lab

Four exchange APIs stream into TimescaleDB, with a rules engine of 40+ risk parameters on top. The system was built end to end with an agentic pipeline.

  • 4 exchange APIs streaming into TimescaleDB
  • Rules engine with 40+ parameters

Outcome

What came out of it

The services run continuously: collection does not stop when one source changes, failures show up in monitoring, and material that reaches people goes through moderation.

  • Normalised, deduplicated data from a hundred sources
  • Publication only after editorial moderation
  • Streaming analytics with risk rules, built by an agentic pipeline

Contacts

Tell us about the task

Tell us in two paragraphs what's not working. We will tell you whether we take it on and where we suggest starting. Meetings online, or in person in Uzhhorod or Kyiv.

We reply within one business day.

Telegram