Borys Holub
Rating
Language proficiency level
CV
Throughout my professional experience, I have worked with many technologies and projects. I am knowledgeable in frontend and backend development, design creation, UI/UX, database optimization, Linux server configuration, analysis of design flaws to increase sales, and much more. I have done everything from small corrections in landing page layout to creating huge hybrids with CRM systems to solve extremely complex business logic and work with hundreds of thousands of unique visitors every day (on 1 VDS for 10 bucks). If I were to describe all of my experience, there would be too much text for this block. In short, I work with everything I like (not necessarily for work) or what a particular customer needs. Recently, I wrote a Python tool for generating videos with Captions-style subtitles, and using Python + VapourSynth, I made a tool for upscaling 480p videos (DVD discs) using various AI models. There hasn't been a single task that a client has given me that I haven't been able to complete. In my opinion, this is the essence of a Full-Stack Developer. One moment you are working on UI/UX or design, and the next you are writing a webhook to connect to a payment system, the documentation for which you have just read.
My top skills are in descending order:
- PHP: Yii2, Laravel, Yii
- JS: ES6+, jQuery, Angular, React
- Databases: MySQL, MariaDB, PostgreSQL, MsSQL, MongoDB
- Layout: CSS3 (+flexbox, +LESS), Bootstap 3+
- Operating system: I work exclusively on Linux. Distributions: Debian branch (right now the latest version of Kubuntu).
- Additional skills not listed: git, composer, bower, npm, svn, Flash (ActionScript 3 + Flex 4)
Skills and abilities
Programming
-
Data Parsing
from 21 USD for hour
-
Databases & SQL
from 19 USD for hour
-
HTML & CSS
from 19 USD for hour
-
Javascript and Typescript
from 19 USD for hour
-
PHP
from 19 USD for hour
-
Web Programming
from 19 USD for hour
Services
-
Data Processing
from 19 USD for hour
-
Online Stores & E-commerce
from 19 USD for hour
-
Payment Systems Integration
from 19 USD for hour
-
Website Development
from 19 USD for hour
-
Website Maintenance
from 19 USD for hour
Administration
-
Linux & Unix
from 19 USD for hour
-
Software & Server Configuration
from 19 USD for hour
Portfolio
-
8000 USD iren-store.com.ua
PHPIt's basically a clone of victoriasway.com.ua, but slightly modified. I will not repeat myself. You can read more about victoriasway below.
Unique features: the layout was completely redesigned and a number of unique changes were made to the online store. At its core, it is exactly the same CRM system that manages almost everything and speeds up the work that sellers need to do to sell a product at times.
-
8000 USD Goodwill
PHPThis project is a hybrid of a CRM system with elements of an information site. At the moment, the project is running, but it is already being used on the dev server. after launching on the production site, I will add a link.
The basis of the product is a CRM system for managing the hiring of employees for companies. There are 3 types of users: managers, clients and partners.
1. managers are people who have limited access to clients/partners, depending on what type of manager they are.
… 2. clients are people who come to us in search of a job and leave information about themselves so that managers can find a job that best suits their qualifications.
3. partners are those who provide work to clients. i.e. a company comes to us and has 3 vacancies. they describe each vacancy and what kind of employees they want to see. The manager creates a company, adds vacancies to it, and transfers the client's words in the required format. After that, the manager launches the vacancies and the vacancies themselves search for available people based on all the filters entered. Next, the manager contacts the selected people from our client base and can mark whether the person is suitable or not. As soon as the job requirements are met, the manager completes the selection of people, and then can manage a group of selected people at once through the job. Then the process of creating the necessary documents and so on.
After the work is completed, the client contacts us with a request to find him a job. The manager changes his status and he is again included in the list of candidates for vacancies.
This is a brief description of the project without details and special features that were invented personally for this product. The information site mentioned above is a kind of beautiful brochure about who we are and what services we provide, plus the ability to fill out a form so that the data gets validated, which can be done in just a minute and then the client can be launched.
-
8000 USD victoriasway.com.ua
PHPThis project was a kind of platform where I could test some of my ideas. This is not just an online store, but a large CRM system with elements of an online store. Where everything that can be automated was automated. Human intervention is required only to check Ukrposhta's data (the API doesn't work well), to upload the goods, and to run around and put the goods in the cart and then pack them at the direction of the packer script. Everything else is handled by the site itself. I did everything myself. Including design and UI/UX. The site is written in Yii2, MySQL database. The layout is made on Bootstrap 4 using LESS. Performance: on a cheap server for 12 bucks, the theoretical load is 200-300 thousand unique users per day without lags and freezes. For ordinary users, the site looks like a regular online store. Only it is very fast. Therefore, I will describe only the admin panel:
- financial statistics.
- the ability to create registers for all parcels with one click.
- user rights and roles. a user can have as many roles with different rights as he wants. you can create a user who can delete users, but will not be able to see their list, so he will not know who to delete.
… - Products and locations. each of the racks with products is entered and configured in the system. the product is tied to a specific rack.
- Orders and bookings. orders are what came from the site. but there are also bookings - orders that came through social networks. these types of orders have many differences.
- Packaging. the script selects the order for the current packer, searches for orders from the same person and combines them into one. then sorts the products by where they are placed and gives the most optimal picking route.
- Sole proprietor. you can add as many individual entrepreneurs as you like, so that the site automatically distributes orders and bookings among them all, focusing on the annual turnover
This is only a small part of everything that has been implemented.
-
10 000 USD uchus.online
PHPAn educational portal for students who want to pass the exams. I wrote it alone and completely from 0. There are both free elements and paid ones that can be bought directly on the site for money. All paid content has a small trial period, which is configured through the admin panel.
Basic:
- tasks are questions with a certain type of answer that can be customized in the profile.
… - Tests - a set of tasks that you cannot answer separately. checking tasks only 1 when you have completed the entire test.
- Forum: a regular forum, but it has hidden parts. only a part of the posts is available to users without rights. another part is available to those who have purchased paid content.
Advanced:
- Courses are free or paid tutorials that can be used to learn a particular topic. the course is divided into chapters. chapters can contain lessons (text with the ability to add a video and a test), tasks and quizzes. there is only 1 quiz per chapter and is generated based on the given test data + the student's personal progress. it then works as a test until it is sent for verification
- homework is an additional paid service in the courses that is purchased separately and gives you the opportunity to work with a mentor. you solve a number of problems on a sheet of paper, take a photo of your solution and send it to the mentor in a hidden thread on the forum, which is available only to you and your current mentor. then you discuss it with the mentor and when the correct answer is received, the mentor marks the homework as completed.
- PVP arena is a free feature where you can invite a friend to a battle and find out which of you knows a particular topic better. one of you sets up the battle, generates a link and sends it to the other. the latter goes to the link and confirms his readiness. then the battle begins and you need to score more points than the opponent.
I have described only the basic things. The product itself is even more complicated.
-
8000 USD by Salesup24
Web ProgrammingAt the moment, the project is closed or renamed, so I don't write links. I worked on a ready-made product and finalized it. It was a product for testing employees' knowledge and the ability to check how they would behave in conflict situations. The product allowed you to create unique tests for a particular profession, add pictures of characters, different lines and several answers to these lines. Each answer could lead to a new unique dialog, increase or decrease reputation, end the dialog, change location, and so on. Such dialogues were created in the designer and, after creation, saved a configuration that could be launched in the player for one of the employees. I finalized the constructor, which was written in Flash. I also finalized the player, which was written on a self-written engine written in JavaScript and gradually rewritten for AngularJS.
-
4000 USD VRAZOOM
PHPAt the moment, the project is closed, so I don't write links. I created the product from scratch. I worked in tandem with a Senior developer. He helped me with the basic product skeleton (in AngularJS), and then I wrote it myself. We can call it a third-party project of salesup24, because it was ordered by the same customer. The project itself was created for VR tours. The user can create and publish their own projects using a convenient designer. Then other users can choose one of these tours to explore with or without virtual reality glasses. In the builder, you can add scenes, use spherical images as backgrounds, and add interactable elements. Elements can show pop-ups, change slides, display text, etc. Our system includes: a landing page, REST API, designer, player, client, external server with public static projects, and a short player (with reduced functionality). The landing page and REST API are written in Yii2, the player and client are written in AngularJS using three.js, marionette.js, CreateJS, and some other smaller libraries.
Reviews and compliments on completed projects 8
18 August 2022
29 USD
Delivery from the administrator panel
К сожалению, не могу рекомендовать Бориса к сотрудничеству из-за странных условий, качества и отношения к работе.
#️⃣ Вступление
Задача была “тестовой”, чтобы просто познакомиться с исполнителем перед началом объёмного сотрудничества.
Перед утверждением условий:
- Предоставил Борису полное ТЗ
- Доступ в Репозиторий проекта
Разработчик сказал, что код в целом хороший и чистый, рассказал о требованиях к больших проектам(все задачи только ему, чтобы другие не писали “г*-код”; если код грязный — ставка больше).
Борис самостоятельно назначил стоимость задачи и срок, как он написал, с запасом. Утвердили.
Проблемы:
1️⃣ Ближе к концу проекта Борис стал требовать доплату, поскольку “потратил больше времени, чем планировал”.
Обозначу, в вопросах доплаты всегда готов идти на встречу:
- часто вношу бонус, если исполнитель действительно добавил новых улучшений(пример: соседний проект с Александром)
- задача оказалась сложнее и исполнитель её недооценил
- все дополнительные задачи идут отдельными проектами за отдельную плату, что можно увидеть по отзывам
Но в данном случае — с выставленными требованиями не согласен по следующим причинам:
1. Борис буквально отписывал почти каждый свой шаг в проекте, а позже рассказывал о себе, его стиле работы. Возможно, это интересно, но рамках мелкой задачи — это излишне, и только тратит наше обоюдное время: наш диалог с 1-ой малой задачей, больше чем диалог с постоянными исполнителями, где 4-5 средних-больших.
Полагаю, что на “монолог” было потрачено больше времени, чем на разработку.
2. Стал конфигурировать и копаться в тех частях приложения, с которыми не связана задача, на что я вежливо указывал.
3. Борис сообщал, что были “Требования вне ТЗ и он ещё реализовал улучшения”.
При уточнение было названо: “Не было инструкции по 2FA, пришлось её изучать и обходить; Не было аккаунта ЮниСендер для теста; Пофикшен баг;”
Но указанное - никак не связано с дополнительными требованиями. ТЗ не изменял. Также:
1) "Улучшения". В ТЗ было указано: необходимо выводить отправленные письма администраторами, чтобы контролировать их содержимое.
В системе уже был лог отправленных писем через Почтовый сервис. Борис, с моим одобрением, просто туда стал записывать письма отправленные администратором, и выводить их содержимое.
Фактически это не улучшение, а упрощение работы самому Борису - ему не пришлось делать Read-функционал.
2) Инструкции были в README, комментариях к параметрам.
☑️ Чтобы упростить работу разработчикам — сделаем ещё несколько отдельных разделов в README для конфигурации.
3) Следовало было запросить тестовые данные у меня. а) В условиях проектах специально прописано — не стесняйтесь спрашивать; б) Обычно я самостоятельно такие тестовые данные кидаю, но на этот раз упустил.
☑️ Добавил в чек-лист перед стартом проекта — выдавать демо-данные, чтобы больше не упускать.
4) Благодарен за фиксацию бага. Но указанный баг тесно связан с серверным окружением Бориса, и даже не в той части приложения, с которой следовало вести работу. Обнаружен он был во временном решении. Фиксация - обычная проверка на существование, причём правкой была затёрта TODO: который помечал временное решение;
☑️ Добавим Docker в проект, чтобы все разрабатывали с одним ENV.
4. Все детали проекта были видны до сотрудничества. Борис сам установил оценку, срок и ещё заложил запас, как сам написал. Я даже уточнял в поддержке за правоту в этой ситуации.
2️⃣ Отношение к работе/качество кода
Борис часто говорит о качестве кода(см. раздел "Вступление", абзац №3). Но о своих ошибках пишет - "Это неважно, это мелочь". Считаю, что такой подход несправедливый.
А ошибки в любом случае нестрашны, и повод поучиться для всех, тем более мы подряжаем тестера для перестраховки.
Но раз на то пошло:
1. Был отключен HTML-Encode в GridView, выводятся RAW-данные без фильтрации(зачем?). Username вводится пользователем, поэтому может содержать код для XSS-атаки(+длинная строки): https://i.imgur.com/ueToBOV.png
2. Чтобы выводить данных о пользователях, используются костыли, вместо связей(relations) БД: https://i.imgur.com/cg1HyEM.png || https://i.imgur.com/wqbMM6P.png
3. Не описан revert миграций, хотя он возможен с помощью dropColumn: https://i.imgur.com/Fx7ywLK.png
4. Жёсткая привязка к ID отправителя к авторизованному пользователю в Сервисе, что делает его непереиспользуемым, если ID нужно указать самостоятельно: https://i.imgur.com/XYrZlU4.png
5. Не используется TypeHinting в GridView, что делает неудобным переименование свойств через "Refactor": https://i.imgur.com/0fj30su.png
6. Раздувание сущности Mail. Фактически ему было привязано 3 опицональных поля, которые есть только в сценарии пользователя администратором: https://i.imgur.com/azhhfpD.png
Вместо того, чтобы сделать отдельную сущность и присвоить ей связь. А если потребуются ещё дополнительное поля для ручной отправки?
3️⃣ Остальное
На простые уточняющие вопросы, касательно "улучшений и задач вне ТЗ", чтобы понять позицию - получил претензии.
1. "Долгая проверка, долгие ответы" - у меня есть свой перечень задач, я не могу реагировать 24/7 и ни от кого этого не требую. А также время потребовалось на уточнение вопросов касательно "задач вне ТЗ" и чтение всего потока сообщений.
2. "Понятно почему над проектом работают столько людей и не задерживаются" - в проекте 2 контирбютора, помимо меня. Один занят другой задачей, второй в зоне Б/Д и испытывает проблемы со связью.
![]()
7 March 2022
5 USD
Gathering data on Youtube
thank you. Professionally and quickly the artist wrote a script on the collection of data. I recommend it.
23 June 2021
18 USD
Выводим самые продаваемые товары раздела в соответсвующий раздел
Отлично выполненная работа! Рекомендую, скорость на высоте.
![]()
18 June 2021
66 USD
Technical optimization of the site on YII2 under Google Page Speed
It was pleasant to work. A little delayed the project on our fault, in general everything is fine.)
![]()
| Response review
9 June 2021
10 USD
Reproduction of sitemap to yii2
SITEMAP map, all clearly by TZ
![]()
| Response review
16 December 2020
214 USD
The website on yii2
Thanks for the great work) There was much more work done than planned, for which a special thanks to the freelancer =)
11 September 2020
204 USD
HTML 5 игры
Работа была выполнена своевременно и качественно.
![]()
4 September 2020
18 USD
Working with the gallery
Work can be said to have done, but the approach to work leaves you want better.There was a moment when I found an error, on my 13 inch mac, the distance between the photo was incorrectly visually displayed, told me that the problem in the operating system and that it was a separate work for the dop bone, after a large number of letters wrote that I still found what the problem and corrected.In the professionalism he put 3, more than the way of communication.After giving up the work I wrote that I will add a photo (they there are just about 80) and check, not passed and 24 hours, how I get from the executor a threat that he will address to the arbitration, direct speech - "You will check it?I’m waiting for the second day to check.Let it be honest: if within 2 hours you don’t finish the check and don’t scratch, then I’m calling to the arbitration.So that there is no harassment later.I warned in advance.”
When I wrote that I have questions how the mobile version is displayed, he replied that the upgrades are already for the dop bone, I clarified how much, after knowing the cost I refused, after that the executor goes to the arbitration, accusing me that I do not agree to pay for the dop work and that I am constantly changing the requirements, bringing a direct speech -
“The customer is constantly changing requirements.Even when everything is done and matches the TZ, he wants more free donations and does not agree to the add-on.I have exhausted the original TZ several times and spent time more times than the result will be paid.”
Activity
| Latest proposals 10 | Budget | Added | Deadlines | Proposal | |
|---|---|---|---|---|---|
|
Landing Page for a construction company – lead generation (Poland)
274 USD
|
|||||
|
Yuna Beauty
2000 USD
|
|||||
|
Freelance project |
|||||
|
Freelance project |
|||||
|
I am looking for a programmer to improve the website on the Horoshop platform.
174 USD
|
|||||
|
Redesign the website on Webflow
50 USD
|
|||||
|
Transfer the website via a plugin to my hosting.
58 USD
|
|||||
|
Freelance project |
|||||
|
To collect data and deploy on the website
500 USD
|
|||||
|
Editing of the finished Playable creative for Unity ADS format HTML 5
55 USD
|