Welcome to my Portfolio

About

My Portfolio is the set of real business case solutions. Each project provides a detailed concept understanding along with the business problem description, way to reach the solution and the source code of applied technology. Areas it covers:

  • Data Analytics
  • Data Engineering
  • Data Management
  • Process Automation
  • Machine Learning
  • Big Data

Skills

In this section, you can see a brief overview of the skillset used for the portfolio building. Please view my CV for the complete skillset.

Technology:

  • Python
  • HTML, CSS, JS, PHP
  • Java and C++
  • SQL, noSQL
  • Excel, PQ, VBA
  • AWS S3, Snowflake
  • Tableau

Frameworks:

  • Flask
  • Django
  • Pandas
  • NodeJS

Methodology:

  • Object Oriented Programming
  • Unified Modeling Language
  • Functional Programming
  • UI and UX design
  • Machine Learning
  • ETL

Full Stack Applications (10)

Progress Tracking Dashboard

  •   Full Stack Application
  • Python
  • Flask
  • SQLAlchemy
  • HTML
  • CSS
  • JavaScript

Dashboard allows user to track the progress of the 3 main lifts id est: bench press, squat and deadlift. User is able to provide its one-rep max lifts per each week to see the overall tendency of its strength.

Stock Portfolio Management System

  •   Full Stack Application
  • Python
  • Flask
  • SQLAlchemy
  • HTML
  • CSS
  • JS

Making good investemnt decisions requires you to keep all investing product details in one place. Portfolio enables you to follow your stock exchange transactions along with their parameters as well as your private comments or insights.

Desk Booking Application

  •   Full Stack Application
  • Python
  • Flask
  • SQLAlchemy
  • HTML
  • CSS
  • JS

In the world of remote work, the most of employees have to work at home. However, when it's necessary for you to be present in an office on a specific day, book a hot desk using the application so that you can be sure no one occupies it.

Smart Contracts on Blockchain

  •   Full Stack Application
  • Python
  • Flask
  • SQLAlchemy
  • HTML
  • CSS
  • JS

Application makes usage of blockchain's security mechanism to store and keep track of contracts insertion. Each contract insertion to the system leaves tracks to the contract that was inserted before.

Purchase Request Management System

  •   Full Stack Application
  • Python
  • Django
  • SQLAlchemy
  • HTML
  • CSS

Web application for the Purchase Requests management (non-commercial). Enough of shared excel trackers, now it's time for having fully manageable, relying on a database, issues tracking web application.

Purchase Order Generator

  •   Full Stack Application
  • Python
  • Flask
  • HTML
  • CSS

Application takes JSON file with data on company, supplier and products and matches all the details into HTML template. Usign special library, the final output is a PDF file being converted from a ready HTML template. In Procurement, PDF file serves as the main form of ordering document that is send over to supplier.

PHP Full Stack Web App

  •   Full Stack Application
  • PHP
  • HTML
  • CSS
  • JS
  • MySQL

Web application to make communication between Requesters and Buyers much easier. Everyone can post his or her question/issue and be answered by procurement representative.

REST Framework in Django App

  •   Full Stack Application
  • Django
  • Rest Framework
  • JSON

Django offers library for REST API implementation which pre-defines the rules on how user can communicate with server, how user can access resources and what is the form of getting them.

Rest API with NodeJs on Heroku

  •   Full Stack Application
  • NodeJS
  • ReactJS
  • Heroku
  • MongoDB

NodeJS creates conditions to use JavaScript outside of a browser. Simply put, it is an open-source runtime system for making server to run JS applications. In the project, I build and deploy the REST API application to Heroku which is the cloud platform in the PaaS model.

Learn SQL Application

  •   Full Stack Application
  • NodeJS
  • ReactJS
  • ExpressJS
  • MongoDB

Applying for Data Scientist position, we need to be prepared for SQL-related questions. Learn SQL app provides you with the set of questions related mostly to writing SQL queries without digging into theory too much. Just switch to question, write down your query and check if it's correct.

Excel Applications (3)

Decision Robot

  •   Excel Application
  • VBA

Robot gives the best possible option based on the answers given by user in a questionnaire. User can either rely on the robot in 100% for having decision process fully automated or take it into account during decsion making..

Excel UI for quering SQL database

  •   Excel Application
  • VBA
  • SQLite

Using Excel and restrictive programmed logic to interact with SQL database. With that solution we can protect the database and prevent user from sending undesirable queries.

Recursion in System Files Management

  •   Excel Application
  • VBA

