Entrepreneur · applied AI · own software

Kirill Astafev

Three decades in business. Two years rebuilding how it runs.

Most people ask AI to tidy their email. He rebuilt two companies with it.

Commercial property first, then a plant nursery that grew into a nationwide online retailer. Two years ago Kirill Astafev began building an AI and software layer around both — not an experiment on the side, but the machinery the companies now run on. He puts the growth of the e-commerce business over the past year alone at roughly fivefold.

See the work
The path, the stack, the working method, and what comes next.

01 / The path

Property, plants, and the year the software caught up.

Three decades in business supplied the context. A lifelong interest in computers supplied the starting point. AI is what finally joined the two.

The first business was commercial property: a multi-storey centre in a Siberian regional capital, held and managed for thirty years — acquisition, tenants, utilities, repairs, the patient arithmetic of square metres. It is an unhurried trade. It teaches scale, obligations, and the habit of living with the consequences of a decision instead of handing them to someone else.

The second is Zavod Flora, a plant production and e-commerce company. It was founded by Natalia Astafeva; today the production director and the team carry the growing, preparation and dispatch, and the digital layer around them is the owner’s work. Living plants are an unforgiving product: every variety has its own lead time, every season moves demand, and nothing can be produced at the last minute to cover a mistake.

Computers had been a long interest, never a profession — office software, websites, phones, each one another way to make something work better. Two years ago that interest turned into a different scale of undertaking. Questions and drafts became data models, integrations and applications, and then teams of AI agents with a working environment built around them.

Ownership is what makes the case unusual. There is no budget cycle between noticing a problem and changing the system: a production constraint becomes a software task the same day, and the result is judged inside the company that needed it. Most AI case studies are written by vendors or consultants. This one belongs to the person who pays for the consequences.

The useful place to learn a technology is inside something you are responsible for.

02 / What was built

Software that runs a company, not a demonstration.

Nothing here is a pilot or a prototype. Every item below carries real orders and real money every day, across two legal entities — specified, built, tested and deployed by the owner working with AI agents.

Commerce engine

Storefront · catalogue · orders

Close to half a million lines of in-house PHP, test suites included, across 39 custom plugins and 85 site-level modules: wholesale catalogue, a selection wizard that filters plants by bloom time and growing characteristics, shipping calculation, a preorder registry, invoice payment and the hand-off into accounting.

PHP 8.3MySQLRedis
Warehouse applications

Assembly · packing · availability

Three mobile web apps replaced paper and group chats on the production floor. One assembles orders with a lock so two people cannot take the same one, and prints the invoice straight to the office printer. One takes a photograph of the packed order that reaches the customer automatically. One flips a product’s in-stock state on the public site with a single tap.

PWAOne-time-code loginIP allowlist
Accounting automation

Two legal entities, documents closed monthly

About 26,000 lines of Python, more than half of it tests, carry the accounting cycle without a bookkeeper: bank statements synchronised through the day, outgoing and incoming invoice pipelines, electronic document exchange in both directions, a month-end documentary close that creates and sends whatever primary documents are still missing, and a daily digest. The regulated entries inside the accounting system remain a separate, supervised step. A watchdog raises an alarm if any scheduled sender misses its monthly cycle.

Python1C ODataEDI
Banking and payments

Four accounts over API

Bank accounts for both entities are driven programmatically, not by hand: mutual-TLS and OAuth connections, card acquiring, automatic reconciliation of payments against orders, transfers between accounts at balance thresholds, and fiscal receipts issued without anyone opening a banking app.

mTLSOAuth 2.0Open Banking
Customer communication

One inbox, several channels

Messengers, email and the public chat converge into a single operator screen, with classification and drafting handled automatically and the answer always returning in the channel the customer wrote to. The company’s voice and responsibility stay with the company; the software extends reach and consistency, the way a microphone and amplifier extend a voice.

WebSocketFastAPIMedia transcoding
Internal applications

Seven web tools for running the business

Finance hub, rent and loan management, an internal documentation platform, a passwordless authentication gateway, a document archive. Each replaced a spreadsheet, a folder of files, or a conversation that used to happen five times a month.

FastAPIReactPostgreSQL
A native macOS application

Built from scratch under his own developer account

A dictation tool written from scratch in Swift and AppKit, signed under his own registered Apple Developer account. Speech becomes clean written text inside whatever application is open, with tunable presets, global hotkeys and synchronisation across machines. It is also the tool through which most of the working day now passes.

SwiftAppKitApple Developer
Infrastructure

Under his own control

Servers across several countries, a mail server he operates, an encrypted private network with automatic failover, biometric passwordless login to every internal application, and encrypted backups replicated offsite. Applications, data, mail and backups stay under his own control instead of inside a consumer account somebody else can close. Access to leading models remains a key external dependency — which is what the last chapter is about.

nginxWireGuardWebAuthn/FIDO2Restic

Python · PHP · Swift · Go · JavaScript · SQL · PostgreSQL · MySQL · Redis · nginx · FastAPI · React · Docker · WebAuthn/FIDO2 · 1C OData

