Experienced working front-end, backend and deployment of web apps.
Mostly worked with JavaScript but not limited to it.
Here are some of the industries I've made software for:
Worked for plenty of clients/companies all over the world (US, UK, Israel, Canada, New Zealand, Norway, Poland).
HTML,
CSS,
SCSS,
JavaScript,
TypeScript,
PWA, Service Workers
React,
Next.js,
Vue,
Angular,
Bootstrap,
JQuery,
Material-UI,
Tailwind
Webpack,
Parcel,
Rollup,
Vite
Express,
Fastify,
Nest.js,
S3,
Emails,
SMS,
Authentication,
CLI tool creation,
Publishing npm packages,
Web Sockets (Socket.io),
Working with 3rd party APIs and SDKs,
Template Engines (ejs, pug, handlebars),
PDF generation,
PM2,
Web Scraping,
Building telegram bots
ASP.Net MVC | core,
Umbraco CMS
make,
cmake
basic scripts,
using 3rd party libs
Bash scripts,
RabbitMQ,
Cron
firebase auth & notifications,
responsive design
integration with React
PostgreSQL,
MySQL (creating procedures and functions),
Microsoft SQL Server
MongoDB,
Redis,
Firebase
Prisma,
Kysely,
Sequelize,
Mongoose,
Bookshelf,
Entity Framework
Docker, docker-compose,
Deployment on linux through ssh,
Configuring Nginx (redirection, ssl, file server),
Working with ssl/tls certificates for https connection,
PM2,
CI/CD (github actions, circleci),
Working with SNS (AWS),
Actively using GCP (Logs, CloudRun, Secret Manager)
Jest,
React Testing Library,
Sinon.js,
Nodejs assert standard package
Git (GitHub, GitLab, AzureDevOps, BitBucket),
Task Management (Jira, Trello, Linear),
Code reviews
Writing readme,
Notion,
Swagger,
jsdoc
English - Advanced (C1),
Ukrainian - Native,
Russian - Native,
Czech - Intermediate (B1)
Working with team,
Team Leading,
Interviewing job candidates,
Creating tasks
Regex,
NX (monorepo)
Main work was with Umbraco CMS (.Net), server-side rendering, adding and fixing APIs (C#) and some work with AngularJS (first version of it).
Mostly I fixed bugs and added minor changes (front-end and back-end). The project was a Polish version of PwC-suite.
Tech Stack: C#, js, jquery, MSSQL, AngularJS
Deployment - Azure services
Tracking - Azure DevOps
Main task - creating a plugin (frontend app) client could insert in any website.
The purpose of it is to help clients choose a mortgage loan program that fits him the most based on user input in the form.
Also pdf have to be generated with all info about current program and sent to user email.
Furthermore authentication and admin panel had to be implemented/maintained.
Tech Stack: Vue.js, PostgreSQL, Python (Django)
Deployment - DigitalOcean vps instance (Droplet)
Tracking - GitHub, Trello
Worked mostly with frontend.
Had a lot of projects here.
Big chunk of work was creating and managing procedures and functions in MySQL(working with json, aggregation, transactions, generating statuses and error messages) for rest api endpoints. Also generating swagger documentation. As a backend language Node.js was used.
For most of the projects Bitbucket and Jira was used to track them.
All of them were deployed on company servers (they have their own data center).
Sending real time data from database to frontend. Additionally authentication process with existing php api was implemented. Also json structure had to be changed.
Tech Stack: Node.js, Socket.io, MySQL, Redis
User sends an email and this email is converted to tiff file and send to real fax. After that user receives confirmation email back.
There was a work with googleScript (to get data form gmail inbox),googleAPI to download message attachments and message content, then files were checked viruses. After that FreeSwitch was used to send actual fax.
As you can see this process has a lot of steps and takes some time. So multiple workers had to be done and managed (MessageSyncWorker, DownloaderWorker, FaxSenderWorker, EmailConfirmationWorker)
Tech Stack: Node.js, MySQL, GoogleScript, Google SDK, ClamAV, FreeSwitch
User sends sound file he can record in vue app or choose on his system. After that this file had to be checked for viruses, and be converted to mp3 and ulaw and to 8 bit with bitrate of 8kbps and 1 channel (to reduce file size)
Tech Stack: Node.js, MySQL, ClamAV, SoX
Implemented managing of sessions, permissions, and keeping sessions alive for Zoom like project. Technologies were used:
Created a few libraries and published then on npm. Used jsdoc to type and annotate them.
Had experience working as lead of a few junior devs.
Interviewing candidates for a job position and creating test tasks for them
This company offers central cloud database.
You put any data there (json, csv, google sheets, sql or no sql database link, etc.) and it will convert this data into relational data, then will put it into data warehouse. After that you could query this data with sql or use it in other apis.
Here is some of the work I did for this company:
Tech Stack - React, Node.js, PostgreSQL, MongoDB, Docker
Deployment - AWS (EKS)
Tracking - Jira
Itera is a Norwegian company that's providing outsourcing services for Norwegian customers (Sector Alarm in this case).
Main task here is to develop an app for sales reps to sell home security equipment.
The app was developed from scratch so there was a requirement to help team and architect with the architecture of the app and the backend.
Worked on:
Tech Stack - React (with redux), Rollup (for shared library), TypeScript, .Net (C#), MSSQL
Deployment - Azure
Tracking - Azure DevOps, Jira
The target audience of this project are waiters in restaurants and bars. Sometimes clients don't have cache to they still wanna leave a tip. That's where this product comes into play.
The product allows users to create their own Stripe account with the help of stipe connect. And receive tips from clients on their main bank account or their investment account (is managed by partner bank).
Users should be able to see all their transactions and their account balance (Plaid is used for that) and also be able to send money to another user of the app.
To achieve this goal a few apps had to be created:
Tech Stack - React, React Native, TypeScript, Node.js, PostgreSQL, NX (monorepo)
Third Party Services - Stipe (with connect), Plaid, Galileo
Deployment - AWS, Sendgrid, SNS
Tracking - GitHub, Jira
In the USA, there is a system of credit scores. If you don't have a high enough score, you won't be able to get a good loan or even rent an apartment. To increase your score, you need to get a loan and pay it back. This process needs to be repeated many times to increment the score. This project is dedicated to simplify this process.
You install the mobile app, complete onboarding (adding bank account details), and the app will create a virtual and physical credit card (which will actually be delivered to your address). Then you will just use this credit card, and in the background, the scheduler will repay your credit card "debt". It will pull the money you've spent on your credit card from the bank account you specified during onboarding.
Users will essentially use the credit card (whether virtual or physical) like a debit card, and the repayments will gradually improve their credit score.
From a technical standpoint, this project involves the aggregation of multiple 3rd party services. The main task here is to ensure that different integrations are working properly with each other.
In the end the product was acquired by the other company.
Project is split between this repositories:
Tech Stack - React (Next.js), React Native, Node.js (Nest.js), PostgreSQL, Docker
Third Party Services - Stipe, Plaid, SVB, Pier, Lithic, LaunchDarkly, Firebase (authentication, notifications), Amplitude, Sentry
Deployment - GCP (Cloud Run, SQL, Secret Manager), Vercel
Tracking - GitHub, Linear, Notion, Sentry
This is a US logistics platform connecting businesses and consumers with a network of providers who can reuse, repair, resell, or recycle their obsolete IT products.
My responsibility was managing a few frontend web apps and a mobile app. Worked on new features, fixing bugs and security vulnerability fixes.
One of the interesting tasks was migration of old legacy build system (create react app) to new more modern Vite bundler. Same thing with old react native app which wasn't updated for a few years.
Tech Stack - React, React Native
Third Party Services - Adyen
Tracking - Taiga, GitLab
I've created this library because I had problem with order of event execution multiple times on backend and frontend.
Npm: event-awaiter
Create-react-app is not good enough for me. But configuring webpack every single time is a pain.
So I decided to cerate my own npm package to suffice my needs
I was inspired by vue cli so I implemented a similar solution
Npm: @repugraf/react-cli
I've used redux for some time in react apps. It's good enough but it requires some boilerplate. Main idea was to create something really easy to use.
This library fixes this issue. It's very minimalistic and easy to use. Almost no setup is required.
Npm: @repugraf/store
I've had a need of cross domain local storage for authentication purposes between multiple subdomains. But there was no libraries to fit my need. Existing libraries were not working at all or full of bugs.
Npm:@repugraf/cross-domain-storage
Minecraft doesn't have a build in cloud saves sync (like Steam has). So if you have some game progress you'd like to save or move to another computer you'll have to do it manually (using flash drive or manually moving it to some cloud file storage).
This CLI fixes this issue by enabling you to just quickly save or pull your worlds into/from AWS S3.
Npm: minecraft-saver
Both apps are using web standards like Web USB and Web Serial apis. You just connect to a serial port or usb device listen to or send a message. Tested it out with 2 NRF24l01+ radio transceivers connected via USB (Type-C) port.
Serial Monitor - only on desktop