Skip to content
View rasuvaeff's full-sized avatar

Block or report rasuvaeff

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
rasuvaeff/README.md
Victor Razuvaev β€” Backend Engineer, PHP / Yii. High-load services, ad-tech (RTB), distributed systems, Clean Architecture.

Open To Work PHP Packagist


πŸ‘¨β€πŸ’» About

Backend engineer with 15+ years of commercial PHP. I design and build high-load services and APIs β€” and I publish the reusable parts as open source.

  • 10 years in ad-tech: advertising networks with RTB (Real-Time Bidding) integrations, buying and selling traffic β€” MySQL for operational data, ClickHouse for impression analytics, Redis/Memcached for caching.
  • Now: product development on Yii3 / PHP 8.5 with Clean Architecture (Domain / Application / Infrastructure / Endpoint, boundaries enforced statically by Deptrac), plus support and refactoring of large Yii2 legacy systems.
  • LLM in production: the application acts as an MCP server β€” assistants connect over Model Context Protocol and call domain tools via tool-calling, guarded by per-user RBAC and an audit log.
  • I care about the things that are invisible until they break: retries, idempotency, exactly-once delivery, backpressure, mutation-tested code.

⚑ Tech Stack

Languages

PHP SQL Bash

Frameworks

Yii3 Yii2 PSR

Data

MySQL PostgreSQL ClickHouse Redis Memcached

Infrastructure & Real-time

Docker Linux Nginx GitHub Actions Prometheus Grafana Centrifugo

Quality

Psalm PHPUnit Codeception Testo Infection Rector Deptrac


πŸ“¦ Open Source β€” 49 packages on Packagist

Reusable PHP 8.3+ libraries with hardened CI/CD, SemVer, backward-compatibility checks, and tests on Testo with mutation testing (MSI 85–100%).

Package What it does
bulkhead Cross-process concurrency limiter for PHP-FPM β€” keeps one slow upstream from eating every worker. Atomic slot acquisition via Redis Lua scripts, APCu spinlocks; tested against real forked processes (pcntl). Needs nothing but PHP and Redis
rector-datetime-immutable Rector rules migrating mutable DateTime β†’ DateTimeImmutable β€” and auto-fixing the lost mutations the migration silently creates, where $date->modify('+1 day'); throws the new instance away. Static analysers report those; this fixes them in bulk
property-testing Property-based testing with integrated shrinking (Hedgehog model) and stateful / model-based testing β€” the two things PHP's PBT libraries don't do. Generates inputs, finds a counterexample, shrinks it to the minimal one. A Testo plugin
yii3-outbox Transactional outbox β€” events committed in the same transaction as the data, then relayed. No lost messages on crash, no dual-write. Yii3 had no such thing
yii3-feature-flags Feature flags with percentage rollout and deterministic per-subject bucketing β€” same user, same variant, every time. Pluggable backends (DB, Redis) + a UI
yii3-mcp MCP server for Yii3: expose CQRS handlers as LLM tools, auto-bridge OpenAPI β†’ MCP, and β€” the part generic MCP servers skip β€” per-user RBAC and an audit log on everything the model touches
The rest of the ecosystem β€” resilience, observability, Yii3 infrastructure
Area Packages
Resilience retry Β· bulkhead Β· duration Β· result
Delivery yii3-outbox (+ -db, -clickhouse) Β· yii3-webhooks (+ -db) Β· yii3-outbox-webhooks-bridge Β· yii3-idempotency (+ -db) β€” safe request retries via Idempotency-Key
Experiments yii3-feature-flags (+ -db, -ui) Β· yii3-ab-testing (+ -db, -clickhouse, -web, -outbox)
Observability yii3-telemetry (+ -otel) Β· yii3-metrics (+ -prometheus) Β· yii3-correlation-id Β· yii3-health-check Β· yii3-audit-log (+ -db) Β· domain-monitor
AI / LLM yii3-mcp Β· yii3-mcp-rbac-bridge
Yii3 infrastructure yii3-tenancy (+ -db) Β· yii3-settings (+ -db, -ui) Β· yii3-api-problem Β· yii3-maintenance-mode Β· yii3-seo Β· yii3-centrifugo Β· yii3-respect-validation Β· yii3-recaptcha Β· yii3-turnstile
Query & domain specification β€” Specification pattern, composable type-safe query building
ClickHouse clickhouse-toolkit Β· yii3-clickhouse-toolkit
Tooling rector-named-literals Β· rector-datetime-immutable

πŸ”­ What I'm building

  • A fitness / training platform backend (Yii3, PHP 8.5, PostgreSQL) β€” activity tracking with .fit file parsing, duels and leagues, JWT auth, S3 storage, real-time via Centrifugo, transactional outbox for event delivery. Strict Clean Architecture layering enforced by Deptrac; built on my own packages.
  • A Yii3 product backend (PHP 8.5, MySQL / ClickHouse / Memcached) β€” admin panel, REST API with OpenAPI, RBAC, multi-language, media pipeline, and an MCP server that lets LLM assistants operate the product safely.

πŸ’‘ What I like building

  • Low-latency, high-load services where milliseconds and correctness both matter
  • Distributed patterns done properly: outbox, idempotency, retries with backoff, bulkheads
  • Libraries other people can depend on β€” documented, versioned, mutation-tested
  • Making LLMs a first-class, permission-aware part of a backend rather than a bolt-on

πŸ“« Contact

GitHub Packagist Telegram Email

Pinned Loading

  1. clickhouse-toolkit clickhouse-toolkit Public

    ClickHouse toolkit for PHP: query builder, dataclient factory, migration runner, ClickHouse toolkit for PHP: query builder, data reader, batch writer, DDL builder, partition manager, mutation runne…

    PHP 1

  2. bulkhead bulkhead Public

    Cross-process concurrency limiter (bulkhead) for PHP-FPM, backed by Redis or APCu

    PHP

  3. property-testing property-testing Public

    Property-based testing for PHP as a Testo plugin: random generators, shrinking to minimal counterexamples, reproducible seeds

    PHP

  4. rector-datetime-immutable rector-datetime-immutable Public

    Rector rules that migrate DateTime to DateTimeImmutable and auto-fix lost mutations whose return value is ignored

    PHP

  5. yii3-clickhouse-toolkit yii3-clickhouse-toolkit Public

    Yii3 config bridge for rasuvaeff/clickhouse-toolkit: DI wiring and console commands from environment.

    PHP

  6. yii3-mcp yii3-mcp Public

    MCP server integration for Yii3: PSR-15 Streamable HTTP endpoint, DI tool registry, and stdio transport over the official mcp/sdk

    PHP