Engineering practice

A long-term engineering partner, not a one-off vendor.

You have a product that has to run for years — not a brochure site. Keeping a full in-house team for it is expensive; handing it to a vendor who ships and disappears is a risk. We design, build, and run custom systems — web apps, data platforms, integrations, infrastructure under load, AI — and stay accountable, because the team that wrote the code is the team that keeps it running.

What we do

We keep the part that must not fall over.

When a system carries your business, downtime isn't an inconvenience — it's lost revenue and lost trust. We take on the systems that have to stay up, and we keep them up.

Most of this work isn't greenfield. More often we inherit a system that's already running — legacy code held together by hand, a database that has outgrown its server, an integration that breaks on every upstream update. We move it onto an architecture that survives change, without losing the data behind it.

And we're there when it breaks: a dependency that changes without warning, a server under attack, a query that's suddenly too slow. Those get answered, not escalated into a meeting. Custom development, kept running for years by the team that built it.

  1. 01

    Understand the system before we touch it

    Legacy or greenfield, we read the code and the data model ourselves before changing anything — no rewrite-from-scratch reflex. The lead works through inherited systems personally, so nothing tangled gets handed off blind.

  2. 02

    Build for durability, not just for launch

    Queues, caches, replicas, containers — chosen so the data and the schema outlive any one component. How a part works can change as often as it needs to; what you've accumulated stays put.

  3. 03

    Diagnose before scaling — not just buy a bigger server

    When something slows down, we find the cause first. Often it's a query or a missing index, not the hardware. When the load is genuinely structural, we split reads from writes instead of throwing money at a larger box.

  4. 04

    Answer incidents in hours, not weeks

    A broken dependency, a breach, a data outage — each one stops the product. Monitoring alerts land in the working chat, and the fix ships overnight or across a weekend, with a written post-mortem after.

  5. 05

    Keep it running on a retainer

    Small fixes accumulate and close in a batch; anything larger is estimated in fixed hours up front. Whoever wrote a module maintains it years later — context isn't re-learned at every request.

  • Stack PHP / Laravel, queues & Horizon, ClickHouse / PostgreSQL / MySQL, Redis, Docker; CRM and external-API integrations, ETL and data pipelines, infrastructure & DevOps, AI prototypes
  • Team A lead engineer plus specialists per area — backend, data, integrations, infrastructure. Each area kept by the same person over the years, not a rotating bench.
  • Engagement Fixed-hours estimates per spec for builds; a monthly retainer for the always-on parts and incident response. Anything risky is prototyped before the bill.
  • Format Direct client work, async-first communication, the team that builds it stays on it. NDA on request.
Engineering case studies

Proof, not promises.

Engineering case studies from our multi-year partnerships — so far a B2B analytics platform and a web studio's server estate. Each one is concrete proof of everything above.

NO. 1208 SERVER MAINTENANCE

The contractor who talks you out: 9 episodes over 2 years

9 documented episodes over 2 years where a DevOps contractor talked the client out of billable work, and why the client then trusted us with its end client.

MULTI-VERTICAL
NO. 1207 SERVER MAINTENANCE

~70 incidents over 24 months: the bot notices before people do

~70 incidents over 24 months: the bot notices first, the engineer is in within 1-9 minutes, recovery in 7-50. Incident response without a formal SLA.

MULTI-VERTICAL
NO. 1206 SERVER MAINTENANCE

Peak-season crisis: two days, four root causes

A Bitrix store goes down in peak season. Four root causes: panel antivirus, a one-digit DB-config typo, disk degradation, a slow DDoS. Closed in two days.

MULTI-VERTICAL 11 h
NO. 1204 SERVER MAINTENANCE

GitLab: from 15.4 to 18.11 over two years, zero data loss

A studio's self-hosted GitLab, stuck on 15.4: two major versions and two PostgreSQL migrations in 5 hours, patches on release day, zero data loss in two years.

MULTI-VERTICAL 10 h
NO. 1202 SERVER MAINTENANCE

Migrating an infected NextCloud: 400 GB with no docker in 7 hours

The studio's old cloud caught a virus through docker. Not a cleanup but a new server: a clean NextCloud, no containers, 400 GB moved nightly. 7h tracked.

MULTI-VERTICAL 7 h
NO. 1203 SERVER MAINTENANCE

A two-byte diagnosis: a seven-month bug closed in one evening

Seven months of broken Excel downloads: fine on disk, unopenable in the browser. Diagnosed in one evening to two stray CRLF bytes from the code.

MULTI-VERTICAL 1 h
NO. 1201 SERVER MAINTENANCE

An inherited fleet of 12 VDS: audited in 6 hours, in order within a month

A web studio handed us 12 VDS where 'something reliably breaks weekly.' Audit in 6h, fleet update in 1.75h not six, a wiki page per server, monitoring in…

MULTI-VERTICAL
NO. 1115 DEVELOPMENT

Server operations as a service: 4.5 years of infrastructure under a growing B2B product

From shared hosting to a ClickHouse server cluster, a scraping VPS farm, daily S3 backups, Grafana monitoring. Every upgrade signed off, every outage closed.

CERTIFICATION-COMPLIANCE
NO. 1114 DEVELOPMENT

A B2B platform on retainer: 4.5 years of unbroken work, the parser as the core of the service

One retainer keeps an in-house product alive: nonstop registry parsing, small prepaid changes, incident response in minutes, backups and protection.

CERTIFICATION-COMPLIANCE
NO. 1113 DEVELOPMENT

How we work: prototype before the invoice, economics before the start, an honest status on every task

Our method on the Certificate Analytics platform: before taking money we prototype, test viability, model the economics, and talk you out of weak ideas.

CERTIFICATION-COMPLIANCE
NO. 1108 DEVELOPMENT

