About Me
Hi, I'm Ethan Miao — a senior software engineer and tech lead based in China. Since 2016 I've been building platform products in the IoT and industrial internet space: device management clouds, cellular connectivity management, enterprise VPN, identity and billing infrastructure. Since early 2025, I've led the design and operation of a LangGraph-based multi-agent AI assistant that runs in production for enterprise customers.
What I'm working on now
An AI copilot for a B2B device-management platform: multi-agent orchestration with LangGraph and deep agents, RAG over technical documentation (Milvus + BM25), sandboxed command execution, SSE streaming chat, long-term memory, and the full production envelope — checkpoint persistence, interrupt/resume, Langfuse tracing, RAGAS evaluation. If you want the war stories, read 5 Things I Learned Running LangGraph Multi-Agent in Production for a Year.
What I built before
- Cellular connectivity management (CMP) — a microservice platform managing the full lifecycle of IoT SIM cards: prepaid/postpaid billing, multi-carrier integration (AT&T, Verizon, China Mobile, and more), usage aggregation at scale, invoicing, and a smart multi-network switching engine for dual-SIM/iSIM devices.
- Identity & payments infrastructure — an OAuth2/OIDC authentication center built on Ory Hydra with MFA (TOTP, WebAuthn/Passkey) and Azure AD SSO; a billing system integrating Stripe, Alipay, and WeChat Pay with subscription billing, coupons, refunds, and license management.
- Enterprise VPN / SD-WAN — Go backend services managing OpenVPN clusters with dynamic certificates, multi-tenant isolation, and MQTT-based device messaging.
Tools of the trade
- AI/LLM: LangGraph, LangChain, RAG, MCP, Milvus, Langfuse, RAGAS, multi-model routing (GPT / Qwen / Gemini / Claude)
- Backend: Java (Spring Boot/Cloud), Python (FastAPI), Go, Erlang/OTP
- Infrastructure: Kubernetes, Docker, Helm, GitLab CI, Consul, MongoDB, MySQL, RabbitMQ, MQTT/EMQX
- Security & payments: OAuth2/OIDC, WebAuthn, JWT, Stripe / Alipay / WeChat Pay
Why this blog
LLMs are moving fast, and agents are crossing over from research demos into things real people actually use — including agents built and run by individuals, not just big teams. I think that's a genuinely new and exciting place to be building. So I write to record and share the hands-on lessons from doing it in production: not the hype, but what actually breaks, what holds up, and the design decisions in between.
Opinions here are my own and do not represent my employer.