Being tried of figuring theoretical examples out of recursion application, I decided to go ahead with applying recursion for walking through folders and processing files as needed.

Machine Learning (10)

CV for Prosessing Digital Images

  •   Algorithmic Machine Learning
  • OpenCV
  • Computer Vision

Computer Vision (CV) is the part of artificial intelligence that trains computer to understand and interpret digital images. Application using CV can accurately locate and identify objects on the image/video and react on what it sees in a programmed way.

Objects Recognition with OpenCV

  •   Algorithmic Machine Learning
  • Tesseract
  • OCR

OpenCV library for Python allows to process images in the real time. Using trained model we can recognize any objects that model was trained for.

Linear Regression with Pure Math

  •   Algorithmic Machine Learning
  • Numpy
  • Matplotlib

Building Linear Regression Model to find the linear relationship between two variables (dependent and independent - y and x) and using it for forecasting future values of y while new set of sample X features given.

Finding Sentiment among Customers

  •   Algorithmic Machine Learning
  • SkLearn
  • Multinomial Naive Bayes

Naive Bayes is algorithm that works on theorem of probabilty what allows to predict the classification of unknown dataset. Due to some simplifications, it outperforms other algorithms with speed, accuracy and simplicity.

Decision Maker with Decision Tree

  •   Algorithmic Machine Learning
  • SkLearn
  • DecisionTreeClassifier

Decision Tree is a method that supports decision making process. It's used also for supervised learning in ML for gaining knowledge based on the examples input.

Machine Learning in Procurement

  •   Algorithmic Machine Learning
  • Sklearn
  • LinearSVC

Spend analysis is necessary for reviewing procurement spend to decrease costs, increase efficiency or improve supplier relationships. ML model allows to recognize a spend type based on its specification.

AI Procurement Chat Bot

  •   Neural Deep Learning
  • Tensorflow
  • TFLearn
  • NLTK

Utilizing Deep Learning for procurement bot that is able to answer most frequently asked questions regarding corporate internal web-shop.

SVM with Pure Math

  •   Algorithmic Machine Learning
  • Numpy
  • Matplotlib
  • Sklearn

Support Vector Machine is one of the machine learning algorithm that helps predict values for new data samples. Training model is performed doing mathematical calculation based on the historical data

K Nearest Neighbors with Pure Math

  •   Algorithmic Machine Learning
  • Numpy
  • Matplotlib

K Nearest Neighbors is the algorithm that uses all of available classified cases for a model learning. Thanks to that, when new case comes in, we can quickly classify it based on a similarity measurements.

ML with JavaScript

  •   Neural Deep Learning
  • NodeJS
  • Brain.js

I been have associating JS with dynamic web-app's features so far. To my surprise, with JS and brain.js library we can also build a neural networks that learn patterns and input-output relationships for making future guesses when dealing with new realted issues.

Data Analytics (5)

Best Supplier Offer Picker

  •   Python Script
  • Pandas
  • Numpy

Having 5 offers from 5 suppliers on 1000 products and services can pose a challenge. Python helps to automate choosing a supplier with the best offer and to perform the analysis like percentage differences, achieved savings and more.

KPI Anomaly Detection

  •   Python Script
  • Pandas
  • Numpy
  • Matplotlib

Catching bad signals with anomaly detection allows to react on time. Python script has algorithm built for detecting outliers based on mean, standard deviation and z-score calculation.

Spend Classification with RegEx

  •   Python Script
  • Regular Expression

I'm using Regular Expression to convert SAP commodity code to classify the spend. For example 123-XXX-XXX code needs to be classified to Information Technology but 124-XXX-XXX needs to be classified to Office Supplies.

Spark for Big Data

  •   Jupyter Notebook
  • Python
  • PySpark

I utilise PySpark API to handle big data with Python. The core idea behind Spark is MapReduce model which maps the data set into a collection of key-value pairs, and then reducing over all pairs with the same key getting aggregated values.

MapReduce with Hadoop

  •   Python Script
  • Hadoop
  • MapReduce

Big Data can be characterized by 3 words: volume, velocity and variety. Hadoop offers distributed storage and distributed processing of Big Data sets on computer cluster(s). In the Project, I use PyDoop API for writing Hadoop MapReduce applications in Python.

Data Structures (6)

Managing PostgreSQL DB Objectively

  •   Python Script
  • PostgreSQL

I apply Object Oriented Programming for managing PostgreSQL database where database has its own class along with methods of creating table, inserting data or selecting row(s).