Parsing three government certification registries (KG/KZ/BY): around 260 hours on Laravel queues

Parsers for the Kyrgyz, Kazakh, and Belarusian certification registries: Laravel Horizon queues, proxy rotation, incremental collection by next number.

CERTIFICATION-COMPLIANCE 260 h
NO. 1112 DEVELOPMENT

DocMarket — an MVP for self-service sale of data exports

A new product from Certificate Analytics: automating a manual B2C service of selling data exports through a self-service web app with on-site payment.

CERTIFICATION-COMPLIANCE
NO. 1111 DEVELOPMENT

From attack to hardening and migration: security and infrastructure for a B2B platform in 2025–2026

Investigating a server breach via an open Docker API: rootkit and miner removed, login history with IP whitelist, then a January 2026 migration, documented.

CERTIFICATION-COMPLIANCE
NO. 1110 DEVELOPMENT

Bitrix24 widgets and apps: counterparty analytics right inside the CRM card

Certification-analytics widget in Bitrix24 Lead, Deal and Company cards across several instances; v2 adds caching; six-registry search via ClickHouse in 300 ms.

CERTIFICATION-COMPLIANCE 143 h
NO. 1109 DEVELOPMENT

An AI analyst for a declarations database: a working prototype we built at our own cost

We built a prototype at our own cost: query a declarations database in plain words, not SQL. A live demo and an honest map of what works and…

CERTIFICATION-COMPLIANCE
NO. 1107 DEVELOPMENT

Registries and database architecture: diagnosis instead of a server upgrade, and search in 3–4 seconds instead of minutes

Accredited-bodies registry plus a new-entrants database, re-architected for load: MySQL with a ClickHouse analytics replica. Search cut to 3–4 seconds.

CERTIFICATION-COMPLIANCE 253 h
NO. 1106 DEVELOPMENT

Certification analytics widget in amoCRM: documents by tax ID and subscriptions in a month

An amoCRM card widget pulls certificates and declarations by tax ID, with alerts for tracked counterparties. Two versions in a month, then a clean decommission.

CERTIFICATION-COMPLIANCE 45 h
NO. 1102 DEVELOPMENT

Parsing the Russian registry of certificates and declarations (FSA): engineering resilience against a hostile source

FSA (Rosaccreditation) declarations-and-certificates parser, inherited as legacy, moved to Laravel Horizon queues with proxy rotation. Four years dodging bans.

CERTIFICATION-COMPLIANCE
NO. 1101 DEVELOPMENT

An admin B2B-analytics core in 342 hours: Laravel 8 and Sencha 6

An admin platform for certification-market analytics, written from scratch to replace a legacy system. Laravel 8 and Sencha 6, 342 hours, five calendar months.

CERTIFICATION-COMPLIANCE 342 h
NO. 1103 DEVELOPMENT

From manual Excel to built-in analytics: 356 hours of reporting for a B2B platform

Monthly Excel roll-up moved into the platform: a statistics grouper, geo-filters with DaData postcode normalization, a yearly chart, a classification reference.

CERTIFICATION-COMPLIANCE 356 h
NO. 1104 DEVELOPMENT

Certification document templates: a builder on tag markup

Importing docx templates with tag markup, generating protocols with a number pool and random test-field values, lab side-files, and stamp-free draft templates.

CERTIFICATION-COMPLIANCE 310 h
NO. 1105 DEVELOPMENT

A Telegram bot for an analytics platform: a spec, two quotes, a prototype

A Telegram bot to give sales managers fast certificate answers. We wrote a spec with two quotes (full and demo); sign-off stalled, the build never started.

CERTIFICATION-COMPLIANCE
NO. 1205 SERVER MAINTENANCE

Two MySQL indexes — a filter 3500× faster in one hour

A Bitrix store wouldn't load: CPU at 90–100%, filter queries 15–30s. Two MySQL indexes cut query cost from 538,080 to 154, in one tracked hour.

MULTI-VERTICAL 1 h
FAQ

Frequently asked, plainly answered.

Specific to this engagement shape — what we mean by it, what we own, what changes the hours.

  • Mostly the opposite of greenfield. More often we inherit a system that's already running — a service held together by hand, a database that has slipped past its limits, an integration that breaks on every upstream change — and bring it onto an architecture that survives change, without losing the accumulated data. The lead reads the inherited code personally before touching it; we don't reach for a rewrite-from-scratch unless the facts demand it.

  • Both, by shape. Discrete builds are estimated in fixed hours against a written spec, with anything risky prototyped before the bill. The always-on parts — the piece that must not stop, small fixes, incident response — run on a monthly retainer: small work accumulates and closes in a batch, larger work gets its own estimated spec. No silent overruns either way.

  • That's the normal weather of any connected system, not a one-off emergency. We isolate every outside dependency behind our own layer, so a changed format or a dropped endpoint touches only how data comes in — your schema and your stored history stay intact. Monitoring alerts land in the working chat, and the fix usually ships the same day. Once a government registry blocked every one of our machines on a Friday night; coverage was back to full over the weekend.

  • Usually not. We diagnose before spending: more often than not it's a query slipping past its index, fixable without new hardware. When the load is genuinely structural, we move heavy reads onto a separate analytics replica so reports drop from minutes to seconds while the main database keeps serving writes. We've talked a client out of a server purchase more than once.

  • Yes. Each area stays with the same person over the years — whoever wrote a module is the one who fixes and extends it later, so context isn't re-learned at every request. After four and a half years on one platform, the database lead still knows every original schema decision. That continuity is the point of the engagement, not a bonus.

Have a system that
has to stay alive?

Send the architecture, the slow query, or the part that keeps falling over. Within a day: a sharp set of questions and an honest read on what to split, what to rewrite, and what just needs an index. NDA on request.

Scroll to Top