Head of Product & Engineering, Clean Logic · since December 2025

B2C home-services platform

A home-services business where customers see the price upfront and pay by card, and self-employed specialists pick jobs themselves. Three sides (customer, specialist, operator) with money, quality and personal data under control and no large staff.

Numbers

Apps
3
DB migrations
1,000+
Automated tests
1,800+
E2E scenarios
46
Public pages
446
Commits
2,000+

Architecture

Customer · site & accountSpecialist · appOperator · back office (2FA)PostgreSQL (Supabase) · RLS · functions · outboxBackground services on VPSbePaid · SMS · Telegram
Diagram: three apps on one database

Key decisions

  1. 1. Business logic in the database, thin apps

    Pricing, discounts, order states and money are computed in PostgreSQL functions, and row-level security policies enforce access. Users hit the database under their own role; the secret key exists only on the server. Result: one source of truth for money, whichever app sends the request.

  2. 2. Outbox for the outside world

    Notifications and Telegram messages are written to an outbox in the same transaction as the order change and delivered by a separate service. Nothing gets lost, and nothing is sent about an action that didn't happen.

  3. 3. Payments behind a switch

    bePaid handles immediate charges or an authorization hold until work starts, refunds, chargebacks, webhooks and reconciliation. The payment mode is an owner-controlled switch, with no release needed. Extra work is billed only after the customer approves it in their account.

  4. 4. Data and access

    SMS one-time codes for customers and specialists, password + TOTP for staff. Addresses and personal data are stored encrypted in a separate schema. Every operator action on money or data requires 2FA and lands in the audit log.

  5. 5. Remote quality control

    Specialists follow a checklist, take before/after photos and mark stages (arrived, started, finished) with geolocation and timestamps. Operators accept the result or send it back.

  6. 6. Pricing rules as a product decision

    Fixed published price, +10% at peak times, total discount capped at 20%, bonus points cover up to 15% of an order. Discounts come out of the platform's share; the specialist's share stays intact.

How quality is kept

Acquisition

SEO architecture: 446 pages (articles, services, categories, Minsk districts), with a sitemap built only from indexable pages. 14 ad landing pages for 97 keywords, Yandex Metrica, a bot for automated social publishing.

What I did myself

All of it: the product and money model, requirements, architecture, database, code for the three apps, tests, CI, VPS infrastructure, SEO and preparing the launch. AI agents are my development tool; the decisions and the verification are mine.