Skip to content
FI
available · selective Moscow / Remote · UTC+3 en · ru build · 2026-05-11

leviann · portfolio

Farid Ismailov Senior SDET, QA Automation & AI Tooling Engineer.

Automation, quality gates and AI tooling for backend and enterprise systems.

positioning

// 01

What I do.

Three areas I work on day to day. Most engagements are a mix of these three.

pillar / 01

Quality engineering

Backend / API, e2e automation, regression, release readiness, CI/CD quality gates.

  • Built test pyramids and regression suites from scratch on three products
  • REST / SQL / contract validation across services and integrations
  • Release readiness, UAT/PSI, quality gates wired into GitLab CI / Jenkins
pillar / 02

AI tooling

LLM / RAG / agents, context engineering, MCP, Playwright automation, self-hosted workflows.

  • LLM routing across Gemini, OpenRouter and Grok with circuit breakers
  • RAG / CRAG over project code, docs and conversation history (ChromaDB)
  • Custom MCP servers and Playwright-based agents driving real test flows
pillar / 03

Infrastructure mindset

Docker, Linux, Nginx, systemd, observability, automation around real constraints.

  • Self-hosted dev / AI stack on Linux: Docker Compose, systemd, Nginx, VPN
  • Diagnosing bugs through logs, traces and SQL
  • Designing for corporate-network constraints: mirrors, proxies, restricted egress

operating principles

// 02

How I work.

A few working habits I rely on day to day.

  • p_01

    “Logs first, theories second.”

    Symptoms get explained from journald, traces and SQL. Reproduce first, then theorize.

  • p_02

    “If it isn't in CI, it doesn't ship.”

    Quality gates live in pipelines, not on a Confluence page. The release branch is the source of truth.

  • p_03

    “Failure modes are designed, not discovered.”

    Retries, circuit breakers, timeouts and idempotency are considered at design time, not after the first incident.

  • p_04

    “Targeted edits over rewrites.”

    Minimal diff, full review of affected areas. Reproduce the issue first, then fix at the root.

ai engineering platform

// 03

Personal stack for working with AI agents.

A toolset for agentic development: custom MCP servers, a tuned IDE setup, and an AI assistant on my PRs. I shake every workflow out on personal projects first, then gradually carry useful patterns over to work tasks.

personal stack
  • p_01

    Custom MCP servers

    I both consume MCP and write my own servers on top of personal infrastructure.

    • CRAG · custom RAG over code, ADRs, conversations and decision history
    • project-index · semantic search across all repos, callable from the IDE
    • Playwright wrapper · agent-driven browser scenarios from Cursor / VS Code
    • HassioBot tools · Telegram + Home Assistant as a tool-call surface
    • shared-knowledge · cross-project memory layer for agents
  • p_02

    IDE tuned for agents

    Cursor and VS Code configured with discipline around edits and checks: rules, hooks, pre-edit gates.

    • Per-repo `.cursorrules` / `AGENTS.md` rule sets
    • Pre-edit gate: type-check + lint per language before the agent commits
    • Persistent memory via CRAG: sessions, fixes, and decisions survive restarts
    • Single MCP registry shared between Cursor and VS Code
    • Skill files and cursor-hooks for repeatable patterns instead of one-shot prompts
  • p_03

    HassioBot · AI assistant on PRs

    First pass over my PRs in personal repos — catches the small stuff before I start reviewing myself.

    • GitHub App + Telegram bot wired into my personal repositories
    • Looks at the diff with project context pulled from CRAG — not a raw prompt
    • Inline comments on GitHub where it has something to say, summary in Telegram
    • Non-blocking — a second pair of eyes, final call is mine
  • p_04

    One stack across every project

    The same toolset works for both commercial tasks and personal repos.

    • No separate "play" and "work" environments — Cursor / VS Code are configured the same way
    • CRAG memory survives IDE restarts and sessions — context isn't lost
    • Self-hosted — nothing leaves the perimeter unless explicitly needed
    • Every workflow is shaken out on personal projects first, then carried over to work

