About Me
I am an experienced programmer with a passion for building products. I have been programming since the age of 14, starting with C++ and later writing firmware for microcontrollers using assembler. I then transitioned to writing drivers with Delphi and eventually landed my first job as a C# developer. I also have experience as an iOS developer, and I am currently working as a full-stack developer.
Education
Kremenchuk Mykhailo Ostohradskyi National University
Master’s degree, Systems Engineering
Period: 2011 - 2015
Major: Computer sience
Country: Ukraine
College of Kremenchuk National University
Junior specialist, Computer Science
Period: 2007 - 2011
Country: Ukraine
Experience
🇺🇸 CircleOf - Full-stack developer
Period: July 2017 - Now (6 years)
Technologies: React, React Native, NodeJS, TypeScript, MySQL, Gatsby, Tailwind CSS
Country: United States
Links: App Store, Google Play, Website.
CircleOf is an application specifically engineered to orchestrate aid for individuals grappling with health issues. This tool simplifies the process of forming a support group comprising family members, friends, and colleagues. Once such a group is established, it allows users to schedule various events on a shared calendar, extend offers of assistance, and communicate seamlessly with other group members. Additionally, corporations can engage in the partnership program to offer support to their employees. As part of the broader project, it also includes a website that provides a wealth of tips for caring for those in need.
In the project’s infancy, I was tasked with the development of the mobile application, which was initially created using React Native. As the project matured, we transitioned the entire codebase to TypeScript to enhance scalability and maintainability.
Following this, we built a website utilizing the React framework and Gatsby for static site generation. All site content is meticulously managed using the content management system, GatherContent.
Results: apps in the App Store, Google Play and a website.
🇺🇸 Watery - Full Stack developer
Period: June 2021 - August 2022 (1 year, 3 months)
Thechnologies: React, TypeScript, NodeJS, PostgreSQL, AWS Lambda, AWS EC2, AWS S3, AWS Route53, AWS CloudFront, AWS RDS, AWS SNS
Country: United States
Links: Website
Watery is a dedicated real estate website focusing on properties situated near water bodies. The site features a comprehensive search function, allowing users to find listings in a specified city based on certain criteria, including the number of bedrooms and bathrooms, among other specifics.
The website’s front-end development was carried out using React, while NodeJS was employed for the back-end. The listings are populated by leveraging data from the provider, which is imported on a nightly basis. The application actively harnesses various AWS services, encompassing EC2, Lambda, S3, Route53, CloudFront, RDS, and SNS, to deliver a seamless and efficient user experience.
Results: the application is launched in production.
🇺🇸 BrandedAF - Full Stack developer
Period: February 2020 - June 2021 (1 year, 5 months)
Thechnologies: React, React Native, Expo, JavaScript, TypeScript, NodeJS, PostgreSQL, MongoDB, AWS Lambda, AWS S3, AWS Cognito, AWS EC2
Country: United States
Links: Website
BrandedAF is a software development studio specializing in assisting startups to create products from scratch. It offer a comprehensive range of services including design, development, management, and marketing.
Initially, I embarked on my journey as a front-end developer, later transitioning to a more encompassing role as a full-stack developer and project architect. My responsibilities encapsulated the following:
- Developing new application functionalities and addressing bugs.
- Scrutinizing new product designs and offering insightful suggestions.
- Formulating development tasks.
- Spearheading the development of architecture for new projects.
I have had the opportunity to work on the following projects:
- 🇬🇧 Flow - an mobile application that facilitates booking spaces in coworking locations or offices in London (App Store, Google Play, Website).
- 🇺🇸 Captains Club - an exclusive social network for golfers. It enables users to track their friends’ progress, organize and invite friends to events, and engage in discussions through messages and comments (App Store, Google Play).
- 🇺🇸 Iris - a new system designed for organizing large online events.
🇺🇸 Nevados - Frontend developer
Period: Feburary 2019 - December 2019 (11 months)
Thechnologies: React, React Native, TypeScript, NodeJS
Country: United States
Links: Website
Nevados is a system for creating and managing solar power plants. It is comprised of two parts: hardware that physically adjusts the angle and rotation of solar panels, and software for remote control. Customers can register in the system, then use a map to delineate their site. Subsequently, an algorithm calculates the optimal placement, orientation, and quantity of the panels.
The main challenge lay in developing an algorithm to compute the optimal positions. All calculations occur directly in the browser and are written in TypeScript. I designed an algorithm that, utilizing extensive geometry, performed all the necessary computations.
Additionally, I created a mobile application in React Native. This app allows operators to scan the QR code on the solar panel control device, adding it to their control system.
Results: the system was put into operation and the mobile application was published on Google Play.
🇺🇸 Pando - Software engineer
Period: March 2016 - November 2018 (2 years, 9 months)
Technologies: AngularJS, NodeJS, Raspberry, RabbitMQ, AWS, Raspbian.
Country: United States
Links: Website
Pando is a device built on Raspberry Pi that enables users to customize the content displayed on a connected screen via a web panel. Equipped with a WiFi module, the device scans its surroundings and analyzes the quantity of active devices in its proximity. Pando’s primary usage is in retail spaces like shops and shopping centers.
My responsibility in this project involved writing the device control code and developing a web-based control panel using AngularJS. However, the Raspberry Pi, with its relatively limited power for media operations, presented certain challenges. Attempting to play content in a browser resulted in video glitches and freezes, which called for optimizing the Raspbian operating system to enhance media playback.
Updating the device’s firmware also posed a challenge. It was crucial to ensure that new updates did not compromise the functionality of the device, as this would necessitate the manual installation of new firmware on all customer devices. Consequently, we paid special attention to the update process. We established a system that downloads and runs new firmware but automatically reverts to the prior version in the event of critical errors.
Results: the project was finalized and successfully launched.
🇺🇦 Hromadske.Kremenchuk - Chief Technology Officer
Period: February 2014 - May 2017 (3 years, 4 months)
Technologies: React, Angular, NodeJS, MongoDB, Redis, TypeScript, Electron, C++, PHP, WordPress, Nginx, RTMP.
Country: Ukraine
Hromadske TV, a non-governmental organization, was established in late 2013 with a clear mission: to provide accurate and unbiased event coverage, adhering to the highest journalistic standards. The organization took the form of a “public entity” to facilitate funding through donations and grants. It gained substantial traction during the Revolution of Dignity in Ukraine in 2014. The initial foundation was laid in Kyiv, which later expanded strategically to independent regional branches, one of which is in Kremenchuk.
I was brought onboard with the challenge of building a TV studio and its entire associated infrastructure from scratch, on a highly constrained budget. Typically, a TV studio is constructed using specialized equipment such as camera switchers, on-air video launchers, ticker tapes, Skype call handlers, and distinct devices for internet video streaming. However, given our budget limitations, we had to seek innovative alternatives. We decided to substitute traditional hardware with software solutions as much as possible. As a result, the preliminary version of the live broadcasting studio was comprised of merely a single computer equipped with a video stream capture card, supplemented with cameras and a sound mixer.
I developed our distinct web-based TV studio management system, which included:
- Title generation for broadcasts that aligned with our brand design, along with a database of individuals who had appeared on our broadcasts.
- A continuously updating, on-air ticker tape that journalists could edit remotely, leveraging WebSockets for real-time updates.
- A social media news publisher. This feature allowed journalists to create a news item and distribute it across all social platforms where Hromadske TV had a presence, all with a single click.
The server-side of our application was built using NodeJS and the Sails.js framework, while AngularJS was employed for the front-end development.
Later, I developed a standalone application on Electron, named Streamer. This application, intended to generate television broadcasts, was split into two windows. The first window functioned as a calendar, allowing easy scheduling of videos, live broadcasts, and advertisements while showing what was currently playing on-air. The second window served as a broadcast playback window, which was then captured by the computer and broadcasted on-air.
In a bid to further economize, I created custom devices. For example, I designed a device to illuminate the active camera. When a camera is selected for broadcasting, a red LED light above it is activated, guiding journalists where to focus. Comparable devices in the market usually cost between $200-$300, while our custom-built solution cost only $10.
Results: A fully functional TV studio was built from scratch at a fraction of the usual cost. I was responsible for setting up the studio and defining the processes and procedures for the technical team. Moreover, a TV website and a live broadcast management system were successfully launched.
🇺🇦 Visnyk Kremenchuka - iOS, PHP developer
Period: September 2012 - May 2014 (1 year, 8 months)
Technologies: iOS, Objective-C, Wordpress, PHP, MySQL
Country: Ukraine
Visnyk Kremenchuk is a media outlet based in Kremenchuk city. At the start of our collaboration, they were focused on publishing a weekly paper newspaper, while also maintaining a website. However, as the internet’s influence intensified, they experienced a decline in their paper edition sales, contrasted with an increase in their website readership. This led to a strategic decision to prioritize their online presence.
Initially, I migrated their website to WordPress from an outdated CMS, which hadn’t seen any updates for a significant period. Transitioning to WordPress offered a more visually appealing platform for content creation, simplified the news editing process, enhanced content management, and provided access to detailed analytics. Apache and Nginx were utilized for load balancing, and we introduced the functionality to cache pages into static files for improved performance.
Following this, the editorial team made the decision to expand their digital footprint with an iOS application. The core functionalities of this application included news reading, commenting capability, photo and video viewing, and saving of favorite content. To meet these requirements, I developed the application in Objective-C and seamlessly integrated it with the existing website through the WordPress API and custom plugins I developed.
Results: The website’s loading speed saw a fourfold increase, dramatically enhancing user experience. Additionally, the app was successfully published on the App Store and has attracted approximately a thousand users.
🇺🇦 RiverSoft - Delphi, C# developer
Period: March 2010 - May 2012 (2 years, 2 months)
Technologies: Delphi, C#, WPF, Microsoft SQL Server
Country: Ukraine
RiverSoft is a company that specializes in the development of automated parking systems. Initially, my responsibility was to enhance an existing parking management system that was constructed using Delphi.
As time progressed, we were given the task of developing an interface for parking machines, a tool that customers would utilize for paying their parking fees and replenishing their cards. It was during this period that we chose to transition to Microsoft technologies, specifically utilizing C#, the .NET framework, and SQL Server. The interface for the parking meters was developed with WPF. This decision turned out to be prudent as the Microsoft stack enabled us to deploy the system rapidly. With the use of WPF and XAML, we were able to modify the interface’s appearance with considerable flexibility.
Results: following the transition to an automated system, cash theft by employees was completely eliminated. This significant change directly led to a doubling of the client’s profits.
Open source
I have a separate page with a list of my projects. Please visit it for more information.
#Kremen.Transport
Map of public transport in Kremenchuk City, Ukraine.
An application for tracking buses, trolleybuses, and minibuses in Kremenchuk, Ukraine is available. You can use it to find out the arrival time of the transport at the bus stop and view only the required routes on the map.
#Kremen.Equipment
Map of municipal vehicles: snowplows, sprinklers, and tractors in Kremenchuk City, Ukraine.
md2snipp - Markdown to VSCode snippets CLI tool
A tool for generating VSCode snippets from Markdown files.
- GitHub: md2snipp
chlog-cli - Changelog generator CLI tool
CLI tool for managing CHANGELOG.md
file based on Keep a Changelog format.
- GitHub: chlog-cli
Awards
Winner of the 2017 Dev Challenge in the “Full-stack Development” category
Website: https://www.devchallenge.it/
DEV Challenge is the largest championship for IT specialists in Europe. During 18 seasons, more than 22,000 specialists have participated in it.