Maxym Chapliak

Technical Work

What I've built

Scripts, tools, and homelab work — real IT and systems problems I've actually run into and solved.

POS display resolution switcher

A menu-driven PowerShell tool for switching dual-monitor resolution profiles on POS hardware.

Built with: PowerShell, C# (embedded), Win32 API

The problem

POS terminals — ELO/NCR and Wincor hardware — need specific dual-monitor resolution profiles depending on how the second display is being used, and switching between them by hand through Windows display settings is slow on hardware that doesn’t give you a clean, unattended way to do it.

What I built

A menu-driven PowerShell tool that switches between dual-monitor resolution profiles directly. It calls the Windows Win32 display APIs via embedded C# (compiled inline from PowerShell) to change monitor resolutions programmatically instead of going through the display settings UI.

What it involved

Working with the Win32 API from PowerShell through embedded C#, understanding how Windows exposes multi-monitor display configuration, and building something reliable enough to run against POS hardware in the field — ELO/NCR and Wincor terminals — without a GUI walkthrough.

Home Assistant smart home build

A self-hosted smart home setup on a small home server, with a full home network behind it.

Built with: Home Assistant, Zigbee, Z-Wave, Lenovo ThinkCentre, TP-Link managed switch, GL.iNet Flint 2

The setup

Home Assistant runs on a Lenovo ThinkCentre mini PC, controlling a mix of Zigbee and Z-Wave devices around the house. It sits behind a home network built around a GL.iNet Flint 2 router and a TP-Link managed switch.

What it involved

Getting Zigbee and Z-Wave devices talking reliably to Home Assistant, migrating the setup between hardware and troubleshooting the issues that came with it along the way, and designing the underlying network the whole thing depends on — including the split between managed and unmanaged switching.

Network layout

  1. ISP fiber
  2. GL.iNet Flint 2 (router)
  3. TP-Link TL-SG108E (managed switch)
  4. Room network outlets
  5. NETGEAR GS105 (unmanaged switch, desk)

Password manager consolidation

Local Python scripts to merge and deduplicate password exports from four different password managers into one clean Bitwarden-compatible CSV.

Built with: Python

The problem

Passwords had ended up scattered across four different places — Apple, Google, Bitwarden, and 1Password — with overlapping and duplicate entries between them and no single clean source of truth.

What I built

Local Python scripts that parse the export files from each of the four sources, deduplicate overlapping entries, and merge everything into a single clean CSV in Bitwarden’s import format.

What it involved

Understanding the different export formats each password manager uses, writing deduplication logic that could tell genuinely duplicate entries apart from similar-but-different ones, and doing all of it locally rather than through any online service, given the sensitivity of the data involved.