Skip to content
Roman Sapezhko
Book free call

Roman Sapezhko/Performance Engineer · 10+ years · high-load & reliability

Raise RPS without cascading failures.

I dig into Python backends and distributed production systems — CPU, memory, RPS ceilings, queues, and failure modes — so critical paths stay fast and stay up.

I don’t stop at recommendations. I profile hot paths, memory pressure, queue lag, and retry storms — then harden the distributed path so load and failures don’t take you down.

No pitch deck. We map RPS ceilings, CPU/RAM pressure, and failure modes — and what to fix first.

Try it — watch the numbers move

Production signals

before

CPU (process)

87 %

RSS memory

1.8 GB

CPU over time

500+

API RPS

sustained load

99.9%

API uptime

under load

+35%

Throughput

B2B platform

2500+

msgs / min

IoT delivery

Fit

This is for you if RPS, uptime, or on-call are already business problems.

Self-qualify in thirty seconds — or take the quick check. The diagnostic is free; time is reserved for teams who feel the pain in production.

For you if

  • SaaS or e-commerce hitting RPS / throughput ceilings on APIs, workers, or checkout
  • High CPU, memory leaks, cascading timeouts, or systems that fall over under load
  • Distributed pieces (queues, caches, services) that lose messages or amplify failures
  • Codebases that got heavier after growth, legacy, or AI-assisted shipping

Not for you if

  • You need a brand-new marketing site from scratch
  • You’re looking for junior mentoring or pure UI design
  • You want a frontend score chase with no access to code, profiles, or production signals

How I work

Diagnose. Prioritize. Harden.

Same loop whether the bottleneck is a CPU-hot Python path, a memory leak, an RPS ceiling, a queue without backpressure, or a retry storm across services.

  1. 01

    Find what’s actually slow — or fragile

    Profiles, traces, and production signals — CPU, RAM, RPS ceilings, queues, retries — not guesswork or generic audit checklists.

  2. 02

    Prioritize by business impact

    Rank fixes by conversion, reliability, and cost — so the first wins matter under real traffic.

  3. 03

    Fix and harden

    Change the code and runtime, then add fault-tolerance and monitoring so load and failures don’t take the system down again.

Selected work

Outcomes in RPS, uptime, throughput, and quieter on-call.

Some employers stay confidential — the numbers don’t.

01·GDS Group

High-load B2B digital goods platform

Analytics took hours, throughput was capped, and deploys were slow — while holding a 99.9% API uptime bar. Raised sustained RPS and cut backend load without trading away reliability.

API load
500+ RPS
Throughput
baseline+35%
API uptime
target99.9%
Report generation
4 hours15 min

02·Trust Box

24/7 IoT warehouse platform

Stabilized an always-on distributed booking system after a contractor left: queues, payments, QR access, delivery guarantees, and observability under continuous message load.

Message volume
fragile2,500+/min
Delivery
at risk99.9%
Edge uptime
unstable99.8%
Alert response
15 min30 sec

03·E-commerce (confidential)

Strapi + Next.js tile shop

Slow production storefront: weak caching, heavy origin work, manual deploys, no performance gate. Cut origin wait and hardened delivery so releases stay fast under traffic.

Origin TTFB
~2.6s~350ms
Deploy time
40–60 min~12 min
Caching
weak / ad-hoclayered
Perf gate
nonein CI

What teams say

After shipping — quieter on-call, clearer delivery.

“Roman took our Django monolith from “works in staging” to predictable releases. API latency dropped, on-call got quieter, and we finally trust the deploy pipeline.”

Engineering lead · B2B SaaS·Backend reliability · latency & deploys

“We needed real-time device telemetry without losing messages at peak load. Queues, monitoring, and clear runbooks — production stopped being a black box.”

Platform owner · IoT / logistics·Throughput & delivery · 24/7 load

“Clear scope, no architecture theatre. Weekly updates, tests in CI, and backend decisions explained in business terms — not slide-deck jargon.”

Tech lead · Platform team·Delivery clarity · high-load backend

Sample deliverable

Sample diagnostic summary

Example output shape — not a free full audit. Numbers illustrative of a typical SaaS API under rising RPS.

Diagnostic summary

Acme SaaS · checkout + billing API

P0

Checkout path collapses under retry storms

Pricing dependency p95 ~1.8s; no circuit breaker; retries amplify load across services and saturate CPU.

Impact: Cascading timeouts at peak RPS — abandonment and error budget burn

P1

Memory growth on order-history worker

Worker RSS climbs across the shift; large ORM graphs retained; GC pauses spike latency and drop effective RPS.

Impact: OOM kills and backlog during month-end

P2

Queue consumer has no backpressure

Downstream API slows; consumer keeps pulling; lag grows without load-shedding or DLQ policy.

Impact: Silent data delay and uneven node load in a distributed path

Suggested next steps

  1. Circuit breaker + bulkhead on pricing; load-test target RPS with failure injection
  2. Trim worker object graph / stream results; cap RSS and alert on growth
  3. Add consumer backpressure + DLQ; budget p95 latency, error rate, and queue lag in CI/prod
Get a priority list for your product