03 / How it runs

Two agents, a memory, and a rule that nothing ships untested.

The models are the easy part. What makes them useful inside a business is everything around them: context, tools, continuity, a division of labour, and proof that a change did what it claimed.

Two agents, one task

Build and review, deliberately separated

Two coding agents from different providers run side by side. One implements, the other reviews the result independently from a fresh context, and the two findings are reconciled before anything is released. The separation is the point: one provider’s blind spot is rarely the other’s, and a reviewer with no memory of writing the code argues with it honestly.

Independent reviewReconciled findings
Memory that outlives the session

Decisions kept with their reasons

Decisions, working methods and findings are stored with their context and sources, shared across every agent and every session. A conversation that starts months later resumes from the reasoning instead of reconstructing it, and a new proposal can be weighed against the earlier decision and the conditions that made it sensible.

Shared knowledgeContinuity
Tools wired into the business

Eighteen servers the models can call

Eighteen tool servers give the models direct, typed access to banks, accounting databases, electronic document exchange, mail, the CRM and the shop. Reading information, preparing a change and carrying it out are separate stages with traceable consequences — which is what makes it safe to let software act rather than only advise.

Typed tool callsSeparated stages
Work that continues on its own

Standing duty, not a chat window

Long-running agents hold shifts: watching alert streams to their root cause, reviewing customer dialogues, monitoring the purchase path end to end. They fix what they can, escalate what needs a person, and hand the shift over with its context intact when limits run out.

Duty shiftsEscalation
Nothing ships without a test

Then proof on the live system

A change to behaviour starts with a failing test, not with code. After deployment the result is verified on the live system with a command and its output — a page, an endpoint, a log, a query. Deployed and unverified counts as broken. This is a house rule, and it is the reason the pace has not produced a pile of wreckage.

Test firstVerified in production
The scale of the operation

What it takes to run this way

It began with a single AI subscription. What stands behind the two companies now is a permanent fleet of them across several providers, with continuous direct model access on top — far more compute than a business this size is expected to run on, and capacity is still what binds, never appetite. More than eighty named procedures exist as one-word commands: issue the monthly invoices, draft a loan agreement, parse a supplier bill and prepare the payment. Repeatable work lives as a tested procedure instead of somebody’s memory.

Continuous model accessEighty-plus named procedures
A capable model becomes valuable when the business around it can remember, act, and prove what it did.

04 / What it changed

One business had a ceiling. The other had a country.

The same tools went into both companies. The outcomes were nothing alike, and the reason is structural rather than clever.

E-commerce · living product · nationwide

Zavod Flora

Everything this business does at a distance is already software: catalogue, search, advertising, cart, payment, assembly, dispatch, support. Put capable agents into that and improvement compounds — a fix made once reaches the next visitor, the next order and the next season, across a catalogue of thousands of items.

The daily operating layer turned out to be just as amenable: production planning against recorded propagation and real demand, lead times, staffing, throughput, the measurement of work that used to be argued about. And the market is the entire country rather than one city. Demand is not what limits this business: AI generates more of it than physical production can grow to meet. The ceiling is production capacity and the size of the team, and both are being scaled deliberately. By his own account, volume has grown roughly fivefold in the past year alone.

zavodflora.com≈5× in the past year

Commercial property · a stable base

BC Zeta

Property is the opposite shape. A building has a fixed number of square metres, they are either let or they are not, and no amount of intelligence creates more floor. Growth here is bounded by the asset and by one local market.

What AI changed was the friction rather than the ceiling: reconciliation, contracts, invoicing, utilities re-billing and archive work now run through software instead of evenings. The business became quiet — obligations visible, routine assembled automatically, attention freed for the side that can actually compound.

StableBounded by floor space

05 / What comes next

The constraint is no longer money or ideas. It is access.

Everything described here rests on uninterrupted access to leading AI models. That has become the fragile part, and it is being squeezed from both directions at once.

Providers increasingly decline to serve the region; restrictions arrive from the other side as well. For an operation where models write, review and run production systems every day, losing that access is not an inconvenience — it is the whole machine stopping. So the next move is abroad, chosen for fast internet, lawful and continuous access to frontier models, and clear rights to build with them and keep the benefit of what is built. The destination is not the point and is not named here.

The Russian side stays, and stays deliberately. It is the engine: the property business is stable and asks little, the flower business is growing and funds everything else. Both continue to be run from wherever the work is done — that part has been true for a while already, and the last two years were mostly spent proving it.

What the move actually buys is continuity. With reliable access, the flower business can keep compounding inside the country for years — as fast as production capacity and the team can be scaled, because AI already generates more than enough demand. Beyond that lies an open possibility rather than a plan: an undertaking with the whole world as its market, built on the same environment, the same models and the knowledge earned in a real business. Its form is undecided, and that is the interesting part.

An imagined horizon
A working case, a stable base, and the freedom to keep building on both.

For people starting to work with him

The case is open to questions.

Counterparties, partners, and anyone who wants to know how this was actually done rather than how it is usually described. A direct message is the shortest route to a substantive answer.