Live visitor cursors in real time
Multiplayer cursors on a portfolio site. WebSocket via Nitro, SVG avatars through own API, random nicknames and an interactive online bar.
Technical context
Nuxt, WebSocket, Nitro, TypeScript
Kaliningrad, RussiaBuilding software since 2010
Fullstack Developer / Tech Lead
I build web products across interfaces, backend services and infrastructure. Foodtech and fintech experience; hands-on responsibility from data models to release.

-
EXPI · ИП Петров И.И.
Tech Lead / Fullstack Developer / DevOps
Full experience and responsibilitiesSole engineer for a fintech platform: architecture, implementation, infrastructure and releases.
Find a relevant problem, then explore the implementation. Filter by area, technology or project.
Multiplayer cursors on a portfolio site. WebSocket via Nitro, SVG avatars through own API, random nicknames and an interactive online bar.
Nuxt, WebSocket, Nitro, TypeScript
Online store for printer cartridges and office supplies on Next.js. Catalog with thousands of SKUs, filtering, search, and SSR without lag.
Next.js, React, TypeScript, PostgreSQL
Recommendations, product videos, instant search, guest checkout. Each feature targets higher average order value and checkout conversion.
Nuxt, TypeScript, Tailwind CSS
Designed an i18n architecture for an open-source project supporting 11 languages. A new language can be added in 30 minutes with no coding required.
Nuxt, Nuxt UI, Pinia, VueUse
Project closed in 2026
Multiplayer Twitch chat game built on Canvas API and WebSocket. Viewers interact via chat commands, OAuth auth, inventory and trophy system.
WebSocket, Canvas API, TypeScript, Twitch API
Built a Telegram Mini App for restaurant team task tracking: assignments, statuses, deadlines, KPI monitoring. The entire team adopted it within a week.
Telegram Mini App, TypeScript, Vue
Integrated PostgreSQL and RabbitMQ for task queues. Improved reliability and speed of the internal delivery service.
PostgreSQL, RabbitMQ, TypeScript, Node.js
Project closed in 2026
Direct acquiring integration for a food delivery SaaS platform. 0% order commission instead of 3-5% charged by aggregators.
Nuxt, TypeScript, Node.js
Project closed in 2026
Individual product pages with Schema.org markup, SSR, meta tags. Client sites rank on Google's first page for local queries.
Nuxt, TypeScript, Tailwind CSS
Project closed in 2026
Integrated MusicBrainz catalog (127,000+ artists), ListenBrainz scrobbling, and a Telegram Mini App for mobile library access.
Nuxt, TypeScript, Telegram Mini App
Project closed in 2026
Server-side pipeline: FLAC/MP3/OGG upload, transcoding to multiple formats, S3 streaming. Lossless playback in the browser from any device.
Nuxt, TypeScript, S3, Node.js
Deployed the platform to Kubernetes: autoscaling under load, CI/CD pipelines, zero-downtime deploys. Reduced hosting costs while handling growing traffic.
Kubernetes, Docker, CI/CD, Nginx
Rewrote the o5.Food core from PHP/jQuery to TypeScript/React/NestJS. Modular architecture, typed API, 500+ business clients migrated with zero downtime.
React, TypeScript, NestJS, Node.js
Past independent products and public source. Closed projects are labelled; the engineering work remains available.

An open-source food-ordering platform with SSR, multiple languages, a persistent cart and guest checkout.

Project closed in 2026
Built a music catalog with a web app, Telegram Mini App, Subsonic API compatibility and audio transcoding.

Project closed in 2026
Built a food-delivery website platform with menus, online orders, payments, notifications and multiple languages.

Project closed in 2026
Built an interactive Twitch game with chat commands, real-time synchronization and a Telegram Mini App.
On desktop, live cursors show where other readers point. Open a second window or send the page to a colleague. The pill at the bottom opens your profile, where you can hide or show cursors.
How live cursors work