Chenxi Flowers intelligent operations system + Feishu AI bot fleet
The operations system a real flower wholesaler uses every day: staff take orders and move stock by typing one line into a Feishu group, 5 AI Agents run the workflows, and the company has RMB 5.4M+ in cumulative sales.
What shipped
RMB 5.4M+ (3 sites · 65 varieties · 56 customers · 10 staff)
Cumulative company sales
1,027 orders processed · RMB 340K+ settled
First month live
None — read-only by default + allowlist + human confirmation
AI write access
Problem
Outbound stock, inventory, reconciliation, and cash all ran on hand-kept records — nothing could be entered from the warehouse floor, and the owner had no real-time view of the business. The harder layer: if AI is really going to take over order entry and account queries, why should the owner trust it not to corrupt the books?
Approach
It grew in two stages. (1) A Feishu Bitable MVP first — a working business loop within days, validating real demand; once the business grew to 3 growing sites, 65 varieties, 56 customers and 10 staff, Bitable could no longer hold up under concurrent writes, reconciliation consistency, and complex queries, so (2) it was rebuilt into a Flask + PostgreSQL production system, running stably ever since. On top of that sit 5 Feishu group AI Agents: staff take orders, verify outbound stock and log costs in a single sentence, and the owner asks a question to pull inventory, receivables and business numbers. Write safety is the core of the whole design — read-only by default, writes behind an allowlist, executed only after a human confirms. Delivered to production standards: access control across 30+ endpoints, full operation auditing, daily offsite backups, and automatic rollback on failure.
AI's role in this project
5 Feishu group AI Agents run order taking, outbound stock checks, cost logging and business questions inside a real company every day. The point isn't teaching AI to write records — it's getting the owner comfortable letting it: read-only by default, writes behind an allowlist, executed only after a human confirms, so the AI never holds write access to the database. That's the hardest step in putting an Agent into a real production environment.
A system people actually run a business on
It serves a real flower wholesaler, covering outbound stock, inventory, reconciliation and cash end to end, and it has been in production ever since — supporting the daily operations of 3 growing sites, 65 varieties, 56 customers and 10 staff, against RMB 5.4M+ in cumulative company sales. In its first month live it processed 1,027 orders and settled RMB 340K+.
Build the MVP, then replace it yourself
Stage 1: Feishu Bitable as the database. The most real constraint on a small business is that it can't afford ops. It got the business loop working within days and validated the real demand on the spot — at that stage, it was the right call.
Stage 2: rebuilt on Flask + PostgreSQL. Once the business grew to several sites, dozens of varieties and dozens of customers, Bitable started buckling under concurrent writes, reconciliation consistency and complex queries. So the whole thing was rebuilt into a Flask + PostgreSQL production system.
What's worth writing down isn't "I picked the right framework," it's knowing when to switch: the right choice at MVP stage becomes debt once the volume changes. I ran both stages for real, and did the switch for real.
Getting the owner to hand over write access
Five Feishu group AI Agents sit on top of the system: staff take orders, verify outbound stock and log costs by typing one line in the group; the owner just asks a question to pull inventory, receivables and business numbers.
The hard part isn't getting the AI to parse "Zhang's flower shop wants 200 bunches of grade-A red roses" — it's getting people comfortable letting it touch the books:
- Read-only by default — the vast majority of questions take a read-only path and never reach a write
- Writes behind an allowlist — only explicitly allowlisted operations can trigger a write at all
- Executed only after human confirmation — the AI produces a structured record, a person confirms it, and only then does it hit the database
The AI never holds write access to the database. That one rule is the foundation of the whole design, and the reason the owner was willing to put it into production.
Delivered to production standards
Access control across 30+ endpoints, full operation auditing, daily offsite backups, automatic rollback on failure. Money data can't be wrong — this isn't the engineering standard of a practice project, it's the standard for something people draw their pay from.