Quality Web Apps

Cloud Infrastructure as Code

Continuous Deployments

 

Highly skilled Full-Stack Developer with a strong background in React, NextJS, Python development and experience in DevOps, CI/CD and testing. Demonstrated ability to develop and maintain end-to-end features, create unit and integration tests, develop cloud infrastructure as code.

Technologies used

Frontend
  • Javascript
  • TypeScript
  • ReactJS
  • Figma
  • Illustrator
  • TailwindCSS
Backend
  • NextJS
  • Flask
  • ExpressJS
  • Python
  • Celery
  • SQLAlchemy
DevOps
  • GitLab
  • Bash
  • Docker
  • Terraform
  • AWS
  • Oracle Cloud
Quality
  • Jest
  • Cypress
  • Playwright
  • Junit
  • Unittest
Data
  • Airflow
  • Pandas
  • SQL

Projects

    Project Mountains image

    Mountains

    My solution of a take home assignment for landing page development.

    Implemented using TailwindCSS, Vanilla JavaScript, HTML, created CI/CD pipeline.
    All elements are responsive including the carousel and tabs/accordion. Navbar mobile implementation was not required.

    Requirements Specification:

    “Convert the PSD to HTML that is provided below. The carousel should be responsive. On mobile, the tabs should be converted to an accordion. History, team - these are internal links in the page to their respective sections.”
    Wireframe in the repo.

    Project Atpools image
    Project Atpools image

    Atpools

    Full-stack homepage for a small business:

    • prototyped using Figma, Illustrator, Photoshop;
    • created design system considering typography, alignment, gird, color theory, composition, geometry, contrast;
    • built front-end using vanilla JS and back-end using ExpressJS;
    • packaged application in Docker and deployed using GitLab CI.
    Project Carshare image
    Project Carshare image

    Carshare

    Full-stack web app to rent a car from peers:

    • built React front-end using MUI design system;
    • built back-end and REST API using ExpressJS;
    • stored data in PostgreSQL database and images in AWS S3 storage;
    • implemented end-to-end tests using Cypress;
    • implemented API unit-tests using Jest;
    • developed geo-coding and geo-search using MapTiler and OpenStreetMap;
    • packaged application and database in Docker;
    • developed CI pipeline using GitHub Actions for AWS EC2 deployments.
    Project Daltiler image

    Daltiler

    ETL application with PyQt GUI that extracts and transforms PDF product data into specific CSV structure:

    • developed PDF data ingestion using Python and Tabula;
    • transformed data using Pandas;
    • developed desktop GUI using PyQT framework;
    • eliminated GUI blocking with QT multithreading;
    • increased performance of data ingestion using Python multiprocessing.
    Project OCI-Infrastructure image

    OCI-Infrastructure

    Automatic cloud resources deployment and configuration using Terraform:

    • developed Terraform configuration for Oracle Cloud to provision resources for web apps including: virtual machine instances, virtual cloud networks, internet gateway, object-storage, users;
    • developed GitLab yml configuration for group CI/CD runner and cache
    • developed multi-project pipeline to deploy all projects queue at once;
    • configured NGINX server and SSL certificates;
    • developed scripts for scheduled database backup and recovery;
    • developed pipeline script for automatic CloudFlare DNS update when VM IP addresses change.
    Project BAS image
    Project BAS image
    Project BAS image
    Project BAS image
    Project BAS image
    Project BAS image

    BAS

    Blanket application strategy—a specialised background task processing self-hosted web-app that scrapes job-boards and presents instant results in a tabular form:

    • developed React frontend using Chakra UI design system;
    • developed Flask REST API and Python web crawler;
    • customised frontend Tabulator table with CRUD operations that manage listings;
    • automated headless browser using Playwright to ingest listing attributes;
    • developed SQLAlchemy ORM models to store company and listing attributes;
    • developed on-demand Celery asynchronous background tasks;
    • implemented API pooling to update background task status;
    • created GitLab CI pipeline to automatically deploy updates to DockerHub.
    Project Unit Testing & Refactoring image

    Unit Testing & Refactoring

    My solution of a take home assignment for refactoring legacy code.

    1. Created unit tests :
    • Partitioned input domain into equivalence classes
    • Created eight unit tests achieving 100% edge (i.e. branch) coverage criteria.
    2. Refactored code :
    • For each of the blocks, if the function returns a trivial value it does so immediately.
    • If input types determine return values, grouped them into common control flow branches.
    • Factored out digest computation into a function.
    • Reduced the scope of the helper variable candidate.
    Project This Portfolio image
    Project This Portfolio image

    This Portfolio

    NextJS app that describes my projects:

    • designed Figma prototype;
    • configured Strapi CMS, Postgres database and S3 object storage;
    • developed frontend according to prototype using TypeScript, TailwindCSS;
    • developed contact form back-end;
    Project Storefront image

    Storefront

    Conducted competitor research to analyse and understand industry trends in homepage and online store design.
    Developed the primary iteration of Figma prototype of the company's homepage and storefront for review and further development

    Project Data talks image

    Data talks

    Developed infrastructure configuration and data processing code using Python, SQL, Bash and the following tools:

    • Apache Airflow (task scheduling)
    • ClickHouse (OLAP database)
    • dbt (data transformation inside data warehouse)
    • Metabase (BI and dashboarding tool)
    • Apache Superset (advanced BI and dashboarding tool)

    Developed:

    1. Http links extraction from html page and ingestion from downloaded parquet files into OLAP DBMS.
    2. Data ingestion from csv files containing open data set about companies of the world into OLAP DBMS.
    3. Data ingestion from csv files containing two months of e-commerce product events into OLAP DBMS.

Contact