Golang backend developer.

I build microservices, REST and GraphQL APIs, gRPC services and real-time features over WebSockets. Three years of focusing on clean architecture, performance under load, and systems that solve an actual business problem.

  • Go
  • Gin
  • gRPC
  • PostgreSQL
  • Redis
  • Kafka
  • Docker
  • AWS
  • 3+Years building backends
  • UTC+2Based in Ukraine, remote

How I work

I work on the server side. Microservices, APIs and real-time applications in Go — usually behind a Postgres or MongoDB schema, with Redis where a cache genuinely helps rather than where it hides a slow query.

Clean architecture is not a diagram for me, it's whether the next feature fits without rewriting the last one: clear boundaries between transport, business logic and storage, and handlers that stay thin enough to read in one pass.

When something is slow I measure it before I change it, then show you the numbers before and after. And I'd rather understand the business problem than implement a spec that won't solve it — if I think the approach is wrong, I say so before the estimate, not after.

Location
Ukraine, remote
Timezone
UTC+2 · overlaps EU and US-East mornings
Languages
English, Ukrainian, Russian
Focus
Microservices, APIs, real-time
Rate
from $10 / hour

Tools I use in production

Grouped by where they sit in a system, not ranked by confidence. Everything listed here is something I have shipped with, not something I read about.

Core language
  • Go
  • SQL
Frameworks & APIs
  • Gin
  • Echo
  • net/http
  • REST
  • GraphQL
  • gRPC
  • WebSockets
  • JWT
  • Telegram Bot API
  • MTProto
Databases & storage
  • PostgreSQL
  • MySQL
  • Redis
  • MongoDB
Messaging & async
  • Apache Kafka
Infra & DevOps
  • Docker
  • Docker Compose
  • CI/CD
  • Git
  • AWS
Architecture & practices
  • Clean architecture
  • Microservices
  • MCP servers

Selected work

Problem, architecture, and what shipped. Six projects I can talk through line by line on a call.

Telegram Freight Dispatch Automation

Logistics

Problem

A logistics company was copying freight orders from load boards by hand into dozens of Telegram groups, order by order, operator by operator.

Architecture

A Go system that reads new orders from load-board bots in real time, parses route, cargo, weight and price, and hands each operator a ready card with price options — one tap publishes a formatted post to every one of their groups from their own account. Around it: bulk delete and re-post, a searchable order archive, personal filters, a night-time queue, statistics and scheduled reports, with multi-operator support behind owner approval.

The hard parts were not the features. Telegram stopped delivering login codes to the server IP, so login moved to QR; concurrent accounts needed live connections that recover on their own with per-account session state; rate limits needed a shared per-chat limiter with exponential backoff after 429; sessions are encrypted with AES-GCM, kept out of backups, and every action re-checks permissions.

load-board bots → parser → postgres → operator card → mtproto → telegram groups

  • Go
  • PostgreSQL
  • MTProto
  • Telegram Bot API
  • Docker
  • 447Real orders in the parser test set
  • 0Manual copy-paste left in the loop

Freight Data Parser & API Integration

Logistics

Problem

A freight client needed new cargo listings on della.ua the moment they appeared. Watching the board by hand means missing them, and the same load surfaces more than once.

Architecture

A Go pipeline that monitors the board continuously and filters duplicates before anything downstream sees them. New listings go straight to a Telegram bot, and the parsed data is published asynchronously to Lardi-Trans through its official API. The whole application is driven from that same bot, including setting and changing the monitoring URL with pre-selected filters. Parsing started on Selenium and was later rewritten to plain HTTP requests — faster and far more stable. The Lardi-Trans integration became its own Go client library handling auth, request/response and error mapping, reusable across projects.

della.ua → http parser → dedup → telegram bot + lardi-trans api

  • Go
  • HTTP parsing
  • Selenium
  • Telegram Bot API
  • Lardi-Trans API

YouTube Analytics Parser

Media

Problem

Channel performance lives in YouTube's own dashboard, one channel at a time, with no history you control and no way to compare arbitrary periods.

Architecture

A Go backend that pulls data from the YouTube Data API on a configurable schedule and stores it in PostgreSQL, so history survives regardless of what the dashboard shows. On top of that: a video tracking table with view counts, views per hour and publish date, sortable columns and time-range filters from 24 hours to all-time, plus a channel module to add channels by username, hide them from tracking or drop them from the watchlist.

youtube data api → scheduled collector → postgres → tracking table → range & channel filters

  • Go
  • YouTube Data API
  • PostgreSQL

Mining Pool Monitoring Bot

Crypto infrastructure

Problem

Pool operators had to keep a dashboard open to notice a found block, a worker dropping offline, or hashrate moving — none of which happens on a schedule.

Architecture

A Go bot that polls the pool API and pushes to Telegram the moment something happens: a new block with the pool progress percentage at the time of discovery, a worker that stopped submitting shares, or hashrate crossing a configured threshold with follow-up alerts on every further step up. Block history is stored and readable inside the bot, with date, time and pool percentage for each one.

pool api → poller → storage → telegram bot → alerts + block history

  • Go
  • Telegram Bot API
  • 100 TH/sFirst hashrate alert threshold
  • +25%Step between follow-up alerts

Browser Automation Bot

Automation

Problem

Converting raster images to vector on vectorizer.ai in bulk, on a service with no official API, meant doing it by hand one file at a time.

Architecture

A Go bot that drives the browser end to end: upload, wait, download, repeat. Point it at a folder and get back the same number of vector files with no interaction in between. Batch size, delay ranges and pause intervals are configurable, with randomised gaps between uploads and scheduled long breaks between work cycles.

folder of images → browser bot → vectorizer.ai → vector files

  • Go
  • Browser automation
  • 1000+Images per unattended run
  • 3h / 1hWork and pause cycle

Animated Subtitles Desktop App

Video tooling

Problem

Burning word-by-word animated subtitles into short-form video is the kind of work that eats an afternoon per batch when done in an editor.

Architecture

A self-contained Windows executable written in Go. Whisper transcribes offline, FFmpeg burns the result in, and the app handles word-level highlighting, 9:16 output at 1920×1080, and control over position, font size, line count and colours for text, active word and background. Drag in a folder, get the batch back. Nothing to install beyond the binary, and nothing leaves the machine after the model is downloaded.

drop folder → whisper (offline) → word timings → ffmpeg burn-in → mp4

  • Go
  • Whisper
  • FFmpeg
  • Windows
  • 200+Videos a day it is built for
  • 20+Languages recognised
  • 1Executable, nothing to install

Where I've worked

  1. May 2025 — Present

    Golang Developer · Beehive Logic

    Part-time. Backend work on both sides of the fence: a monolith that still carries the business, and the microservices growing out of it.

    • Develop and maintain backend services and APIs in Go.
    • Build MCP servers for internal tooling.
    • Write and improve data parsers and integration tools.
    • Ship fixes and new features into systems already in production.
    • Go
    • PostgreSQL
    • Docker
    • MCP
  2. Feb 2023 — Present

    Golang Developer · Freelance

    Backend systems, data pipelines and API integrations for direct clients, from the first call to a running service.

    • Built a real-time freight monitoring system with de-duplication, instant Telegram alerts and automatic sync into Lardi-Trans.
    • Built a YouTube analytics backend on the YouTube Data API with stored history, time-range filters and channel management.
    • Published a reusable Go client library for the Lardi-Trans API — auth, request handling, error mapping.
    • Go
    • REST
    • Web scraping
    • PostgreSQL
    • MySQL
    • Telegram API
    • Docker

Let's build something reliable

Pick whichever channel your company already uses for contractors. All of them reach me directly.