Key-Document Database in MongoDB

  •   Python Script
  • MongoDB Atlas
  • MongoEngine
  • Cloud database

MongoDB is a database that stores data as JSON-like documents with no defined schema in advance. Documents which plays roles of rows aren't restricted to the same number of columns. That gives a big flexibility in both retrieving and inserting data.

Linked List for Sequencing User Actions

  •   Python Script
  • Data Structures

Linked list is a data structure which is used when size of data is not fixed and we want to efficiently utilize our memory space. In addition, linkage between list nodes is persistent what means we can simply identify their sequence.

Blockchain Modeling with Python

  •   Python Script

Modeling blockchain architecture along with its properties of hashing blocks and establishing dependencies between following blocks. Model built according to OOP.

Object Oriented Design with UML

  •   Python Script
  • SQLite

Translating UML diagram into Python code. I'm feeding the sqlite3 database with objects data at the end.

Hash Table Implementation in Python

  •   Python Script

Data structure that maps a key to a value in the memeory slot. It uses hash function that converts a key into a hashed code wich is used for the index computing. Received index indicates a memeory slot where we can get a value from.

Process Automation (6)

RESTful API and HTTP Automated Tests

  •   Python Script
  • Flask
  • RESTful API
  • Pytest
  • SQLite

RESTful API uses HTTP requests to help a client (web, mobile app, or client.py in the project) to interact with server's database. Project has been written along with automated tests checking the Client-API-Server performance.

Unit and Integration Testing

  •   Python Script
  • Unittest
  • Mock

Writing code to a code that already exists in order to verify correctness of function's work. That makes us sure the code works in accordance to programmer assumptions and software requirements.

Asynchronous Selenium Tasking

  •   Python Script
  • Selenium
  • Pandas
  • Redis
  • Celery

Running time-consuming tasks asynchronously means running them at the same time in parallel. Long-time processing tasks being exeuted at once save a lot of time as opposed to launching them one by one (next starts once previous finishes).

Scraping Data from Web-sites

  •   Python Script
  • BeatifulSoup
  • Matplotlib

If bussines travelling is your regular thing, You probably pay more attention to currency rates. With this script you can literally scrape a webpage from currencies you need.

Bulk Mailing in Outlook

  •   Python Script

Bulk mailing is always the case for the automation. With Python, I can sent personalized emails for many recipients.

Investment Risk Management Program

  •   Java Program

Program calculates entry, risk and profit price of an investment in order to assess the risk to reward ratio. Once ratio is greater than 3 than it means reward is 3 times greater than undertaken risk what allows you to make transaction. Once ratio is lower than 3 then it doesn't allow you to make transaction.

Algorithms (2)

Stable Match Algorithm in Procurement

  •   Python Script

Both Suppliers and Project Coordinators have their own preferences against each other. Algorithm helps to match a coordinator with a supplier so that all the partnerships could remain stable and bring mutual benefit.

Optimal Costs of Goods Transportation

  •   C++ Program

In today's world, smart Supply Chain Management has never been that important. Finding optimal costs of supplies is sometimes the matter of to be or not to be for a company. I used a very popular algorithm for finding the shortest paths between nodes in a graph. I tailored the algorithm to the procurement's needs.

Data Workflow (6)

Consuming Many Data Streams At Once

  •   Python Script
  • Apache Kafka
  • PyKafka

Processing data flowing in from different sources at once can be possible with Apache Kafka. As a messaging central bus, Kafka bonds all independent microservices that produces data and redirect it to a consumer.

Create-Schedule-Monitor Workflows

  •   Python Script
  • Apache Airflow

Apache Airflow is the workflow management system to create, schedule and monitor workflows. In the project, I build scheduling workflow for scraping webpage for getting currencies rates, processing it with expense data and mailing an outcome.

Client-Server Data Exchange with TCP

  •   Python Script
  • SQLite
  • Sockets

TCP is the common transport protocol that ensures reliable exchange of data betwen connected programms accross the network. In the project, I model the connection: client - server - database. Data exchange between client and server is performed with TCP. Server saves client's data in the databse.

GraphQL instead of REST for API Design

  •   NodeJS
  • GraphQL

We can find GrapQL as an alternative for REST when developing API that boost web-app performance. Instead of hitting many endpoints and getting all the data at once with REST, with GraphQL you can hit only one endpoint determining in query what data you actually need.

