I build products
and I keep them alive.

I’m Igor Varyvoda, a product builder and operator behind Sirv Studio and a living portfolio of independent software.

Some for work, some because I can’t help myself.

Made in Ukraine. Based in Montenegro.

Latest — 59 of my WebP files were PNGs

Sirv AI Studio

Sirv Studio AI batch creation interface

I created and built Sirv Studio. It scans Shopify catalogs, runs AI work in batches, routes supplier uploads through review, and publishes with versioning and rollback.

Creator, product lead, architect and principal engineer

React 19 · TanStack Start · PostgreSQL · Drizzle · Inngest · Stripe · fal.ai

Explore Sirv Studio

A living portfolio

Still running.

Full index

Some became businesses. Some stayed small and useful. I still look after them.

  1. 2026 · Evolving vibeq

    VibeQ started as a task board for Sirv Studio. Now it runs the queue behind Sirvant, the Slack bot my team uses to investigate and ship work.

  2. 2021 · Long running Earth Roulette

    Press the button for somewhere unexpected, or give Wanderer an airport, budget and travel window to narrow the trip ideas.

  3. 2025 · Evolving BudJet

    I use BudJet every day. It scans receipts, keeps the line items, and shows where the money went without making me type every purchase.

  4. 2026 · Evolving Press

    I built Press to audit and convert folders of images on my own machine. Its first audit found PNGs hidden behind WebP filenames on my own site.

  5. 2026 · Evolving ImageGuide

    I put the image-delivery knowledge I kept using into a reference site, then built a browser auditor to check the page in front of me.

Recently tended

What I fixed lately.

All projects
  1. Press

    Refined conversion notices and restored the status bar.

  2. Sirv Studio

    Added publish receipt status, permission rechecks and an audit procedure for observing Shopify results.

  3. VibeQ

    Added checks that compare reported commits and test status with the actual pull request head.

  4. Earth Roulette

    Fixed Wanderer searches that missed a month inside the requested travel window.