Skip to content
View lilter96's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report lilter96

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.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. 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
lilter96/README.md

Terentiy Gatsukov

Senior .NET Backend Engineer · Distributed Systems & iGaming

Durable workflows · Real-time systems · Slot mathematics · BIM automation

I have 5+ years of commercial experience across gaming, marketplace SaaS, transportation and IoT. I build backend systems where state, concurrency, probability and failure handling need explicit contracts.

At Custom Games Studio, November 2023–July 2026, my work included:

  • Approximately 15 game backends delivered from implementation to production.
  • A shared C# / F# library used in 20+ titles, including probability composition, samplers, nested-feature execution and simulation infrastructure.
  • 5,000+ RPS bet processing with duplicate-charge protection, and simulations of 1 billion+ spins across multiple machines.
  • A 6× calculation speedup, reducing a simulation workload from three hours to 30 minutes through memory and allocation optimizations.

These are commercial results reported in my CVs and experience. The public projects below provide separate, inspectable engineering evidence.

Portfolio & game videos · LinkedIn · Email · Telegram · Technical reading guide

Selected engineering work

Project Engineering perspective Evidence to inspect
JobFinder Durable .NET workflows and AI integration. .NET 10 / PostgreSQL / Wolverine / Blazor; transactional outbox, revision witnesses, typed LLM recipes and reconciliation of uncertain external effects. 939 selected publication tests, including actual PostgreSQL transport and process-termination recovery. Verification.
TGSlots Playable games, probability models and cross-language backend boundaries. Five games; Nine Lives flagship; TypeScript/Bun, PixiJS 8, GSAP, shared math and simulation tooling; X7 supports Bun or Go + RabbitMQ. 812 workspace tests, 7 Go race-tested cases; Le Militare has 81.6M complete verification rounds. Math walkthrough · Promos.
Slot Math Lab Exact and sampled computation in .NET. Rational distributions and Monte Carlo interpreters, deterministic RNG streams, graph compilation and a React 19 editor. 704 core tests verified locally. Research prototype; complete CI/E2E still requires follow-up. Implementation and scope.
Realtime Primitives Concurrency and resilience contracts. .NET 10 circuit breakers, typed HTTP failures, retained audio replay and a bounded, nonblocking flight recorder. 89 offline tests and public CI. Contracts and test map.
AccessRoute for Revit Geometry and BIM integration. BVH spatial search, Dijkstra routing, versioned storage, Revit 2021–2025 adapters and WPF/MVVM. 68 shared core/ViewModel tests; indexed queries ~11.2× faster in a synthetic benchmark. Raw evidence. Revit-host execution remains unverified.
Engineering Portfolio Full-stack delivery. Versioned .NET 10 API, PostgreSQL/Redis, React 19, Testcontainers, Docker, ADRs and CI. 56 backend + 43 frontend tests recorded during verification. Architecture decisions · Published website.

Game engineering you can see and review

Nine Lives: the new TGSlots flagship, cat Reaper and cluster cascades

Nine Lives — new flagship: cat-Reaper collection, cluster cascades and a carried bonus multiplier.
Ancient Dragon — classic paylines, mystery symbols and free spins.
Woodland Whisper — interactive card picks and independently calculated expected return.
Le Militare — combat cascades, persistent multipliers and giant sticky WILDs.
X7 Club — locked coin prizes, Hold & Spin and column boosters.

Nine Lives · 1440p promo · LinkedIn edit · Original capture. Clean gameplay-and-music edit: 1440p / 60 FPS, rendered frame by frame through the unchanged game client using the recorded real API outcomes. No editorial text or game sound effects; original capture retained separately.

The showcase now includes all five games, with Nine Lives first. The source explains the RNG boundary, weighted samplers, payline trie, cluster BFS, bonus states, wager normalization and complete-round verification. Le Militare's verification uses held-out seed streams on the actual engine; Woodland additionally has a separate Python analytical reference. Test results, sampling estimates and analytical expectations are identified individually.

Watch the five-game promo · Read the mathematics · Review both X7 backend modes

The games currently run locally with an API; the portfolio hosts videos.