featured case studies

// 04

Selected work.

Most live in private repositories. The project names below are public pseudonyms — internal names and customers are kept under NDA. Architecture diagrams and code walk-throughs available on interview.

case / 01 private repo · demo by request

Self-hosted AI Bots Monorepo

AI tooling · self-hosted

Personal monorepo of Telegram and AI bots with a custom MCP stack.

A long-running monorepo of Telegram and AI bots on a personal Linux server. LLMs are used as part of the runtime: routing, fallbacks, persistent memory, tool calling, and CI on every push. On top of it sits a set of custom MCP servers and HassioBot — an AI assistant that takes the first pass over my personal PRs.

highlights

  • Gemini as primary, OpenRouter and Grok as fallbacks via a unified router
  • RAG / CRAG layer over conversations, code and project docs (ChromaDB + SQLite)
  • Graphiti / Neo4j-backed memory graph for long-horizon context
  • Tool calling, function declarations, circuit breakers, retry / timeout discipline
  • Services exposed as custom MCP servers — callable directly from Cursor / VS Code
  • HassioBot · AI assistant on PRs (GitHub App + Telegram) — first pass over the diff with project context from CRAG
  • Docker / Linux / systemd / Nginx; deployed as real services, not notebooks
Architecture · component diagram Click to expand
Architecture · component diagram
Python files
488
Test-like Python files
179
LLM providers wired
3+
Years running
2+

stack

  • Python 3.12
  • Telethon
  • Gemini
  • OpenRouter
  • Grok
  • ChromaDB
  • Graphiti
  • Neo4j
  • SQLite
  • MCP
  • Playwright
  • Docker
  • systemd
  • Nginx
note · Private repository. Walk-through and code review available on interview.
case / 02 private repo · demo by request

Aegis · E2E Automation

QA Automation · enterprise

End-to-end automation for an admin web panel and a PWA — with an AI triage helper.

A Kotlin-based automation framework for an internal web admin panel and a companion mobile PWA across several environments. On top of the regular pipeline sits a small AI triage layer: an agent pulls failed-run logs through an S3 MCP server, cross-checks the observed behavior against project documentation indexed in CRAG, and drafts a Jira bug report that I finalize by hand. The same CRAG index also works the other way — as a project-docs search surface for the team.

highlights

  • Kotlin 1.9 + JUnit 5 + Playwright for Java + Allure
  • End-to-end coverage for an internal admin web panel and a mobile PWA
  • Runs in staging / pre-prod / prod with restricted-egress build agents
  • Local Playwright browser mirror handling for offline build hosts
  • Test IT / Allure reporting, regression and release-readiness gates
  • CRAG as the project's documentation index — specs, ADRs, runbooks, domain guides
  • AI triage: agent fetches logs via S3 MCP, cross-checks with CRAG, drafts a Jira bug
  • Project-docs search from the IDE: "how does X work?" returns relevant doc snippets
Architecture · E2E pipeline with an AI triage layer Click to expand
Architecture · E2E pipeline with an AI triage layer

stack

  • Kotlin 1.9
  • JUnit 5
  • Playwright for Java
  • Allure
  • Test IT
  • Gradle
  • GitLab CI
  • CRAG
  • S3 MCP
  • Jira API
note · Private NDA repo · name is a public pseudonym. Sanitized architecture walk-through available on interview.
case / 03 private repo · demo by request

Conference Capture

AI tooling · browser + local backend

Local recorder + live transcription + post-processing for video calls.

A Chromium extension paired with a local Python backend that captures tab audio and microphone in parallel, renders a live transcription overlay, and notifies when chosen keywords are spoken. Sessions persist to disk and run through a post-processing worker.

highlights

  • Chromium extension capturing tab audio and microphone in parallel
  • Live transcription overlay rendered alongside the meeting tab
  • Gemini Live as primary STT, Yandex SpeechKit as fallback
  • Hotword notifications with low-latency check
  • Audio + transcript persisted locally, post-processing worker for cleanup and indexing
