Properties: Mikhail Yakubenko
Mikhail with an X-ray of his own skull, pixelated

Mikhail Yakubenko

System
User:
Mikhail Yakubenko
Handle:
muhyrla
Age:
22 y.o.
Location:
Turkey
Occupation:
Backend developer
CPU:
Python 3.13 @ FastAPI
DescriptionBonziBuddy

I build backends in Python: Django and FastAPI, APIs, auth, integrations, bots and parsers. Comfortable with DevOps: CI/CD, containers, monoliths and microservices. Not a frontend guru, but I can vibe-code a UI when needed 😁

Installed components
  • Python
  • FastAPI
  • Django
  • Bots & parsers
  • Docker
  • CI/CD
  • Figma
  • React (vibe)
Русский
Under constructionmuhyrla.dev
SnapMap - C:\Projects

SnapMap

The city as a game: get a “snap a…” quest, take the photo, a neural net checks it, and you earn coins and a spot on the leaderboard.

2025 · Telegram Mini App · team project

My role: the backend, the photo verification pipeline and deploys. Teammates built the frontend.

The idea

New quests arrive every day: snap a yellow door, a street musician, a sunset over the river. A finished quest earns coins, a streak and XP, and the photo goes to the shared feed. Coins buy partner discounts in the shop.

Checked by a neural net

There aren't enough people to eyeball every photo. The photo goes to storage, a job goes to the queue, and a Python worker runs it through CLIP: how well does the picture match the quest description. Tricky cases can switch to a vision model via OpenRouter.

Fair credit

The verdict reaches the backend through Redis. It completes the quest, pays the coins and extends the streak in one transaction, and sets a flag so the same photo can't be counted twice.

Under the hood

Kotlin and Spring Boot backend, PostgreSQL, Redis, RabbitMQ queues, photos in MinIO. A Python worker with CLIP ViT-L/14, a React and TypeScript frontend inside Telegram. All in Docker Compose.