More engineering perspectives

  • C# + Go execution boundaries: Trading Systems Lab — order state, protobuf/gRPC contracts, PostgreSQL audit immutability and an independent emergency watchdog. 151 .NET tests passed, one optional benchmark skipped; Go watchdog tests passed.
  • Python + LLM/media orchestration: Signal Processing Lab — async parsing, persisted campaigns, typed model output, dry-run execution and risk invariants. 340 offline tests; live-provider acceptance remains separate.
  • BIM model integrity: ModelGuard — parameter contracts, transaction-safe mark updates and worksharing ownership. Shares AccessRoute's core/test suite; Revit-host execution remains unverified.
  • Enterprise integration: MekashronTest — an older Umbraco / WCF / SOAP / SQL Server assignment.
  • Earlier application work: Realtime Chat and StatsHub — SignalR, React, CQRS and caching, with narrower demo scope.

Linux desktop extensions you can see

Headphones Battery: the popup opens, the ring sweeps to 72%, the plumbob drops in and the cat bobs to the music Dota Time: the popup opens, the time counts up with the ring to 4 h 21 min, Roshan stomps, then the month chart grows Psiphon Tunnel: Psiphon finds a server and the mole climbs out with its lamp on, then the stop button asks about the programs using the tunnel and waits for them
Three states of the headphones popup: listening at 72%, 2% with a tired cat, and an approximate 16% while the cat dozes Three moments of a Dota day: 1 h 12 min, 3 h 7 min in a match as Invoker, and 4 h 21 min with Roshan in aggro The tunnel open with Firefox, Claude Code and Codex going through it, the question before closing it, and waiting for them to close; below them, the country and the system proxy switch
Headphones Battery for GNOME — precise Bluetooth LE battery level, remaining listening time from a per-device drain model learned by recursive Bayesian least squares, and a spring-animated Sims cat whose layers are redrawn only when their look changes. 36 gjs tests and public CI; tested with one headset model. Dota Time for GNOME — counts time in Dota 2: live matches over Valve's Game State Integration, 60 days of OpenDota history, comparisons that set match clock against match clock until whole days are known, and a Fisher exact test before a win-rate gap is called real. 40 gjs tests and public CI; a live ranked match matched OpenDota to the second. Psiphon Tunnel for GNOME — one ./install.sh sets up Psiphon's console client, pinned by sha256, with psi-on/psi-off and the extension. The country is picked in the popup or with psi region DE; an optional switch points GNOME's proxy at the tunnel and puts it back as it was. Psiphon runs in a systemd scope of its own, so a Shell crash cannot take the tunnel down, and before closing it the extension offers to wait for the programs still using it. 55 gjs tests against a fake Psiphon; CI runs the whole cycle in the headless Shells of GNOME 46, 48, 49, 50 and 51.

Rendered in throwaway headless GNOME Shells by each repository's capture script. The headphones numbers come from the real estimator; the Dota month and the programs in the tunnel are made up. The UI text is Russian.

How I work

I use AI-assisted development with explicit constraints, architecture decisions, verification artifacts and final review. Architecture, acceptance decisions and engineering responsibility remain mine. I distinguish a passing contract test, a synthetic benchmark, a mathematical expectation and a commercial result.

Backend: C# / F# · .NET / ASP.NET Core · PostgreSQL / SQL Server · Redis · Kafka / RabbitMQ · outbox / idempotency · Docker · CI/CD
Across the stack: React / TypeScript · Blazor · Go · Python · Revit API · WPF/MVVM · probability models and deterministic simulation

Verification records span 2026-10-07–20; the linked reports define each suite's scope. Counts are not comparable project scores or production reliability guarantees.

Pinned Loading

  1. realtime_chat realtime_chat Public

    Earlier ASP.NET Core 6 / SignalR / React chat demo. Typed hub and reconnect; in-memory state, no auth, message endpoint broadcasts globally.

    C#

  2. portfolio portfolio Public

    Full-stack .NET 10 / React 19 engineering showcase: PostgreSQL, Redis, Testcontainers, ADRs, Docker and CI/CD.

    TypeScript 1

  3. access-route-revit access-route-revit Public

    Revit 2021–2025 cable routing preview: BVH, Dijkstra, versioned storage, WPF/MVVM; 68 shared tests. In-Revit execution unverified.

    C# 1

  4. model-guard-revit model-guard-revit Public

    Revit 2021–2025 BIM validation preview: parameter contracts, equipment references, transaction-safe mark updates and WPF/MVVM.

    C#

  5. tgslots tgslots Public

    Five slot games: Nine Lives flagship, shared TypeScript mathematics, PixiJS cascades and Monte Carlo audits. Bun API; X7 also supports Go + RabbitMQ.

    TypeScript