Why I built it
Working inside a foreign trade team made the real cost of fragmented spreadsheets, repeated copying and disconnected handoffs visible. TradeFlow began as a response to those daily problems, not as a generic dashboard exercise.
My role
I translated front-line sales and operations problems into product requirements, designed the workflow and delivered the system with AI-assisted development. I continue to operate the production deployment, collect feedback and improve the product around real use.
Connected workflow
- Inquiry intake, opportunity follow-up and customer records
- Product data, quotations, orders and multilingual PI documents
- Packing, shipping labels, logistics sharing, inventory and customs records
- Performance, commission, payroll and management reporting
- AI assistance for inquiry replies, business questions and market research
- Web, iOS and WeChat mini-program touchpoints
Product and engineering decisions
The system uses a React and TypeScript web client, Express APIs, Prisma with MySQL and Docker deployment. The same domain also reaches an iOS client and a WeChat mini-program. Shared business rules matter more than adding isolated screens: order data must remain consistent when it reaches packing, inventory, finance, performance and management views.
AI is placed behind business boundaries. It can draft replies, ground answers in internal tools and help interpret screenshots, but important writes still pass through permissions, validation and auditable records. Deterministic services remain responsible for pricing, order state, inventory and payroll.
Verified status and current limits
TradeFlow is a private production system, so this page describes its architecture and product decisions without exposing customer records or internal source code. The previous public prototype link is no longer used.
The current server suite passes 211 of 234 tests; one management integration suite still has 23 failures caused by test-user authorization and fixture isolation. The codebase also contains large service modules, extensive legacy typing debt, raw SQL paths and SQL/parameter debug logs that need stricter isolation and redaction. These issues are tracked as production engineering work rather than presented as finished polish.