Data Warehousing for Business Insights

  •   Data Proecssing
  • CSV
  • Python
  • Pandas
  • Tableau
  • MS Access

From data collecting to business insights process:
1. Flat files.
2. Python ETL.
3. Data Warehouse.
4. Tableau dashboard.
5. Cloud server.
6. Business Analysis.

Handling Data in Steps in Data Pipelines

  •   Data Proecssing
  • Python
  • Flask
  • SQLite

Data Pipeline:
1. Company A streams data to web-server.
2. Company B requests web-server for receiving data stream.
3. Company B process the inflowing data.
4. Company B feeds database.

User Interface (2)

ReactJS for building User Interfaces

  •   ReactJS
  • Postman
  • REST API
  • Json-server

ReactJS is the JavaScript library for building fast and interactive User Interfaces for web-applications. ReactJS reacts to each change of web-page element rendering only that HTML element instead of entire web-page. This selective rendering gives a big performance boost.

Data Visualization with JavaScript

  •   JavaScript
  • ReactJs
  • Chart.js

Making usage of chart.js as open-source library for data visualization. We can simply embed a chart into HTML structure rendering it in a canvas tag.

DevOps (4)

Application in a Container

  •   Docker
  • DockerFile
  • Kubernetes
  • KubeCTL

Wrapping your entire application's code along with all its dependencies and input files/data with one docker container makes it portable and runnable by another developer on its local machine. Containers includes everything to create required environment to run application successfully. That way, we ensure reproducibility and reliability of app's work regardless of whose computer runs the application.

App Version Tracking with Git

  •   Git
  • GitHub

Git allows us to track any changes in our project's files remembering who mase what and when. Usually, used for coordinating work among developers co-working on source code during software development. I use Git for versioning my data science projects as well as for pulling and pushing things on GitHub.

App's Lifecycle with CICD

  •   Jenkins
  • GitHub
  • DockerHub
  • CI/CD

Continuous Integration and Continuous Delivery/Deployment is a set of good development practices when working on an application. CI/CD pipelines ensure ongoing automation and continuous monitoring throughout the whole lifecycle of apps, starting from integration and testing phases and finishing with delivery and server deployment.

Ansible for VM Provisioning

  •   Vagrant
  • Ansible
  • VirtualBox
  • IaC

Ansible provides Infrastructure as Code solutions for automated provisioning through machine-readable files. We just need to define, in humans-alike language, the state on how we want to configure our virtual machine and run it.

Programming practices (4)

Keeping Python Code Clean

  •   Clean Code
  • SOLID
  • KIS

In this section, I try my best to collect and describe and first of all put down my understanding on how to implement all the techniques that contribute to the clean code of an application. I touch here both theoretical principles and python libraries that assists with feedback on Python's syntax.

Design Patterns in Python

  •   Design Patterns
  • OOP

Common reusable solutions to common problems in an application design. We can use them in form of templates that can be implemented and modified due to the app's requirements. Design patterns are mostly used in the object-oriented programming where defines relationships and interactions between classes or objects. There are different patterns according to the nature of the problem we want to solve.

My In Depth Python Comprehension

  •   Python

In this section, I describe all my knowledge on Python I have managed to gather so far. It contains Python pure architecture, concepts and language-specific properties.

Functional Programming in Python

  •   Python

Functional programming simplifies things to data input and result output avoiding any state changes that may have impact on the output. Python itself is not a functional programming language strictly. However, it has some features suitable for implementing programs in a functional style.

Cloud Services (3)

OLAP in Snowflake

  •   Data Warehouse
  • Snowflake

Snowflake is the platform delivered as a service which means we don't have to worry about patches, upgrades or maintenance. I like the way they describe it: combines the power of data warehousing, the flexibility of big data platforms, and the elasticity of the cloud.

My Comprehension of AWS Services

  •   Cloud computing
  • AWS

In this section I collect as much information as I manage to gain about cloud computing and cloud services with AWS. It includes my understanding, insights, conclusions that I get during my learning process.

Exploring Clouds on GCP

  •   Cloud computing
  • GCP

I continue with learning "clouds" on the example of Google Cloud Platform's services. I enclose my insights, schemas and explanation on how the things work as well as some differences between other cloud services providers.

Me

A few words characterizing myself:

  • Making the most of available technology to work with data.
  • Trying to automate as much as possible.
  • Wrapping it up with nice looking User Interface.
  • Relying on manageable database.
  • Being fascinated about Big Data and Cloud Computing.
  • Spending free time at gym powerlifting.
Up