Skip to content
online
env0.46.1 · 1d135e2
mainlane.io

Portfolio

Products we have built: the challenge, the solution and the result.

Platform
Technologies

Showing 5 of 18

Team engagements

Projects where I worked as part of a client’s team. Client names are left out.

AI sales platform for B2B

2025 – 2026

RoleFull-stack developer

A SaaS where businesses set up AI sales agents for calls, SMS, email, messengers and a web widget.

  • Laravel
  • Vue
  • FastAPI
  • PostgreSQL
  • Redis
  • Docker
Solution

As a full-stack developer in a large team I owned much of the customer dashboard and several back-end services:

  • Lead distribution: round-robin, weighted, team and hybrid strategies with manager availability and calendars; a drag-and-drop manual order.
  • Calendars and booking: Google Calendar and Calendly with webhooks, two-way sync, a free-slot service across all calendars, protection against double booking, booking exposed to the AI agent through function calling.
  • AI agent: function calls for slots, booking and contact updates; knowledge-base search with incremental indexing; language switching with confirmation; six conversation styles; guardrails against prompt injection; token checks before every model call.
  • Flow builder: a redesigned visual editor with variables, validated edges and auto-layout, autosave and rollback, and a migration of all flows from JSON to relational tables without data loss.
  • Channels: one configurator for voice, email, SMS and iMessage with real-time validation and a channel-integrations page.
  • Telephony: call history, recordings and transcripts, voice settings for several speech providers, call campaigns from CSV, browser test calls, a move to streaming speech recognition, and a SIP bridge with two carriers — including a race condition between carrier events and SIP signalling that I tracked down and fixed.
  • Token billing: a balance dashboard with forecast, Stripe pay-as-you-go, subscriptions, auto top-up and invoices, live balance over WebSocket, plan limits and discounts all the way to Stripe, unlimited owner roles synced between two databases.
  • Phone-number marketplace: number search and purchase priced in tokens, regulatory verification by country, spending reports, audit log and roles.
  • Security: two-factor login including after OAuth, SAML SSO, service-to-service JWT, PII masking.
  • DevOps: Dockerfiles for every service, migration of production from AWS to Azure with infrastructure as code, runbooks and an atomic switch of 13 DNS records; PgBouncer for 12 Python services after connection-pool exhaustion.
  • Quality: about 25,000 lines of tests (PHPUnit, Vitest, pytest, E2E).

Accounting automation for small business

Aug – Oct 2025

RoleFull-stack developer

An accounting platform for Ukrainian sole proprietors.

  • FastAPI
  • PostgreSQL
  • Redis
  • Next.js
  • Docker
Solution

I owned the notification microservice and its front end: one template system for email, SMS and Telegram, delivery logs with full content, read status, per-channel delivery settings (moved from primary/backup to multi-select), a Telegram bot; service-to-service authentication with a token client cached in memory and Redis and a move to JWT-only without stopping other services; integration with the government tax-data service — tax-ID lookup, digital-signature expiry checks and tax-payment analytics with risk scoring; a notifications page and bell in the web app; tests and deployment guides.

Game-match streaming platform

Jan – Feb 2023

A streaming platform for game matches with leagues, bets, wallets and subscriptions.

  • Angular
  • NestJS
  • PostgreSQL
  • MongoDB
Solution

Over a short engagement I built real-time notifications over sockets (unread state, match and league invitations, new-subscriber events on the back end), user management for admins (roles, ban status with a reason, search and sorting, a guard against changing your own role), payment management with blockchain and account transactions, and a categories admin with image cropping and a separate game-rules module in the API.