Architecture · capture and transcription chain Click to expand
Architecture · capture and transcription chain

stack

  • Chromium extension
  • TypeScript
  • Python
  • FastAPI
  • Gemini Live
  • Yandex SpeechKit
  • WebAudio
note · Private repository · name is a public pseudonym. Demo on interview.
case / 04 private repo · demo by request

Hassio Walkie

AI tooling · mobile + voice

Mobile app for voice conversation with a personal AI bot.

Part of the bots monorepo — a mobile app for voice conversation with a personal bot over push-to-talk: voice capture, LLM reply, streaming TTS back into the earpiece. Additionally — a karaoke mode with word-level highlighting of synthesised speech and a Home Assistant integration: voice control of devices over the same channel.

highlights

  • Native mobile, Kotlin + Jetpack Compose · low-latency PTT capture with visual feedback
  • STT via Gemini Live; replies from my own bot inside the bots monorepo
  • Streaming TTS — phrases start playing before the LLM has finished generating
  • Karaoke mode: real-time word highlighting locked to the TTS timing
  • Home Assistant integration: voice commands to devices over the same channel
  • Self-hosted backend, runs on the personal network — voice never leaves the perimeter
Architecture · voice loop and karaoke rendering Click to expand
Architecture · voice loop and karaoke rendering

stack

  • Kotlin
  • Jetpack Compose
  • Material 3
  • Gemini Live
  • Streaming TTS
  • WebSocket
  • Home Assistant API
  • OkHttp
note · Part of the private bots monorepo. Demo on interview.

commercial experience

// 05

Experience.

Three companies where I owned release quality: financial post-trade, international enterprise, B2B/B2C marketplace inside Sber.

  1. Sep 2020 — Apr 2026 · 5 yrs 8 mo

    Lead SDET / Hands-on QA Lead · Sber

    B2B / B2C marketplace and e-commerce product inside Sberbank. Team of 17+ developers and 1–2 QA. Owned release quality, backend / API testing, automation, regression, UAT/PSI, CI/CD quality gates, and release readiness.

    • Owned release stability for 5+ years on a product with 17+ developers and 1–2 QA
    • Built QA infrastructure: regression suites, UAT/PSI, release-readiness criteria, quality gates
    • Built an automation framework in Python (Selenium / Playwright), later migrated to Kotlin to align with the dev stack
    • Coverage of smoke, regression and end-to-end flows: complex creation, sales, statuses, reports, integrations
    • Backend / API testing: REST, JSON schemas, business rules, SQL data validation, defect diagnostics through logs and traces
    • Performance work on API / integration scenarios with JMeter and Yandex.Tank: latency, throughput, error rate, endpoint regressions
    • Integrated automation into CI/CD: GitLab CI, Jenkins, OpenShift / Kubernetes; MR templates and release-branch runs
    • Onboarded and mentored QA engineers; participated in test code review and shift-left requirement decomposition

    stack

    • Python
    • Kotlin
    • Java
    • Selenium
    • Playwright
    • Appium
    • REST API
    • Postman
    • RestAssured
    • SQL
    • PostgreSQL
    • MySQL
    • GitLab CI
    • Jenkins
    • Docker
    • OpenShift
    • Kubernetes
    • JMeter
    • Yandex.Tank
    • Allure
    • Jira
    • Confluence
  2. Nov 2016 — Aug 2020 · 3 yrs 10 mo

    Senior QA Engineer · Wiley

    International enterprise: online learning platforms, scientific journals, and educational content distribution systems. Distributed team, English-speaking colleagues.

    • Built test infrastructure: test cases, test plans, requirements traceability matrices, regression coverage
    • Developed and maintained UI automation in Selenium WebDriver + Java / Python
    • Tested REST APIs and integrations between platform components
    • Verified data and diagnosed defects across Oracle, MySQL, PostgreSQL, MS SQL
    • Worked in CI/CD: Jenkins / GitLab CI, automation integration, failure analysis, defect prioritization
    • Test leadership: requirement decomposition, effort estimation, coordination of testing activities

    stack

    • Java
    • Python
    • Selenium WebDriver
    • TestNG
    • JUnit
    • Allure
    • REST API
    • RestAssured
    • Postman
    • SQL
    • Oracle
    • MySQL
    • PostgreSQL
    • MS SQL
    • Jenkins
    • GitLab CI
    • Jira
    • Confluence
  3. Jul 2014 — Nov 2016 · 2 yrs 5 mo

    QA Engineer · Exactpro Systems

    Financial systems: post-trade infrastructure, clearing, settlement, two-factor authentication. Customers — exchanges, clearing houses, financial organizations under FCA-grade regulation.

    • Functional, integration, regression, smoke and exploratory testing
    • Designed test scenarios from project documentation and financial-domain requirements
    • Tested 2FA scenarios using mobile applications
    • Validated UI and data through SQL
    • Worked in Jira / Redmine, TestRail, Git / SVN
    • Tested 24/7 critical post-trade systems for an exchange and a clearing house under regulator-grade requirements

    stack

    • Java
    • Selenium
    • Selenide
    • TestNG
    • Allure
    • SQL
    • Oracle
    • MySQL
    • Postman
    • HTML
    • CSS
    • JS
    • Git
    • SVN
    • Jira
    • Redmine
    • TestRail