Before the call, note: (1) product URL if shareable, (2) what’s slow/fragile — CPU, RAM, RPS, queues, timeouts, (3) what “fixed” looks like — p95, uptime, RPS target, or quieter on-call.

The offer

Free 30-minute diagnostic call

You’ll leave with a priority list for RPS ceilings, CPU/RAM pressure, or fragile failure modes — even if we don’t work together. Not a full audit. Not free implementation.

What you get

  • Clear problem framing — RPS ceilings, CPU/RAM pressure, or fragile distributed paths — and where the business feels it
  • Likely bottleneck / failure-mode hypotheses (code, DB, queues, retries, deploys, observability)
  • A priority order by impact vs effort
  • An honest read on whether an engagement makes sense

Call agenda

  1. 0–3 minFrame: mutual fit, not a sales pitch
  2. 3–20 minDiagnose: symptoms → business impact → constraints
  3. 20–27 minHypotheses + priority order for what to fix first
  4. 27–30 minHonest fit + clear next step (or a polite decline)

Book your slot

Before the call, note: (1) product URL if shareable, (2) what’s slow/fragile — CPU, RAM, RPS, queues, timeouts, (3) what “fixed” looks like — p95, uptime, RPS target, or quieter on-call.

  1. 1. Product / staging URL (if shareable)
  2. 2. What’s slow or fragile? (CPU, RAM, RPS, queues, timeouts…)
  3. 3. What does “fixed” look like? (p95, uptime, RPS target, on-call)

After the call

Clear paths — no retainer pressure on day one.

The diagnostic is free. Paid work is scoped only if there’s a fit and a measurable outcome. Ranges below are starting points — final scope after the call.

Free · 30 min

No obligation

Performance diagnostic

Symptoms → RPS / CPU / failure-mode map → priority order. Leave with a next-step list even if we don’t continue.

  • Problem framing
  • Load & bottleneck hypotheses
  • Priority order
  • Honest fit check

From €1,500

Scoped after call · typically 1–2 weeks

Focused audit sprint

Deep dive on one hot path or failure mode (API RPS ceiling, worker, queue, memory) with profiles, root-cause notes, and a ranked fix plan.

  • CPU / memory / load profiles
  • Root-cause notes
  • Impact-ranked backlog
  • Handoff or build option

From €4,000 / mo

Scoped after call · weekly delivery

Fix & harden engagement

Raise throughput and harden failure modes in code and runtime — circuit breakers, queues, budgets — so RPS and uptime hold on the next release.

  • Hands-on code fixes
  • Fault-tolerance guardrails
  • CI / monitoring budgets
  • Weekly progress
Roman Sapezhko — Performance Engineer

About

Roman Sapezhko

Performance Engineer · high-load & reliability · Cheyenne, Wyoming, United States · Remote · 10+ years in production

I step into stressed engineering teams and earn trust fast — speaking the same language as backend, DevOps, and product within days, not weeks. Then I stay hands-on: I write the fix, harden the pipeline, and leave guardrails so the team can keep shipping.

I work with teams dealing with high CPU, memory leaks, RPS ceilings, cascading timeouts, or distributed systems that got harder to scale after rapid growth, legacy complexity, or AI-assisted development. Deepest focus: Python backends (Django / FastAPI) under real traffic — profiling code and runtime, queues, and fault tolerance — including OTUS Highload Architect training.

    What happens next

  1. 130-min diagnostic — Goals, symptoms, stack, constraints.
  2. 2Scope & approach — Audit sprint, fix engagement, or a polite no.
  3. 3Kickoff — Access, milestones, and how we measure “faster”.

FAQ

Straight answers before you book.

Is this just a sales call?

No. It’s a diagnostic. You’ll leave with a priority list even if we don’t work together. No pitch deck.

Do I need to give full production access for the call?

Not for the 30-minute diagnostic. A URL, stack notes, and what’s broken are enough. Deeper access comes later if we engage.

What stacks do you work with?

Python is home base — Django, FastAPI, Postgres, Redis, Celery — plus nginx, Docker, CI/CD, and production observability. I go deep on CPU, memory, RPS ceilings, query plans, queues, and failure modes in distributed paths (retries, backpressure, delivery guarantees). The method transfers across stacks.

Will you hand me a 40-page audit and disappear?

I don’t stop at recommendations. I identify real bottlenecks and fragile failure modes in code and runtime, prioritize by business impact, and can support implementation.

What won’t this call include?

A full audit, code fixes, load-test suite, or a guaranteed uptime number. Those are scoped engagements after we know the problem.

Do you only optimize single services?

No. Many pains show up at the seams — queues, caches, downstream APIs, retry storms. I look at the path under load, not only one process in isolation.

What happens after the diagnostic?

If there’s a fit, we scope a focused audit sprint or a fix-and-harden engagement. If not, you still keep the priority list — no retainer pressure.

Quick check

How visible is your bottleneck?

Three questions. No email gate. You’ll get a read — then book if it still makes sense.

01 / 03

Do you know which code or runtime path is actually hot right now?

Ready to raise RPS — without cascading failures?

No pitch deck. We map RPS ceilings, CPU/RAM pressure, and failure modes — and what to fix first.

Book a free 30-min diagnostic call