Open Source
Open Source and hobbies
I enjoy developing in Go, publish projects on GitHub and actively contribute to the Open Source community. In my free time I build DIY devices on Arduino and ESPHome and develop my own smart home system.

Open Source
GitHub projects
- gonfig
a flexible library for simple configuration management. It loads settings from environment variables, command-line flags and various file formats. The library is extensible: you can add new formats and replace key components, for example use spf13/pflag instead of the standard flag package.
- go-bones
A skeleton with pre-configured components and DevOps-oriented configuration. In personal projects I use it for rapid prototyping and to bootstrap most of my microservices. I help colleagues migrate to it and, when needed, provide commercial support.
- headers
This Go library gives a simple, flexible way to deserialise HTTP headers into struct fields using Go reflection and struct tags. It is built to simplify turning incoming HTTP headers into typed values inside your Go structs.
- go-routeros
A Go library for accessing MikroTik devices through the RouterOS API. I used it and contributed fixes at the time; now a friend and I maintain it and develop its features. My current involvement is mostly auditing, review and consulting.
- resolvex
A service that combines BGP and DNS: manage domains and their IP addresses from an admin panel.
- traefik-provider
A Traefik v3 plugin that configures routing based on the state of another Traefik instance.
- docker-dns
A DNS server for Docker containers.
- helium
A modular framework for Go services (services, logger, NATS, PostgreSQL). No longer developed in favour of go-bones.
- tz-hash
An implementation of the Tillich-Zémor hash in Go.
- gossip-model
A simulation model of push-gossip for data dissemination.
- netmap-ql
The Netmap query language, implemented in Go.
- golang
Found and fixed a number of problems related to elliptic curves and cryptography.
Homelab
Infrastructure and automation
SpeechKit Proxy
Streaming Gateway
This project began as a home experiment: I wanted to combine voice control with privacy. I built a Go proxy server for local speech processing over the Wyoming protocol, with caching and fallback mechanisms. It lets Home Assistant work offline. Along the way I learned the intricacies of audio streaming and built a system I use every day.
- Home / Hobby
- SpeachKit
- Golang
HomeInfra
Smart Home Stack
A smart home is about more than comfort. This hobby project started with a single smart plug and grew into a distributed system built on Zigbee, Matter and MQTT. I set up automations, monitored stability, and studied Zigbee2MQTT and how devices interact. As a result my family controls the house by voice, and I learned how to design IoT infrastructure.
- Home / Hobby
- Home Assistant
- ESPHome
- Zigbee2MQTT
- Matter
- Automation
AutoNAS
Storage / Media Infrastructure
Cloud solutions did not suit me, so I built my own NAS on TrueNAS. The project turned out to be a real DevOps education: I had to get to grips with ZFS, Docker, automated backups and media services. Now my media library updates automatically and I have full control of my data. The project taught me a lot about storage and automation.
- Home / Hobby
- TrueNAS / Media Server
- Ansible
VoiceAssistant Stack
Local Voice Assistant
I wanted a voice assistant that works without the internet, so I started a home project: Whisper.cpp + Wyoming TTS + Home Assistant. I put the stack together, set up local STT/TTS, and added command handling and automation scenarios. It was a challenge: real-time operation, low latency, command support. But now I have a standalone assistant that does not depend on the cloud.
- Home / Hobby
- Wyoming
- Home Assistant
Router Automation
Networking / Infrastructure
Working with MikroTik and Keenetic, I got tired of entering settings by hand, and that is how the home network automation project was born. I set up DHCP, VPN, WireGuard and VLANs through scripts and templates. I learned RouterOS and its API, and how to fix problems remotely. Now my network reconfigures itself after a failure, and it all began with a desire to make my life easier.
- Mikrotik / Keenetic
- RouterOS
- VPN
- Firewall
DIY / HomeAssistant
Home Assistant: a local smart home
I had been trying to build a smart home for a long time. At first it was Xiaomi / Aqara / Tuya devices. The one big catch was that they all depended on the cloud. So whenever something went wrong, the smart home became a brick, and the devices meant vendor lock-in, with no way to mix different brands. At some point I'd had enough and started looking at what was available for local deployment. I liked Home Assistant most: it let me combine not only different brands but different protocols, and for tinkering to fit my needs it was enough to build my own add-on.
Automating heat meter readings with ESPHome
Because the meter is in the building's communal entrance hall, over time I started forgetting to submit readings. Since I had begun automating my home, I decided to deal with the meter too. I read the documentation, sketched out a config, and it worked. I set it up in Home Assistant and it is still running.
Automating water meter readings
Having some experience automating readings by then, I decided to take on the water meter too. The meter is in the bathroom, next to the main riser. Running wires there is not an option, so I chose Zigbee. I looked at what the market offers, studied DIY devices and put together a simple circuit with two metering channels plus one for leak detection. The device fitted neatly into the overall setup. A pity I only found a ready-made device afterwards, but at least I figured out the protocols.
Automating electricity meter readings
I came to this topic last, so I looked for a ready-made solution right away. Many options were Wi-Fi based, and I also disliked that even more of them were indirect analysers rather than actual meters. At some point I found Tongou, which worked on a Zigbee network and was a true meter. I only had to implement tariff switching (day / night), which was not hard.
Local voice control
This is, you could say, a never-ending story. Yandex Alice gets dumber year after year, even as new "features" appear. Other market players do not even try local control. There are various homebrew projects that either work badly or need enormous resources. I managed to find something not perfect but close to a sweet spot. Built on the Wyoming protocol + Vosk + a custom model, it covers some of my needs for now. Next I plan to find out whether I can reflash or reuse the hardware from Yandex Stations to make my smart home fully local.
A local alternative to Apple Music / Yandex Music / Spotify
In 2020 I started noticing that I could not find my favourite tracks, for example recordings from the 1990s and 2000s. They simply began to disappear from the platforms. It got worse in 2022, when a number of foreign services were switched off in Russia, and I lost some of my favourite pieces for good. Yes, I have them on discs somewhere, but listening to them on a walk or in the car became a problem. So I found Jellyfin, which can be deployed and used with a little customisation, and that is where my knowledge of C# came in handy. I spent a lot of time digitising my collection and even found things I had long forgotten. Now I am gradually building a list of artists whose music I then download and add to my collection with Lidarr + Jackett.
Tell me about your task
Describe the task or problem in a couple of words. I will reply on Telegram and tell you honestly whether I can help.