Open to offers

Nikita Terekhin

Tech lead. I run the entire IT of two retail chains on my own, from 1C at the till to apps in the stores.

I design, set the tasks and own production. The code is written by a team of AI agents working to my process, so one person delivers the output of a whole department.

Khabarovsk · UTC+10 · remote or on site

65,000+
customers in two loyalty databases
50+
stores running on my systems
20+
systems in production
1 → 14
one person covering 14 IT roles

A chain's entire IT as one connected system

From the till to the app in the customer's pocket. I designed, built and run everything below myself.

Channels

AppsiOS · Android · web
WebsitesBitrix · catalog · reservations
TelegramMini App · bots
Campaignsup to 52,000 per send
Supportevery channel in one inbox

Core

Loyalty backendsRust · Node · Postgres
CRM + AI agentaudiences · campaigns · MCP
Staff bottargets · battle pass · bonuses

Data

1C ERPextensions · POS · sync
In-store camerasYOLO · TensorRT
AnalyticsPower BI · purchasing reports
ServersCI · auto-rollback · backups

Projects

Two chains in production with real customers, plus my own products.

Work · sports nutrition chain

5LB

Khabarovsk and Vladivostok. I built the chain's whole digital side: the app, loyalty bonuses, CRM, website, staff bot and the 1C integration.

  • Expo app for iOS, Android and web with over-the-air updates
  • Rust backend: bonuses, prize wheel, referrals, partner program, passwordless login
  • CRM: RFM audiences, campaigns, automated flows, an AI agent, 820 tests
  • Cameras count visitors and how often staff approach them

RustExpoReactPostgres1CBitrix

5LB app: home screen with promotions and bonuses 5LB app: sports nutrition catalog with bonuses 5LB app: product page with flavor picker

Work · store chain and franchise

Medusa

40+ stores in Khabarovsk. A loyalty program with 54,000 users: apps, prizes, tiers and discounts applied right at the till.

  • Native SwiftUI iOS app with a widget and Siri, Android on Expo
  • Telegram Mini App and PWA, sign-in by phone or Telegram
  • Personal discounts flow CRM → 1C → till with no cashier involved
  • Staff battle pass: 15 levels, store leagues, a new-product race

SwiftUINodeReactPostgres1C

Medusa app: profile with tier and bonus balance Medusa app: sign-in by phone, Telegram, VK ID or Apple Medusa loyalty program: up to 10% back in bonuses

CRM and AI agents

You just tell the CRM agent what you need: build an audience, launch a campaign, add product photos. It has an employee's permissions, and a human approves anything risky.

2 CRMs with MCP agents

Video analytics

In-store cameras count visitors and see whether a salesperson came over. The report lands in Telegram on its own.

43 ms per frame, down from 78

RootDesk

A shared support inbox for both chains: Telegram, WhatsApp, MAX and the website in one window, with AI-suggested replies.

410 tests in CI

Bandito landing page

My product

Bandito

A team of AI agents on your Mac and server. A Rust daemon with native apps for Mac and iPhone, 20 releases in the first week.

Omut landing page

My product

Omut

A messenger with Telegram, WhatsApp and its own chat in one app. Swift, TDLib and a Rust server, about 400 tests.

Results in numbers

From web analytics, 1C and logs. No company revenue figures.

×4

website reservations in a month

SEO used to be run by a paid agency. Since October an AI agent does it: articles, fixes, reports. Reservations 21 → 87, visits +18%.

+300

receipts a day

Found in the data why the chain's receipt count dropped: free add-on deliveries to regular customers had stopped. They came back, and so did the receipts.

1.8×

faster video analytics

78 → 43 ms per frame, 96 frames per second on a single GPU instead of 70.

120×

smaller logs

60 GB → 508 MB. Tracked down an endless retry of hopeless jobs: 54 million identical errors.

−58%

products without photos

419 → 174 of 1,308. An agent found photos on manufacturers' sites; the rest went to the team as a shot list.

20

repos with auto-rollback

Every change is a PR, CI and a deploy. If the post-deploy check fails, production rolls back to the previous version on its own.

How one person runs a department

I'm the architect and I own production. A team of agents writes the code to my process, which is open source on GitHub ↗

  1. Design

    I work through the task with the business. Money, bonuses and 1C get thought through before any code: transactions, ordering, rollback.

  2. Split into steps

    A senior model breaks the task into steps of 1–5 files, each checked by a single command.

  3. Agents write

    Smaller models write code to the spec: tests first, then the implementation until it's green.

  4. Review and CI

    A separate agent reviews the diff, hooks block anything red, CI runs the tests.

  5. Ship

    Merge, and it's live. If the post-deploy check fails, it rolls back automatically.

one task from request to production

  1. $ task "5LB: expire bonuses of inactive customers"
  2. opus plan: 3 steps, accrual in one transaction, rollback covered
  3. haiku step A: tests written, failing as expected
  4. haiku step B: implementation, all tests green
  5. review separate agent checked the diff, one issue fixed
  6. ci lint · tests · build ✓
  7. deploy merge → production, post-deploy check ok

Roles I cover

BackendiOSMobileFrontend1CBitrixAnalytics / BIComputer visionAI engineerDevOpsServersMarketing / SEOSupportProduct and design

Stack

Languages
TypeScript, Rust, Swift, Python, PHP, 1C
Backend
axum, sqlx, Express, Fastify, Prisma, FastAPI
Clients
React, Next.js, Expo, SwiftUI, Telegram Mini Apps
Data
PostgreSQL, Redis, Power BI
Infra
Docker, GitHub Actions, nginx, Caddy, Cloudflare
AI
Claude API, MCP, agents, YOLO, TensorRT

Looking for a tech lead or head of IT role

Remote or in Khabarovsk. I reply the same day, online 10:00–23:00 Khabarovsk time (UTC+10).