Azure Communication Services was launched at Ignite!

I’m really proud to share that Azure Communication Services, which I have been working on since July, was announced at Microsoft Ignite by CEO Satya Nadella! What is Azure Communication Services (ACS)? You can find a lot of descriptions out there, but quoting the official ACS webpage, Azure Communication Services brings rich communication APIs to…

Doing 10-K research on Canadian public companies

In a nutshell, this article answers the following question: What is the equivalent of form 10-K for companies publicly traded in Canada? And the answer is: the equivalent consists of 3 forms, namely the Annual Information Form (AIF), Annual Financial Statement and Management Discussion and Analysis (MD&A). Summary U.S. tool Description Canadian counterpart EDGAR database…

See you later, USA!

(Image source: US Embassy & Consulate in Canada) I recently left the US to move back to Canada. In this article, I share my thoughts and reasoning on this move. I came to the US at the end of 2019 on an H1B visa, which I got on my 3rd attempt towards the H1B “lottery”….

Transcending storytelling

As a PM, I always see storytelling as one of the most important communication tools. Whether I am trying to get buy-in, build alignment, explain a strategy or share my learning, stories are usually a powerful way to retain attention and elicit empathy. But as I keep practicing storytelling, I am gradually realizing that as…

WFH, self-sustainability and P/PC balance

As we enter an extended WFH (Work From Home) period of time, I’ve become increasingly aware of the importance of self-sustainability. Self-sustainability, a sense of confidence in leading an effective life completely by myself, relies on something called P/PC balance. In this article, I share some learning about these concepts from the past month of…

Fuzzier language, better UX

This is a story of a customer psychology analysis. It led me to choose less precise language in a product UI, and achieve better user experience. It started when my dev partners found an internal API limitation in a web app we own. This API limitation was causing a data visualization dashboard feature to throw…