Jakub Pilecki, Developer in Warsaw, Poland
Jakub is available for hire
Hire Jakub

Jakub Pilecki

Verified Expert  in Engineering

Full-stack Developer

Location
Warsaw, Poland
Toptal Member Since
April 17, 2017

Jakub is an experienced full-stack software architect and engineer with extensive knowledge in the fields of .NET and Java, relational and NoSQL database management systems, and all types of software (cloud, web, mobile, and desktop). He is a passionate, driven, flexible, and focused developer who wears multiple hats from senior developer to CTO. He's great at tackling challenges, and he never gives up until the task is done and done well.

Portfolio

Advanced Metrics
C#, C#.NET, ASP.NET Core, RabbitMQ, Entity Framework Core, OData, REST...
Depoway
C#, Windows, RabbitMQ, Kotlin, Xamarin.Forms, REST, Software Engineering...
General Technology
C#, C#.NET, ASP.NET, .NET Core, Entity Framework, Entity Framework Core...

Experience

Availability

Part-time

Preferred Environment

Windows, IntelliJ IDEA, Visual Studio, MacOS, C#, .NET, API Architecture, Database Architecture, Git, .NET Core

The most amazing...

...thing I've coded is a table-sized multi-touch device created from scratch. I worked on both the hardware and software sides, before the iPhone era (2007).

Work Experience

Director of Technology | Solution Architect

2020 - PRESENT
Advanced Metrics
  • Served as the sole architect, lead engineer, and team leader on the company's main product—the whole Qualo platform. I created the product's technological vision and architectural design and coded its core libraries and services.
  • Oversaw and was solely responsible for the architecture and development of the Healthy Pathways application, a part of the suite of Qualo apps.
  • Developed many features that eventually became part of Qualo's core code used in multiple other platform apps, including usage of OData, RabbitMQ, notifications, events, and so on.
  • Oversaw and coordinated the front-end development of Healthy Pathways.
  • Wrote dynamic forms service allowing the company to quickly create robust questionnaires in WYSIWYG fashion. That service is one of the pillars of the Qualo platform.
Technologies: C#, C#.NET, ASP.NET Core, RabbitMQ, Entity Framework Core, OData, REST, Software Engineering, CI/CD Pipelines, .NET 6, Kubernetes, GraphQL, .NET Core, Docker, Docker Compose, APIs, REST APIs, ASP.NET MVC, LINQ, API Architecture, Database Architecture, SQL Management Studio, Git, Jira, Visual Studio 2017, MongoDB, Microsoft SQL Server, Scrum, Full-stack, Back-end, Microservices, Databases, Angular, NoSQL, OAuth 2, DevOps, Database Design, Architecture, OWIN, Concurrent Programming, Dependency Injection, Service-oriented Architecture (SOA), Microservices Architecture, Engineering, Computer Engineering, Software Architecture, API Integration, Full-stack Development, Leadership, Agile

API Integration and Mobile Application Developer

2020 - 2021
Depoway
  • Was responsible for the mobile application (iOS and Android with Xamarin) development.
  • Worked on essential integrations with banking systems, financial rating vendors, and payment gateways.
  • Worked as a member of the core founding team, served as a shares holder, and acted as a mobile app project lead.
Technologies: C#, Windows, RabbitMQ, Kotlin, Xamarin.Forms, REST, Software Engineering, API Architecture, Database Architecture, Git, Scrum, Xcode, Xamarin.iOS, Xamarin.Android, Xamarin, Android, Back-end, Microservices, Databases, Angular, GitHub, Upsource, Database Design, Architecture, Concurrent Programming, Dependency Injection, Model View ViewModel (MVVM), TeamCity, Service-oriented Architecture (SOA), Microservices Architecture, Engineering, Computer Engineering, API Integration, Full-stack Development, Agile

Solution Architect | Full-stack Developer

2020 - 2020
General Technology
  • Architected the whole solution for the Visiting Teachers 2020 app; set fundamental patterns and core subsystems on both back-end and front-end sides.
  • Ported functionality from a legacy Microsoft Access VBA application into a new .NET Core-based one.
  • Developed a plugin system for the Angular app that allows the product's extensibility depending on the target client's needs.
