MiniBot - bot client framework

I wrote a client-side framework that allowed Chatbots to incorporate different UI widgets.

WeChat provides a "MiniProgram" javascript environment for apps that run within WeChat.

Using this, I built a client/server minibot framework that allowed us to combine realtime chatbot conversation with app like UI components such as a map or a calendar or simple menu choice.

Client Widget Library

mb-widgets We created a wide-range of 'widgets' that were re-used for multiple projects.

End to End Platform


From authoring, respnding to user chats, and client side runtime, I built an end-to-end platform for rich-media chatbots. Minibot 'stories' are scripted server-side using our visual authoring tools, so any changes are live without the need to submit a new version to WeChat.

ZAT authoring tools


I created "ZAT" (that chat) DSL for our chatbots, and a visual editor. Based on experience building multiple bots at scale, I chose to go with an outliner type of editor, rather than a flowchart tool. We have dynamic editor components for each client widget, and if need be a code editor to see the created 'stories'.

Full 'Application Builder'

tbot-pages As well as the conversational GUI, the ZAT DSL allowed us to construct the layout of the whole app dynamically server side, so we could ship new versions without waiting having to go through the app store approval process.

UnOfficial WeChat 'Bot SDK'

travel-minibot Even though we did everything possible with basic WeChat bots, using our own client framework enabled a much better user experience. We built the missing SDK for WeChat bots.

MiniBot Templates for different use cases

minibot-authoring On top of the core framework we created template bots for different use cases

  • FAQBot - for answering questions
  • Conversion bot - for e-commerce
  • SurveyBot - get to know your customers
  • KOLBot - influencers using bots to do mass-personalization

At RIKAI Labs, with a tiny team we built a ton of killer functionality with a very clear use case, but in the end launching a business in China had many other problems, such as restrictions on foreigner-owned internet businesses and capital restrictions limiting investor upside.