About Product
My.Ua is a multifunctional information portal that makes acquainting with the news space of Ukraine and the world as convenient and relevant as possible for every user. With an extensive news feed formed by artificial intelligence from materials of partner publications, this portal not only covers current events but also offers a range of additional services such as weather forecast, radio, exchange rates, horoscope, and even a TV program schedule. This creates a comprehensive and holistic information space for the user.
Client’s goal
Develop a simple, user-friendly, and modern platform that would serve as a closed information ecosystem with a wide range of relevant and up-to-date data for the user, combining news, articles, weather, radio, and other resources.
Business challenges
The brand’s character — simple to perceive, concise, and friendly.
The versatility of the design system — driven by the diversity of offerings on my.ua: a broad spectrum of content, both text and multimedia, spanning news and entertainment, as well as a set of services that demand a flexible and dynamic design system.
User interface adaptability to user requests. Customization capability to suit individual preferences.
Completeness and authenticity of content. Everything should be in one place, providing the most comprehensive picture and eliminating the need to search across different sources. Authoritative sources should be used while maintaining the service’s independent status.
Systematic approach. In contrast to most competitors, the content must be structured, organized, and personalized. To achieve this, artificial intelligence should be utilized.»
Our Solutions
- Cutting-edge technology stack. The service is built on advanced high-tech methodologies. The system’s core is written in asynchronous python, and the interface is developed using ReactJS. Nginx is used as a proxy server. For performance optimization, Reddis is used for caching, and RabbitMQ serves as a queue processing server. Primary data storage takes place in the PostgreSQL and MongoDB databases, analytical data is gathered in Clickhouse, and search queries are processed by Elasticsearch. Images are stored in Amazon S3, and previews are generated using the Thumbor service.
- Microservice architecture and containerization. The system comprises a set of services communicating with each other through message queues or REST API. Services are delivered and deployed on servers as Docker containers. The system is designed for horizontal scaling, thanks to a stateless approach in service development.
- Modular and intuitive design. The design is based on modular layout, grid, and standard graphic solutions. The basic 12 columns transform into a unique set of module-blocks. The block position displays the information segment interesting to the user, and color-coding indicates a variety of topics and fields. Working with grids and palettes, we’ve created an image of a system that’s both technological and user-friendly.
- Artificial intelligence technologies. Machine learning algorithms are used for content processing, specifically for clustering, classification, personalization, and named entity recognition. The libraries used include sklearn for classic machine learning algorithm implementation and Tenzorflow for neural network operations.
- Asynchronous Data Scraping. During the aggregation of information for various services, asynchronous scraping of likes and views of news, posts from social networks, currency rates, radio stream sources, TV programs, weather, and more is applied. Parsing technologies on PHP, Python, JS, and even Lua have been utilized
Technology stack
Programming Languages and Technologies:
- Python: aiohttp, Django
- PHP: Yii2
- JavaScript: ReactJS, NextJS, Node.js
- Webpack
- Web Scraping
Database Management Systems:
- PostgreSQL
- MongoDB
- Redis
- ClickHouse
- InfluxDB
Messaging and Monitoring:
- RabbitMQ
- Sentry
- Grafana
- Zabbix
- Jenkins
Data Search and Storage:
- Elasticsearch
- AWS
- Thumbor
Machine Learning:
CI/CD Systems and Orchestration:
- GitLab CI/CD
- Kubernetes
- Rancher
Team
- 3 PM
- 2 BA
- 2 Disigners
- 2 UI
- 5 Backend devs
- 3 Frontend devs
- 2 ML engineers
- 2 Devops
- 3 QA