Technologies: C#, C#.NET, ASP.NET, .NET Core, Entity Framework, Entity Framework Core, Angular, TypeScript, Visual Studio 2019, REST, Software Engineering, .NET 6, LINQ, API Architecture, Database Architecture, SQL Management Studio, Git, Visual Studio 2017, SQL, Microsoft SQL Server, Full-stack, Back-end, Databases, GitHub, OAuth 2, Database Design, Architecture, Concurrent Programming, Dependency Injection, Service-oriented Architecture (SOA), Engineering, Computer Engineering, Software Architecture, API Integration, Leadership, Agile

Solution Engineer | Full-stack Developer

2019 - 2020
Strange Fog Studios (Self-employed with a Project for Recoveri Tag What's Yours)
  • Designed and implemented the next generation of the company's software platform that will be used worldwide by customers, employees, and law enforcement.
  • Worked closely with the client on the business requirements, development timeline, and technical stack.
  • Implemented the whole cloud-based, vendor-independent software ecosystem using .NET Core, RabbitMQ, Angular 8, and Docker.
  • Configured continuous delivery pipelines based on the Azure DevOps platform.
Technologies: C#, Windows, Entity Framework Core, Azure, Docker, RabbitMQ, Angular, .NET Core, REST, Software Engineering, CI/CD Pipelines, .NET 6, LINQ, API Architecture, Database Architecture, Git, Jira, Visual Studio 2017, Full-stack, Back-end, C#.NET, Microservices, Databases, GitHub, OAuth 2, DevOps, Database Design, Architecture, Concurrent Programming, Dependency Injection, Service-oriented Architecture (SOA), Microservices Architecture, Engineering, Computer Engineering, Software Architecture, API Integration, Full-stack Development, Leadership, Agile

Software and Hardware Engineer

2018 - 2019
Strange Fog Studios (Self-employed with a Project for Vegan House)
  • Designed and created a handmade custom PCB for Raspberry Pi-based IoT devices.
  • Wrote a type of software for the aforementioned devices that allow one to control them via a local network API.
  • Developed server software that acts as a central hub for all the IoT devices in the resort and allows configuration of them and also acts as a relay for client apps.
  • Wrote iOS and Android mobile apps that enable guests to interact with services and facilities to which they bought access.
  • Oversaw the architecture of the whole solution and DevOps and even etched custom PCBs used in this project.
Technologies: C#, Windows, Entity Framework Core, Internet of Things (IoT), Xamarin, PostgreSQL, Docker, .NET Core, REST, Software Engineering, CI/CD Pipelines, .NET 6, LINQ, API Architecture, Database Architecture, Git, Visual Studio 2017, MongoDB, Xamarin.Android, Xamarin.iOS, Android, Full-stack, Back-end, C#.NET, Databases, GitHub, NoSQL, Database Design, Architecture, Concurrent Programming, Dependency Injection, Service-oriented Architecture (SOA), Engineering, Computer Engineering, Software Architecture, API Integration, Full-stack Development, Agile

Contracted Senior Software Engineer

2018 - 2018
Payobox
  • Developed a JavaMoney/JSR-354-based microservice for currency exchange.
  • Created SendGrid and SMSApi.pl related microservices, along with an abstraction layer that enables easy development of future, country-related implementations of messaging providers.
  • Refined and extended core elements of this distributed application.
Technologies: Windows, Microservices, Eureka, PostgreSQL, MongoDB, Docker, RabbitMQ, Redis, MinIO, Spring Boot, Java 10, REST, Software Engineering, API Architecture, Database Architecture, Git, Scrum, Android, Back-end, Databases, GitHub, Upsource, Database Design, Architecture, Concurrent Programming, Dependency Injection, TeamCity, Service-oriented Architecture (SOA), Microservices Architecture, Engineering, Computer Engineering, API Integration, Full-stack Development, Agile

Freelance Senior Software Engineer

2017 - 2018
Advanced Metrics
  • Created a UWP application for Windows 10 tablets that enables a client to collect data offline. The application reuses data collection forms from the main online app and manages the synchronization process when a user returns online.
  • Refactored core parts of the existing application to conform to the best architectural trends and coding patterns, greatly boosting the application's performance, security, and maintainability.
  • Created a dynamic forms tool that enabled users to create their own data collection assessments. It became the core tool of the whole application and was then reused in other projects of this client.
  • Introduced microservice components to an otherwise monolithic application by creating dedicated Windows Services responsible for the synchronization API with the UWP application, notifications sending (mail and SMS), and more.
  • Participated in scrum planning and teaching other team members best coding practices.
Technologies: C#, Windows, Windows Services, Entity Framework Core, JavaScript, Microsoft SQL Server, .NET Core, ASP.NET, Universal Windows Platform (UWP), REST, C#.NET WinForms, Software Engineering, CI/CD Pipelines, .NET 4, .NET 6, ASP.NET MVC, LINQ, API Architecture, Database Architecture, ASP.NET Web API, SQL Management Studio, Git, Jira, Visual Studio 2017, SQL, SQL Server Reporting Services (SSRS), Scrum, Full-stack, Back-end, C#.NET, Databases, Azure Blobs, Database Design, Architecture, MVC Design, Concurrent Programming, Model View ViewModel (MVVM), TeamCity, Engineering, Computer Engineering, API Integration, Full-stack Development, Agile

Freelance Senior Developer

2017 - 2017
Recoveri Tag What's Yours
  • Designed and created an upload functionality for images captured from a mobile device's camera. Images are stored within Azure Blob Storage.
  • Conducted code reviews of an existing application, pointing out and implementing possible enhancements and fixes.
  • Refactored application parts regarding security, data flow, reliability, and user experience.
  • Integrated an application with SendGrid mailing services and created a mail-sending functionality on top of that.
Technologies: Windows, Entity Framework Core, Azure Blob Storage API, Cordova, Node.js, Microsoft Azure Mobile Services, REST, CI/CD Pipelines, .NET 6, LINQ, API Architecture, Database Architecture, Git, Jira, Visual Studio 2017, Android, Full-stack, C#.NET, Microservices, Databases, Azure Mobile, GitHub, Docker, Azure SQL, Azure SQL Databases, Database Design, Architecture, Concurrent Programming, Service-oriented Architecture (SOA), Engineering, Computer Engineering, Software Engineering, API Integration, Full-stack Development, Agile

Software Engineer | Full-stack Developer (Contract)

2014 - 2017
Unidoc
  • Supported the development and maintenance of the company's main products—a UniDoc application and the Unistore SaaS platform.
  • Created extensions and implemented new features for main clients such as Wirtualna Polska, ESV, Cubatex, and more.
  • Wrote an HTML5 application for viewing and managing PDF invoice documents.
  • Wrote learning algorithms for semi-automatic document processing and input based on OCR and Bayesian statistics.
  • Developed a barcode-handling subsystem for document processing.
  • Created an Android client application for managing documents on the UniDoc platform.
Technologies: Windows, MySQL, Hibernate, Spring, Java, SOAP, Software Engineering, API Architecture, Database Architecture, Android, Full-stack, Back-end, Databases, Database Design, MVC Design, Concurrent Programming, Dependency Injection, TeamCity, Engineering, Computer Engineering, API Integration, Full-stack Development, Agile

Chief Software Engineer

2014 - 2017
InviPay.com
  • Worked as a core team member from the project's beginning.
  • Created and implemented the core architecture design as a member of a two-person team.
  • Developed an entity automatic change tracker that is the base of all the asynchronous back end to UI communication and the business audit log.
  • Created and maintained the application's public REST, SOAP API, and PHP client library.
  • Created and maintained all the integrations with 3rd-party systems (banks, accounting agencies, and more).
  • Wrote a secure smart card signing applet for signing documents and transaction dispositions.
  • Refactored an application to use MongoDB alongside PostgreSQL for fast-growing and slow-processing data.
  • Wrote an Android application that was used at shop counters to provide companies services for stationery shops.
  • Developed a payment gateway API and plugins for popular eCommerce systems (Magento and PrestaShop).
  • Created and maintained the reporting and printout subsystem based on BIRT.
Technologies: Windows, Hibernate OGM, Hibernate, JavaScript, Docker, AngularJS, MongoDB, PostgreSQL, JMS, Spring, Java, REST, SOAP, Software Engineering, API Architecture, Database Architecture, Git, Scrum, Full-stack, Back-end, Microservices, Databases, GitHub, Database Design, Architecture, Concurrent Programming, TeamCity, Service-oriented Architecture (SOA), Microservices Architecture, Engineering, Computer Engineering, Software Architecture, API Integration, Full-stack Development, Leadership, Agile

Founder | Chief Technology Officer | Software Architect

2012 - 2016
Syneo.pl
  • Acted in the roles of founder, lead programmer, and IT department director.
  • Had an impact on all projects done by the company (see portfolio).
  • Managed the IT team and projects—created the specifications, designed the architecture, and led the programming efforts.
  • Chose the technology stack for each project, advised clients, and closely worked with them on the project.
  • Led the technology stack and developed the architecture for each project.
Technologies: C#, Windows, MySQL, Windows Desktop, Windows Services, Entity Framework Core, JavaScript, AngularJS, Knockout (Knockout.js), Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), PostgreSQL, Microsoft SQL Server, Java, .NET, REST, C#.NET WinForms, SOAP, Software Engineering, .NET 4, ASP.NET MVC, LINQ, API Architecture, Database Architecture, SQL Management Studio, Visual Studio 2017, SignalR, SQL, Android, Full-stack, Back-end, C#.NET, Databases, WebRTC, Database Design, Architecture, MVC Design, Concurrent Programming, Model View ViewModel (MVVM), Engineering, Computer Engineering, Software Architecture, API Integration, Full-stack Development, Leadership, Agile

Senior Developer

2010 - 2012
UVDesign
  • Managed solely the company's projects done in .NET, Objective-C, or Java.
  • Wrote the company's signature website visits tracking software.
  • Created a UVD DataLink application that enables two-way synchronization between online services and offline local software that doesn't have sync or public API capabilities.
  • Contributed greatly to the in-house CMS system (Actualizer CMS).
  • Built dozens of websites and some web applications during that time.
Technologies: C#, Windows, Windows Desktop, Objective-C, Java, .NET, JavaScript, Perl, C#.NET WinForms, .NET 4, ASP.NET MVC, API Architecture, Database Architecture, SQL, Full-stack, Back-end, Databases, Database Design, MVC Design, Engineering, Computer Engineering, Software Engineering, API Integration, Full-stack Development, Agile

Owner | Developer

2005 - 2010
Self-employed
  • Took my initial steps in commercial software development.
  • Created a PHP framework (Wendigo) along with a CMS system (Wendigo CMS).
  • Developed a local news portal based on Wendigo CMS that operated in five towns across Poland.
  • Built a full-sized multitouch table based on FTIR phenomena and wrote the full software stack from base drivers to the showcase demo software (IRIA project).
  • Wrote my own complex data classifier (Blaze) that is able to cope with concept drift. In certain scenarios, it outperformed well-established algorithms (ACE, ACE2, k-NN).
Technologies: C#, Windows, Windows Desktop, Java, .NET, JavaScript, .NET 4, ASP.NET MVC, LINQ, API Architecture, Database Architecture, SQL Management Studio, Microsoft SQL Server, Full-stack, Back-end, Databases, Database Design, MVC Design, Engineering, Computer Engineering, Software Engineering, API Integration, Full-stack Development, Agile

Recoveri | Tag What's Yours (2020)

https://recoveri.net
About three years after a previous successful collaboration with Recoveri, I was asked to rewrite their crucial software platform from scratch. As the company was planning to expand to new markets, this new generation of software had to be created with scalable, cloud-based architecture in mind.

The project was successfully completed in around six months. I was responsible for every aspect—from the front-end Angular application through .NET-based microservices back end to DevOps and delivery pipelines and technology choice.

Technologies: C#, .NET Core, ASP.NET Core, RabbitMQ, PostgreSQL, CouchDB, Azure DevOps, Docker, Kubernetes

Project "California" for Vegan House Resort

https://veganhouse.pl
Vegan House is a resort in a beautiful mountainous region of Poland.

The goal of the project was to enable the resort's guests to access and use services with a handy mobile app installed on their phones. The application serves as a key to the guest's room and the complex's facilities (sauna, camper van terminals, and so on) so they could access services on the go and even from a distance.

To achieve this, I started by designing and building my own hardware that is based on Raspberry Pi and custom PCB and hosts a .NET Core control application. The next step was the central server's software that acts as a relay between the client apps and devices; it's written also in .NET Core and runs in a Docker container. The final piece is a set of native mobile applications for iOS and Android, written in .NET with the Xamarin framework.

I was the sole engineer on that project, responsible for designing and creating each piece—from the devices to the final software. Also, TeamCity was used here as a build server and NuGet repository of shared libraries.

The project is written in such a way that it's possible to adapt it and deploy it in other hotels and resorts. There are also plans for extending its new capabilities and devices.

Payobox

Payobox is a new startup that's located in Warsaw, Poland. It's done by the same team that is responsible for the success of the InviPay.com platform.

Payobox's mission is to ease B2B settlements using modern technologies, such as blockchain and smart contracts, coupled with an in-depth understanding of the main financial blockers that every business faces.

We aimed to deliver the MVP by the summer of 2018.

Technologies: Java 10, Spring Boot, Minio, Redis, RabbitMQ, Eureka, Ribbon, Docker, MongoDB, PostgreSQL, microservices architecture

Maxwell Home Visiting

https://maxwell.health.maryland.gov/
Maxwell is a maternal, infant, and early childhood home visiting program carried on by the Maryland Health Department and Family League of Baltimore.

The core element here is the online application that helps the coordination of the Maxwell program and collects and aggregates data from assessments and questionnaires performed during home visits. This data is then used to provide tailored help to the family to ensure children's health and proper development.

I acted as a senior software engineer on this project and later changed lanes as a lead developer. I was responsible for many core features, code reviews, and refactoring the legacy code when I joined the team.

Technologies: C#, ASP.NET, MS SQL, Entity Framework, DevExpress

Maxwell Offline Application

https://maxwell.health.maryland.gov/
Maxwell is an online solution for social workers in Baltimore, MD, that aims to provide aid for families with little children (ages 0-5). Doing regular home visits is a core part of the program.

Home visitors are equipped with portable tablets on which they can run Maxwell Offline Application. The application gives them not only the ability to manage their caseload but also, what's most important, to perform multiple assessments and questionnaires, from which they collect the data that then is used to monitor the state and progress of the target families.

The app was written for the Windows 10 UWP application and published in the official Windows Store. A REST API back end was also created to provide a synchronization interface with the main online solution.

Recoveri | Tag What's Yours (2017)

Recoveri is a South African company that provides solutions for securing cars and other belongings. They use microdots technology—1 mm diameter transparent information discs sprayed on the assets, creating unique patterns by which objects can be then identified.

My involvement in Recoveri's project was to aid the development of a mobile application that was to be used by Recoveri clients in order to manage their tagged assets, report theft or damage, and more. I reviewed and refactored code, mostly on fields of security and performance, as well as created new elements of the application.

Technologies: Azure Mobile Services, Azure Blob Storage, Node.js, Cordova

InviPay.com

InviPay was chosen as the best fintech startup of 2016 at the FinTech Gala Awards. It is an innovative payment platform that helps companies maintain their financial liquidity.

I joined InviPay's team at the very beginning of the project and contributed to or developed most of the core application's elements and architecture.

My sole responsibility was the development and maintenance of the application's public API, integrations with 3rd-party services (such as banks, accounting services, debtors registries, and more), development of the R&D application branches such as offline and online pay gates, and the reporting and printout subsystems.

As the application and company matured, I earned the position of chief software engineer—doing day-to-day development according to the current company's development directions and needs. Notably, I introduced a NoSQL-based subsystem for collecting and processing large data obtained from remote services, refactored the subsystem for mass money collecting services, and created requested functionalities for debts and the collection department.

FeturaCloud

FeturaCloud is a solution developed for Wesstron. The solution is an ambitious take on an IoT idea.

In cooperation with DTM Systems, we developed the full software and hardware solution for livestock breeding facilities—it allows the automation, monitoring, and live control over those facilities.

The system consists of locally deployed hardware elements such as automatic feeders, water pumps, box gates, and more, along with local supervising SOA software that controls those elements according to preconfigured plans and/or as a response to current conditions (i.e., humidity, temperature, noise, and more).

On top of that, there is a central cloud application that gives control over the systems in those local facilities from any place and provides aggregated reports and other insights.

In this project, I oversaw the R&D process, core architecture design, communication protocols development, team management, and programming for the core elements.

Slingshot | Optimes

Slingshot (rebranded as Optimes) is an application for production processes planners.

Its core element is the sophisticated interactive Gantt diagram that presents all past, current, and future actions that makes up any production process from start to end.

The application is created as an ASP.NET intranet central software with satellite components such as Microsoft Reporting Services node for printouts and reports, dedicated Windows Service for long running threads (schedulers, email senders, recalculations, and more).

CloudFlex

https://cloudflex.dtm.pl/
DTM Systems is an automation systems manufacturer for whom I developed a web application for their service technicians.

The purpose of this application is to provide a remote tool for the configuration and supervision of deployed systems based on their proprietary CloudFlex hardware. Examples of such systems are automated garage doors, lights, and more that are controlled with remote control by end users.

The CloudFlex application provides unified, remote access to those hardware nodes, registration, and management of remote controllers (also in the form of smartphone applications), the live monitoring of events, and issuing commands from anywhere the technician has a basic internet connection.

The scope of this project was not only pure software architecture and development but also required close cooperation with the client's hardware team in developing the final devices, communication protocols, and more.

Flood Simulator

Flood simulator is a module for the client's Natural Threads Prevention platform.

The purpose of this module is to simulate a flood wave transition along a river, described as a semi-graph structure, while taking into account multiple conditions along the way, such as reservoirs, river branches, and more.

Technically the project is divided into three components. At the core is a calculations back end that takes care of all the simulation of the semi-graph. Multiples of those calculation nodes can be deployed and are connected to API back ends via the JMS queue. The API back end serves as a thin entry point for commands and results sent back and forth to the front-end.

The front-end is an HTML/JavaScript application that, by using Knockout.js, is able to visualize calculations on a simplified river map. The map displays the fronts of the waves and the water level at measuring points and provides a control for time travel and playback of the simulation.

Distributed Scale Monitoring Service

In cooperation with Kalisto (a manufacturer of industrial scales) and Polskie Sklady Wegla (a coal distribution company), I created software for remote monitoring and data collecting from industrial scales deployed in coal distribution centers across Poland.

This project consists of two parts—the local scale monitoring service that is directly connected to the scale at a distribution center and collects data about the weight of coal trucks that drives through the scales situated at the gates. The centralized web application that enables higher management to monitor all those remote locations.

Observer.NET

Optiguard is a leading anti-theft electronics manufacturer in Poland. Their line of products consists of electronic devices that are used in stores to secure displayed merchandise along with proprietary software that enables shop owners to monitor those devices.

The goal of the Observer.NET project was to introduce another layer of that infrastructure—the cloud-based intranet application that gathers data from multiple shops and their devices, aggregates it and displays it in real-time in a web browser. On top of that, it provides remote interaction capabilities with sensors and also historical data browsing and reporting.

Optical Questionnaire Recognition Service

For Infosys Poland, I developed an optical questionnaire recognition service. The main purpose of this internal tool is to handle the batch-processing of scanned hand-filled questionnaires to ease data input procedures.

The application is created as an OWIN-based API service with a REST interface. It utilizes computer vision and layout matching techniques to provide transformation invariant processing of images. The experimental tesseract-based OCR functionality also serves for text recognition for open question fields.

Lithium

Lithium is a WebRTC-based communication platform. Its goal is to provide teleconferencing straight from the website without the need to install any plugins or auxiliary software.

The software is split into two components: a back-end service (based on OWIN and SignalR that takes care of data signaling and management of users and chat rooms) and a front-end JavaScript application that needs to be embedded onto the target website by the simple importation of JavaScript scripts and initializing it with a simple function call.

Unistore Android Application

http://unistore.pl/
Unistore Android Application is a thin client of the Unistore SaaS platform—it enables users to browse, view, and manage their documents kept in the Unistore cloud.

The application was designed to fit tablets and smartphones and is able to cache documents for offline access when needed.

Optical Form Recognition Component for UniDoc

UniDoc (and, based on it, Unistore) is a document management solution for companies.

I developed a subsystem for semi-automatic document recognition and input—based on bar codes, optical character recognition (OCR), layout matching, and machine learning techniques.

The goal of the project was to add the ability for semi-automatic data input from paper documents. With my module, the user is now able to scan a paper document (an invoice, for example), and its layout is matched with those previously added to the system. Then the data is extracted from that document, with the help of the OCR mechanism, and the electronic input form is filled with it.

UVD DataLink

DataLink was a response to many of my clients' need to synchronize their old fashion offline applications (for example, warehouse management software) with online shops and other sites.

For that, I developed a Windows Service-based application that, through a plugin system, could hook up to those closed offline apps and pull-out or push-in needed data.

Various techniques were used here, depending on the type of target software—from plain access to offline databases to ActiveX integrations and beyond.

PZWL Catalog

PZWL is one of the largest medical book publishing houses in Poland. For them, I developed a Windows desktop application in WPF technology that was an interactive drugs catalog for students and doctors.

The application was distributed on the CD-ROMs added to books printed by clients and as an online standalone purchase.

The main challenge here was to cope with the large database size that, at the same time, was encrypted but needed to be searched in a fast and efficient manner.

BIG InfoMonitor App

https://www.big.pl/certyfikat
For one of the largest national debtors registries that were a client of UVDesign, where I worked, I developed the Android and iOS application for fast contractor debt checking in InfoMonitor's databases as a part of their Finance Credibility Certificate product line.

Wendigo

Wendigo is a PHP MVC lightweight framework written from scratch to speed the development of secure, object-oriented applications. Its main goal was to be as light and modular as possible, contradictory to other frameworks of that time, such as CakePHP or Symfony, that were monolithic and took hours to install them.

On top of that, there was a Wendigo CMS—a content management system built with the Wendigo framework as a foundation. It was used then in projects such as NetKurier, CentrumGSM, or Wrozka Kindergarten.

NetKurier

Based on the Wendigo CMS, I developed a local news portal that was running in five towns across Poland. It consisted of multiple subsites, event pages, blogs, galleries, public bulletin boards, small advertisements, and more.

CentrumGSM

For CentrumGSM, I cooperated with a team on the creation of their online marketplace and online warranty service.

The application was based on the Wendigo framework and used Microsoft SQL as a data store and data logic back end. Microsoft SQL Server use here was dictated by other applications used by clients that relied on RDBMS.

I.R.I.A.

My software engineer bachelor's thesis was focused on the then-emerging multitouch interfaces. I designed and built a full-sized multitouch table that took advantage of the Frustrated Total Internal Reflection phenomenon to detect the user's fingers touching the table's surface.

On the software side, the full low-level driver-like application was developed in Java that took care of recording, analyzing, and transforming input from a camera sensor. Then it translated that to standard Windows mouse cursor movements. Along with that, there was also a demonstration of the photo browsing software.

Blaze

My thesis for my master's degree was about complex data classifiers able to level a concept-drifting phenomenon. For that, I developed my own classification algorithm, Blaze, partially inspired by Kyosuke Nishida's ACE method.

The objective was to create an algorithm that can quickly adjust itself to the concept of drifting without waiting for cutpoints which is a main flaw of all moving window-based classification algorithms.

In certain scenarios, Blaze outperformed well-established algorithms such as ACE, AWE, and ADE.

Tesseract Box Creator

https://github.com/EvilVir/tesseract-box-creator
A simple application created as a side project that allows you to create and edit Tesseract OCR's learning files to refine them. It was used as part of some OCR projects I did and then released as open source for others to benefit from.

Ninject Autobinding Extension

https://github.com/EvilVir/Ninject.Extensions.AutoBinding
This is an extension of a popular Ninject framework that enables programmers to automatically configure their dependency services by just putting appropriate attributes on service classes. It mimics Spring's @Component annotation.

This is very helpful in larger applications where adding all the dependencies to the container by hand is tedious and hard to maintain.

WiringPI.NET

https://github.com/EvilVir/WiringPi.NET
A simple .NET wrapper around Drogon's library WiringPi. It enables the use of Raspberry Pi's GPIO under Microsoft .NET and Mono Framework applications. This is an open-source project used in a variety of other projects.

GPIOTool

https://github.com/EvilVir/GPIOTool
A simple mono application for fiddling with RPI's GPIO pins. It runs as a CLI application that gives you a simple list of all the GPIO pins on your board, and then you can change individual pin properties like state, mode, and direction, pool for its state (in read mode), tag them, and more. It is good for simple fiddling and prototyping with Raspberry Pi.

Second Place at Microsoft's Win the Web Competition

As a part of my activities in the .NET group, I participated with two team members in Microsoft's Win the Web Competition. It was a 24-hour ASP.NET programming marathon carried out at Microsoft Poland HQ.

We won 2nd place there, missing 1st place just by a hair after Hewlett Packard's team.

.NET Group Science Club at the University of Technology and Life Sciences in Bydgoszcz

During college, I lectured at a local .NET group. There was a science club, assisted by Microsoft, that was focused on programming technologies from Microsoft.

I carried out multiple lectures and also was the main organizer of 2 IT Academic Days in Bydgoszcz—university events that consisted of lectures by students, professors, local IT companies, and Microsoft employees.

Azure IoT Hub Research Side Project

Based on Raspberry Pi 2 and Azure IoT Hub, I prototyped a cloud-enabled application that manages sensors connected to those computers.

Readings from an ambient temperature sensor (DS18B20+) are sent as messages to the device's twin in the hub, and from there, they are consumed via WebSocket and displayed on the sample web application.

Also, communication from the cloud to the device was established using the twin's properties to toggle connected LEDs.

Home Automation System

With Odroid C1+ and Node.js, I created my home automation system that exposes some equipment, such as computers, lights, and so on, to Apple Home. This enables me to control them via iPhone's Home app and widgets.

Languages

C#, C#.NET, GraphQL, SQL, Java, JavaScript, TypeScript, Perl, Objective-C, Java 10, Kotlin

Frameworks

Entity Framework Core, ASP.NET Web API, ASP.NET MVC, Hibernate, ASP.NET Core, Spring, .NET, Mono, ASP.NET, .NET Core, .NET 4, Windows Presentation Foundation (WPF), AngularJS, Angular, OAuth 2, Spring Boot, MOA, Knockout (Knockout.js)

Libraries/APIs

LINQ, SignalR, REST APIs, WebRTC, Azure Blob Storage API, Xamarin.iOS, Xamarin.Android, JMS, Entity Framework, Node.js, WinAPI

Tools

Jira, TeamCity, Docker Compose, SQL Management Studio, RabbitMQ, Ninject, Git, IntelliJ IDEA, Visual Studio 2019, Upsource, Hibernate OGM, Azure Mobile, GitHub, C#.NET WinForms, Visual Studio, Eureka, Xcode, Apache Maven

Paradigms

API Architecture, Service-oriented Architecture (SOA), Model View ViewModel (MVVM), MVC Design, Dependency Injection, Concurrent Programming, Microservices Architecture, Microservices, REST, Scrum, DevOps, Agile, Database Design

Platforms

Docker, Visual Studio 2017, MacOS, Universal Windows Platform (UWP), Windows Desktop, Microsoft Azure Mobile Services, Xamarin, Azure, iOS, Android, Raspberry Pi 3 GPIO, Kubernetes, Windows, Windows Server

Storage

Database Architecture, PostgreSQL, MongoDB, Databases, SQL Server Reporting Services (SSRS), Microsoft SQL Server, NoSQL, MySQL, Azure Blobs, Azure SQL, Azure SQL Databases, Redis

Other

Engineering, Windows Services, APIs, OWIN, Architecture, Full-stack, Back-end, Software Engineering, .NET 6, Software Architecture, API Integration, Full-stack Development, MinIO, Internet of Things (IoT), Windows Communication Foundation (WCF), Xamarin.Forms, SOAP, CI/CD Pipelines, Leadership, OData, Computer Engineering, Cordova, Tesseract

2009 - 2011

Master of Computer Science Degree in Engineering (Intelligent Decision Support Systems)

Poznań University of Technology - Poznań, Poland

2005 - 2009

Bachelor's Degree in Computer Engineering

The University of Computer Sciences and Skills in Łódź - Bydgoszcz, Poland

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring