summary
A Rails developer who builds the Telegram side of the studio’s products: the menus, commands and game mechanics people actually use in WardyBot and DNA, and lately the web surfaces around them — an admin on Vue 3 and a Mini App on React. Second by commit count in the WardyBot repository, and in what he ships there the Ruby specs run to almost twice the lines of the Ruby code. Started here in 2023, on this site; in 2026 also built a client demo on generative video and voice — lip-sync models, AI video and speech synthesis.
career
Vindo Studios · Developer · generative video and voice
2026
AI live-dealer demo
AI live-dealer demo
A web demo of a live-dealer table where the dealer is a video avatar: 163 commits in a month. Ran five lip-sync models side by side instead of picking one from the docs — rejected the photo-driven ones on measured head movement, settled on VEED Lipsync 2.0 and Sync Labs, and later regenerated the whole library on HeyGen — and judged every take by a pixel-difference metric in the mouth area rather than by eye. Dealer footage from Kling and Veo, voices from ElevenLabs and a local TTS, replies through OpenRouter; a speech queue with priorities that never cuts a line off, and game logic decoupled from video timing so a stalled clip cannot stall a round.
RubyCoin · Fullstack developer
2024–present
WardyBot
WardyBot
370 merged pull requests and the second-largest commit count in the repository. In the bot: the captcha and the captcha quiz at the door, warns, bans and mutes with their menus, broadcasts, role-play commands, and the game layer — duels, the in-chat market, skins with drops, a shop, sales and moderation, achievements and ranks. On the web: the admin on Vue 3 + TypeScript over a JSON API, with ActionCable notifications and Telegram sign-in, and the Mini App’s move to React 19 together with its premium shop.
RubyCoin · Backend developer · reviewer
2025–2026
DNA
DNA
The customer’s own posts from end to end — creation, editing, scheduled and postponed publishing, per-channel settings, premium emoji, captions too long for Telegram — and the ad-reservation service with its archive and the content-plan view. Then the premium tier: payment menus, the free/premium split and the notifications around a subscription. Started the Ruby userbots on TDLib — opened the pull request that brought them in, which Danyil then carried to the end — and patched the tdlib-ruby fork they run on. Reviewed 105 of his colleagues’ pull requests.
RubyCoin · Backend developer
2025–2026
ImageMaker
ImageMaker
The
/qx command with ready-made author quotes and the API path the second product calls, per-user quote settings, AI-picked backgrounds and the admin /stat. In 2026, a Chromium renderer that draws a quote as a Telegram bubble — still an open pull request.RubyCoin · Fullstack developer
2023–2024
this site
this site
Thirteen merged pull requests: slug history on FriendlyId, so a renamed post keeps its old URL, the home-page tag filter on Tom Select with pagination in a Turbo Frame, similar posts, the after_party task that regenerated every photo format, and the policy for confirming users in the admin.
stack
core
Ruby on RailsRSpecTelegram Bot APIVue 3TypeScriptReact
also
TDLibPostgreSQLInertiaPiniaActionCableHotwire · TurboFriendlyId
generative media
lip-sync: VEED · Sync Labs · HeyGenKling · VeoElevenLabs · TTSOpenRouterffmpeg
Ships the specs with the feature: in WardyBot, almost twice as many lines of Ruby specs as of Ruby code
Reads other people’s pull requests too — 151 reviews across DNA and WardyBot
Takes a feature from the bot command to the web screen
worked on · 4
DNA
The customer’s own posts — creation, schedule, per-channel settings — and the ad-reservation service.
WardyBot
Skins — the collectibles with their shop, drops, sales and moderation — plus duels and the captcha quiz at the door.
ImageMaker
The
/qx command — ready-made author quotes, which is the half of the service the second product calls.RubyCoin
Slug history on FriendlyId — a renamed post keeps answering at its old URL.