stack

// 06

Stack.

Grouped by area. Comfortable in any environment that talks REST, SQL, Docker and Git.

QA / Automation

qa_automation

Frameworks and tooling I write and own day to day.

  • Playwright (Java / Python)
  • Selenium WebDriver
  • Appium
  • JUnit 5
  • TestNG
  • Pytest
  • RestAssured
  • Postman
  • Allure
  • Test IT
  • JMeter
  • Yandex.Tank

Backend / API

backend_api

Languages and surfaces I test and integrate with directly.

  • Python 3.12
  • Kotlin 1.9
  • Java
  • REST
  • JSON Schema
  • WebSocket
  • SQL
  • Bash / PowerShell

CI/CD / Infrastructure

ci_cd_infra

Where the pipelines, services and quality gates actually live.

  • GitLab CI
  • Jenkins
  • Docker
  • Docker Compose
  • OpenShift
  • Kubernetes
  • Linux
  • Nginx
  • systemd
  • VPN
  • Git

AI / LLM

ai_llm

Practical, self-hosted LLM and agent tooling.

  • Gemini
  • OpenRouter
  • Grok
  • Telethon
  • RAG / CRAG
  • ChromaDB
  • Graphiti
  • Neo4j
  • MCP
  • Function calling
  • LLM routing
  • Context engineering

Databases

databases

Where I read, validate and diagnose production-grade data.

  • PostgreSQL
  • MySQL
  • Oracle
  • MS SQL
  • SQLite
  • ChromaDB
  • Neo4j

Tools

tools

Editor, tracking, and the rest of the daily kit.

  • Cursor
  • VS Code
  • IntelliJ IDEA
  • Jira
  • Confluence
  • TestRail
  • Redmine
  • Git
  • GitHub

proof / signals

// 07

Quick facts.

No invented metrics. Only verifiable numbers from real experience.

12+ yrs
QA / SDET experience

Exactpro · Wiley · Sber

5+ yrs
release-quality ownership on a marketplace product

B2B / B2C e-commerce inside Sber

17+ devs / 1–2 QA
team context held

Hands-on lead, no separate QA unit

3 frameworks
built from scratch

Python · Kotlin · Java automation stacks

REST · SQL · CI/CD
daily surface area

JMeter and Yandex.Tank for performance work

Private demos
GitHub repos walked through on interview

github.com/Leviann

contact

// 08

Get in touch.

Open to Senior SDET / QA Automation / AI Tooling Engineer roles. Remote or Moscow hybrid. Happy to do a short technical call before any formal process.