Full-stack engineer
& technical product owner
Product → architecture → code → infrastructure → deploy → QA → production incidents. One pair of hands, the whole cycle. Writing software since 2002.
// Python · TypeScript · React · PostgreSQL · Docker · AI agents
01 — About
I don't just write code —
I own the product
I run a production platform on my own: I decide what gets built, design it, write it, deploy it to my own infrastructure, test it, and take the call when something breaks at three in the morning. No handover boundary to hide behind.
I started with PHP at 17 and moved from executing to organising: writing specs, hiring, running projects from requirements to delivery. I founded and ran a software company, retrained from PHP to Python in 2020–2022, spent two and a half years at an outsourcing firm delivering for US and Middle East clients, and since 2025 I've owned a SaaS product end to end.
My working method today is agent-driven development — Claude Code for building, a second agent for review. The skill isn't generating code. It's holding the architecture and catching what agents break quietly: cross-tenant leaks, authentication holes, performance regressions.
How I work
Agent-driven, review-gated
Claude Code builds, a second agent reviews, and I hold the architecture above both. AI-native isn't an experiment here — it's a mature workflow with a review loop, because speed without one is just faster debt.
The whole cycle, one person
Product decisions, architecture, both ends of the stack, the VPS it runs on, the release process and the incident afterwards. Nothing falls between roles when there's only one.
Security found on live traffic
On a running product I closed cross-tenant data leaks, an unauthenticated public webhook, missing brute-force protection, unauthorised WebSocket subscriptions and a broken token lifecycle. Multi-tenant means every query is a boundary.
Everything in writing
Deploy runbooks, handoff documents, a QA findings log, a tech-debt register, a record of why each decision was made. If I disappear tomorrow, the next person reads instead of guessing.
02 — Working together
Three ways to put me to work
Freelance or retainer, remote. Pick the lane that matches your problem — or hand me the whole thing and I'll run it.
TypeScript full-stack product
Building or taking over a product: Express + PostgreSQL backends, React frontends, third-party integrations, billing, and the infrastructure it all runs on. Including the unglamorous parts — migrations, backups, releases.
Python / Django backend
Services, APIs and background processing written by hand, not glued together: Django, FastAPI, Flask, Celery workers, Redis queues. Two and a half years of it in commercial delivery for US and Middle East clients.
Automation, scraping & QA
Playwright and Puppeteer for both jobs they're good at: end-to-end suites that stay stable at scale, and data collection with durable sessions and OAuth. Plus workflow automation on n8n and salebot.
03 — Stack
Tools I actually run in production
Chosen for the job, not for the hype. Everything below sits in a system I've shipped or operate today.
Backend & data
Python backend
Frontend
AI orchestration
Infrastructure & QA
Integrations & media
04 — Experience
Twenty years,
one direction
From PHP contract work at 17, through running a software company and outsourced engineering for international clients, to owning a SaaS product end to end.
Languages: Russian — native. English — intermediate: enough for requirements, demos and written client communication.
Format: freelance and retainer, fully remote. Working with Russian-speaking clients today, moving towards US and EU.
Technical product owner & sole developer — SMM Manager
A multi-tenant SaaS for running social media with AI: content generation, scheduling, publishing to six networks, trend collection and analytics — as a web app plus a Telegram Mini App. I took over an MVP built on Replit by an agent and drove it to an operated product on my own infrastructure.
Express + Directus 10 + PostgreSQL: 89 services, 40+ API route groups, WebSocket notifications, background schedulers
Full monetisation loop: plans with limits, pricing, subscription lifecycle, promo codes, affiliate postbacks
Docker + Traefik with HTTPS on my own VPS, three-tier configuration, restore-from-backup, a written deploy runbook, daily releases
433 of the repository's 739 commits are mine, from the last two and a half months
Freelance — automation & chatbots
Business-process automation on salebot and n8n: integrations with external APIs, lead intake, message routing. The step that moved me from no-code automation to owning a production product.
Python developer — ScienceSoft
Joined as an intern, grew into a developer. Python and JavaScript on projects for clients in the US and the Middle East, teams of 5–10. Worked with clients directly: calls, requirements, demos, agreeing on solutions.
Blockchain wallet management on Django — balance monitoring, rule-based fund aggregation, Celery + Redis, key handling and transaction signing
US e-commerce platform for refurbished iPhones — diagnosing defects in undocumented legacy running in production
Playwright test suite for an incident-monitoring system (Saudi client); Puppeteer data collector built on a framework learned for the task
Docker on every project; CI/CD on GitHub Actions and Jenkins; incident monitoring through Sentry
Retraining: PHP → Python
A deliberate change of stack through self-study and coursework, ending in a move into commercial Python development. Certificates: Django Framework, Python Advanced Topics, Django Essential Training, plus PHP (Hexlet) and JavaScript ES6 (Udemy).
Founder & lead — Smetomatika + contract development
Started with PHP and quickly moved from executing to organising development: hiring teams, writing specs, running projects from requirements to delivery — developer, project manager and tester depending on the job. Founded Smetomatika, multi-user software for construction cost estimates and document generation, and led three developers.
Affiliate platform with auto-generated content — 10,000+ pages indexed by Google
Patient and inventory management for a dental clinic; a DVD rental service
Multi-threaded bulk email system, later ported from Drupal to Java
05 — Selected work
What I've actually shipped
Some of it is under NDA, so the details stay high-level. The architecture I'm happy to walk you through.
SMM Manager smm.omemo.tech
A multi-tenant platform that turns a topic into published content: AI generation, scheduling, publication to six social networks, trend collection and analytics. Web app plus a Telegram Mini App, built and operated by one person.
AI layer over seven providers with fallback chains and proxied access
Publishing to VK, Telegram, Instagram, Facebook, Threads and YouTube — OAuth flows, media upload, per-platform format and limit rules
Media pipeline: image and video generation, ffmpeg, sharp, S3, a separate video microservice
Legacy cleanup: seven parallel clients of one AI provider and six integration variants of another collapsed into single modules
Hardening a live multi-tenant SaaS
The part of the story worth telling separately: an AI-generated MVP looked finished and wasn't. I found and closed a class of vulnerabilities on a product that already had users on it, without a maintenance window.
Cross-tenant data leaks — one tenant able to read another's rows
A public webhook with no authentication, and no brute-force protection on login
Unauthorised WebSocket subscriptions and a broken token / session lifecycle
Test coverage taken from zero, with a custom harness for route tests: the real router, mocked external boundaries, runs against a true production-like environment
Blockchain wallet management
Django backend for operating a multi-wallet infrastructure: continuous balance monitoring, rule-driven aggregation of funds from many addresses onto a target wallet, private key handling and transaction signing. Built at ScienceSoft.
Scheduled monitoring and aggregation jobs on Celery + Redis
Rules configurable per wallet group instead of hardcoded thresholds
Signing flow designed so keys never reach logs or transit
Automation, QA & tooling
Focused pieces of work where the job was a browser, a data source or a test suite — several of them delivered alongside the main product.
End-to-end Playwright coverage for an incident-monitoring platform tracking real-world events, from fires to terror incidents (Saudi client) — scenario design and keeping a huge suite stable
Local automation tool for genomake.io on Playwright: Flask/HTML frontend, Google OAuth with a persisted session
Instagram carousel editor — a SaaS-style React/Tailwind component with colour schemes, per-slide editing and a phone-frame preview
HoReCa consulting engagement (Russia / CIS): phase one, an interactive market-research dashboard, delivered and accepted
Client work sits under NDA
Which means the screenshots stay private — but the architectural decisions, the trade-offs and the things that went wrong are all fair game in a call.
06 — Contact
Let's build
something worth running
A product to build, an architecture problem, a codebase nobody wants to touch, or a startup that needs someone to own the technical side. Freelance or retainer, remote. Telegram is the fastest way to reach me.
Remote · UTC+3 · Russian (native) · English (intermediate)