Skip to content

Home

Product Engagement Strategy

I recently took a class on the Psychology of Engagement, where I learned the methodologies and vocabulary needed to create highly engaging products. I am applying these concepts to a product of my choosing.

One product that has me "hooked" is an app I use daily to manage my savings and investments. The intended behavior of this product is to encourage users to deposit and save money. I find it rewarding to check my account balance every night and see my progress. The internal trigger driving my engagement with this product is my goal of achieving financial freedom.

I currently work at Thought Machine, a product company that has developed a core banking product aimed at transforming the banking industry. This product empowers banks to offer innovative financial services to their customers. We recently raised $200 million in our Series C funding round, backed by industry-leading venture capitalists and major global banks like Nyca Partners, Molten Ventures, JPMorgan, and Standard Chartered. This has brought our total funding to $350 million, valuing the company at over £1 billion.

According to customer feedback, banks are enamored with our Vault product. It's a ledger system that operates on cloud-native platforms like Amazon Web Services, Google Cloud Platform, and Microsoft Azure, without relying on legacy technology. Vault can be configured through Smart Contracts to run any type of retail banking product, such as checking accounts, savings accounts, loans, credit cards, and mortgages. However, bank customers often find it easy to spend money but difficult to save.

To identify behaviors with strong habit-forming potential, I've utilized "habit zones." Here are three behaviors my company could focus on:

  • Behavior 1: Spending money (e.g., paying monthly rent through a checking account)
  • Behavior 2: Saving money (e.g., accruing daily interest in a savings account)
  • Behavior 3: Borrowing money (e.g., using a credit card that offers reward points or taking out a personal loan)

Based on my personal experience, the behavior with the greatest habit-forming potential is saving money while monitoring daily interest accruals.

To better understand this behavior, I asked myself "why?" five times:

  1. Why? Because I want to check my bank account for daily interest accrual.
  2. Why? To monitor my progress and see how much interest has accumulated.
  3. Why? To gauge whether I am saving enough to meet my financial goals.
  4. Why? Because I fear not having enough money for significant life events like a wedding.
  5. Why? Due to uncertainties about the future, I feel more secure with a financial cushion for emergencies.

I then applied the 5 Panels framework to design an external trigger that cues customers to perform the intended behavior.

Persona:

  • Characteristics: Alex is a 34-year-old working professional in Singapore.
  • Values: Enjoys life, loves coffee, cars, and cooking.
  • Needs: To pay for a wedding, purchase a car, repay loans, buy a coffee machine.
  • Constraints: Faces high inflation, has no savings, and spends his entire monthly salary.

Internal Trigger: Alex wants to start saving money while controlling his expenses. He feels anxious about not being able to afford his upcoming wedding.

Context: Alex is discussing wedding plans and finances with Melanie at a coffee shop. During the conversation, he mentions a car he wishes to purchase.

External Trigger: Alex feels social pressure as his peers are getting married and starting families.

Association: Fear of not saving enough for the wedding = Checking bank account for daily interest accrual.

Action Phase: Steps and hurdles a customer faces:

  1. Receive salary: Financial commitment towards monthly rent and loan repayment.
  2. Allocate 10% for savings: Monetary discipline required, can't spend that money now.
  3. Log into the bank account: Physical effort needed to open the app and click.
  4. Transfer money to the savings account: Another click required.
  5. Wait for the next day: Time needed to see any significant interest accrual.
  6. Verify daily interest accrual: Cognitive load to check if the amount is correct.
  7. Resist temptation: Numerous reasons may tempt the user to withdraw the saved money.

From the customer's perspective, the most challenging hurdle is to allocate 10% of income for savings.

User Story: As a working professional, I find it difficult to save money because of my many expenses and loan repayments. To save, I need to cut back on unnecessary spending and determine a savings target.

Solution Description: Through daily interest accrual, our app can reward users for saving. It can project future savings and interest accruals, enabling customers to set aside money more effectively. The app can also tailor its services based on the user's risk profile and savings goals.

Engagement Strategy:

  • Trigger: Notification reminders to allocate money for savings, along with projections for future account balances.
  • Action: Schedule automatic transfers to a savings account and view daily interest accruals.
  • Variable Rewards: Offer a sense of achievement as users get closer to their financial goals. Provide tips on saving money and reducing daily expenses, along with cash back offers and discount notifications.
  • Investment: Incentivize users to refer friends, which earns them a higher interest rate on their savings account.

Strategic Priorities: The next step for Thought Machine is to enhance user engagement by offering more rewarding incentives for saving money.

KPIs:

  • Number of reminder notifications sent
  • Number of new savings accounts opened through referrals
  • Total amount of interest paid to customer savings accounts

Conclusion: The Hooked Model is a powerful framework that synthesizes decades of research into a simple four-phase process. By understanding and applying these principles, we can encourage more people to save money effectively and ethically through our product design.

Finding a Fulfilling Job

Last week, I received a bonus from my company. Things are going well, and the bonus served as a good financial incentive, rewarding me for my hard work over the past year. Receiving a 13th-month salary is pretty standard practice in Singapore, and the variable pay I received aligns with industry norms. My salary is about average within the expat community, providing me a decent standard of living as a single person. Despite this financial stability, I've been contemplating my career development and searching for a job that I truly love. I'm also focused on making a more significant impact rather than merely working harder to justify my salary.

Meanwhile, I face some challenges in my current role. Just yesterday, I met a new client at an event. Although he was friendly and pleasant, I found myself at a loss for words when trying to establish a strong business connection. As my company grows, the demand for my soft skills, including presentation, networking, and communication abilities, is increasing. I need to conquer my fear of engaging with strangers and develop my leadership skills to succeed in the global job market.

If my sole aim were to maximize income and status, I would probably become a full-time salesperson. They possess the soft skills I admire: the ability to influence clients, negotiate for profit, and generate new business opportunities. The potential earnings in commission are also very appealing. However, I've avoided this career path because I'm an introvert, and the thought of approaching strangers and maintaining a high level of energy in social settings daunts me.

As a child, I loved reading history books. I was particularly fascinated by stories of ordinary people rising to become advisors to kings. They would use their exceptional communication skills to earn trust, unite nations, and thwart common enemies, saving their communities in the process. This appealed to me deeply, though my own experiences were limited to strategic computer games and essay writing. What drove my interest was the strategic element—the joy of using knowledge and tactics to achieve goals.

As an adult, I still value strategy. I am continually learning, reading books, and taking online courses to absorb new information. My desire is to be a trusted advisor, helping others succeed while achieving something bigger than myself. I am driven by empathy and the joy of making others happy.

I often find myself envying figures like Elon Musk, Leonardo DiCaprio, and other highly successful people. Yet, I recognize that each of these paths comes with its own set of challenges and sacrifices. Instead, I focus on what aspects of their lives I genuinely admire, such as their impact on the world or their financial competence.

The joy in my work comes from making money, learning new technologies, leading teams, and helping people. I believe that solving complex, real-world problems through collaboration could lead to innovative and scalable solutions in the private sector.

If I knew I couldn't fail, my next step would be to start my own business and build a scalable product to dominate global markets. However, my biggest fear is that this new venture might not be profitable, and I could end up taking excessive risks, leading to financial ruin.

My family tends to value traditional job roles like engineering, accounting, and culinary arts. They're less familiar with digital-era positions like Scrum Master or Data Scientist. Their primary concern is for me to secure a stable, financially rewarding career. Political roles, especially those in opposition to the Chinese Communist Party, would be a cause for concern.

However, I aspire to exceed my family's achievements by becoming financially independent and gaining international exposure. I wish to help them broaden their perspectives, both through travel and technological literacy.

My social circle has its own challenges. While my university classmates and former business partners support my ambitions, my girlfriend has different interests and a different risk appetite. This creates a tension between pursuing my passions and dedicating time to our relationship.

In the end, the voice I need to listen to is that of "Intrinsic Love." If someone dislikes me, it's essential to remember that I can't please everyone.

Many people dream of working at companies like Google, drawn by the culture, cutting-edge technology, and high salaries. But the same benefits can often be found in tech startups or even in running your own business.

Despite my fears—of starting a business, speaking to strangers, or public speaking—I don't need to be the wealthiest person in the world to be content. Side hustles, new opportunities, and meaningful connections can provide not just tolerable work but a fulfilling career full of purpose, camaraderie, and creativity.

To achieve this, we'll need to focus intensely on the complexities that underpin finding truly fulfilling work. If you share this goal, I'd love to hear from you. Together, we can explore not just work that pays the bills but work that we deeply, profoundly appreciate.

Finding a Fulfilling Job

Welcome back, everyone, to another episode of Continuous Improvement! I'm your host, Victor, and today we're diving into the topic of finding fulfillment in our careers. We all want to feel a sense of purpose and accomplishment in our work, and sometimes that means exploring new paths, overcoming challenges, and finding the courage to pursue our passions.

In our blog post today, the author shares their journey of self-reflection and their search for a career that brings not just financial stability, but also a sense of joy and impact. They highlight the importance of continuous learning, empathy, and strategic thinking in this quest for fulfillment.

One of the challenges they face is their introverted nature. Networking and presenting themselves to new clients can be daunting, but they recognize the value of developing their soft skills to succeed in the global job market. It's a reminder that personal growth and improvement are essential elements on the path to fulfillment.

The author also reflects on their childhood fascination with history and the stories of ordinary people who became trusted advisors, making significant impacts on their communities. They see themselves as potential advisors, driven by empathy and a desire to help others succeed while achieving something bigger than themselves.

However, like many of us, the fear of failure and taking excessive risks can hold them back from pursuing their dreams. The blog post acknowledges the importance of balancing ambition with practicality and the fear of disappointing their family's expectations. It's a struggle many of us can relate to.

Fulfillment isn't just about the work itself; it's also about the relationships we have along the way. The author shares the tension between their ambitions and the potential impact on their personal relationships. Balancing personal and professional aspirations is a delicate dance that can sometimes require sacrifice and communication.

But amidst these challenges, the author reminds us that we don't need to be the wealthiest person in the world to find contentment. It's not just about the high salaries or working at prestigious companies. Fulfillment can be found in meaningful connections, side hustles, and opportunities to make a positive impact in the world.

Today's post encourages us to embrace complexity and actively seek work that we deeply appreciate. It's a call to align our passions, talents, and values to create a career that brings joy and purpose.

If you resonate with this journey and are seeking fulfillment in your own career, let's connect! I'd love to hear your stories and insights. Together, we can navigate the complexities and find work that truly enhances our lives.

That's it for today's episode of Continuous Improvement. I hope you found value and inspiration in the blog post we explored. Remember, fulfillment is a continuous pursuit, so let's keep improving together.

Thank you for tuning in, and until next time!

尋找充實的工作

上週,我從公司收到了一筆獎金。事情進行得很順利,這筆獎金作為一種良好的經濟獎勵,回報我過去一年的辛勤工作。在新加坡,獲得第13個月的薪資是相當標準的做法,而我收到的變動薪酬也符合行業慣例。我的薪資在外籍人士社區中大約屬於平均水平,讓我能維持單身的生活水平。儘管有這種經濟穩定性,我一直在思考我的職業發展並尋找我真正熱愛的工作。我也專注於產生更大的影響,而不僅僅是工作更努力來證明我的薪資價值。

與此同時,我在目前的角色中面臨一些挑戰。就在昨天,我在一個活動中遇到了一個新的客戶。雖然他友善且愉快,但當我試圖建立強而有力的商業關係時,我卻語無倫次。隨著我的公司成長,對我的軟性技能,包括演講,網絡和溝通能力的需求正在增加。我需要克服與陌生人交往的恐懼,並發展我的領導才能以成功於全球工作市場。

如果我唯一的目標是最大化收入和地位,我可能會成為一名全職銷售人員。他們擁有我崇敬的軟性技能:影響客戶的能力,謀求利潤和產生新的商業機會。傭金中的潛在收入也非常吸引人。然而,我避開了這條職業道路,因為我是個內向的人,面對陌生人並在社交場合保持高能量的想法讓我感到害怕。

在我還是個孩子的時候,我喜歡閱讀歷史書籍。我尤其被普通人通過他們卓越的溝通技能贏得信任,團結民族,打敗共同敵人,從而拯救他們的社區,最終崛起成為國王顧問的故事所吸引。這深深地吸引了我,儘管我的自身經驗僅限於策略性的電腦遊戲和寫作。激發我興趣的是策略元素——使用知識和策略來實現目標的樂趣。

作為一個成年人,我仍然重視策略。我不斷學習,閱讀書籍,並參加在線課程來吸收新資訊。我的願望是成為一個值得信賴的顧問,幫助他人成功並實現比我自己更大的事情。我被同理心和使他人快樂的樂趣所驅動。

我常常羨慕像埃隆·馬斯克,萊昂納多·狄卡皮歐等非常成功的人。然而,我意識到每條這樣的道路都伴隨著自身的挑戰和犧牲。相反,我專注於他們生活中我真正欽佩的方面,例如他們對世界的影響力或他們的財務能力。

我工作中的樂趣來自於賺錢,學習新技術,帶領團隊和幫助人們。我相信,通過協作解決複雜的現實世界問題可能導致私營部門創新和可擴展的解決方案。

如果我知道我不會失敗,我下一步將是創建我自己的企業,並構建一款可擺脫全球市場的可擴展產品。然而,我最大的恐懼是這個新企業可能不會盈利,並且我可以冒著過大的風險,導致財務破產。

我的家庭傾向於尊重傳統的職業角色,如工程,會計,廚藝等方面。他們對數位時代的職位,如 Scrum Master 或 Data Scientist不太熟悉。他們的主要憂慮是我要有一個穩定的,財富回報豐厚的職業。政治角色,特別是那些反對中國共產黨的角色,將是他們的擔憂。

然而,我渴望超越家庭的成就,成為具有國際視野和獨立經濟來源的人。我希望透過旅遊和科技普及幫助他們擴闊視野。

我的社交圈也有自己的挑戰。雖然我的大學同學和前商業合作夥伴支持我的野心,但我的女朋友則有不同的興趣和冒險胃口。這在追求我的熱情和投入關係的時間上造成了緊張。

最後,我需要聆聽的聲音是「內在的愛」。如果有人不喜歡我,重要的是記住我不能取悅所有人。

許多人夢想在像 Google 這樣的公司工作,著迷於他們的文化,前沿技術和高薪資。但同樣的好處也常常可以在科技新創企業,甚至在創業時找到。

儘管我有恐懼--創業,和陌生人說話,或公開演講--我不必成為世界上最富有的人才能感到滿足。創業、新機會和有意義的關係可以提供不只是能忍受的工作,還有充滿目標,友誼和創意的充實職業。

要實現這一點,我們需要集中研究找到真正充實工作的複雜性。如果您有同樣的目標,我很想聽聽您的看法。我們可以一起探索不只是付錢的工作,而是我們深深,非常欣賞的工作。

Business Strategy Recommendations

I recently took an online course called "Section4 Strategy Sprint." After learning about the strategies that define the most valuable firms worldwide, I am applying this framework to evaluate real-world companies and identify strategic opportunities. The company I have chosen to analyze is Thought Machine, where I work and which I am familiar with.

Overview of Thought Machine

Thought Machine is a product-based company that has developed a core banking solution, transforming the banking industry and empowering banks to offer innovative services to their customers.

Growth at Thought Machine

We recently raised $200 million in our Series C funding round, which involved industry-leading venture capitalists and major global banks like Nyca Partners, Molten Ventures, JPMorgan, and Standard Chartered. This brings our total funding to $350 million and values our company at over £1 billion.

Clients of Thought Machine

We work with a variety of clients, ranging from Tier 1 banks to challengers, including Atom Bank, Curve, Lloyds Banking Group, Monese, SEB, Standard Chartered, TransferGo, Arvest, ING, and JPMorgan Chase.

Products of Thought Machine

Our product, Vault, operates on cloud-native platforms like Amazon Web Services, Google Cloud Platform, and Microsoft Azure, eliminating the need for legacy technology. Vault can be configured through Smart Contracts to run any type of retail bank product, from current accounts to loans and mortgages.

T-Algorithm Strategies Evaluation

I am using the T-Algorithm framework for this analysis, which identifies strategies that have led companies like Apple, Google, Facebook, and Amazon to achieve trillion-dollar valuations. It enables explosive growth and substantial margins, and influential business leaders use it to focus on what matters most to customers while advancing key business priorities.

Traditional Tier 1 banks must adapt quickly to meet their customers' needs, making it a high business priority for Thought Machine's clients to transition from legacy systems to a more efficient, cloud-native technology stack.

1. Rundle

Rundle refers to a bundle of goods and/or services that generate recurring revenue. Banks are keen on reducing complexity and are often hindered by outdated, monolithic systems. Thought Machine offers a solution where banks can subscribe to our ledger, paying based on usage, which creates a recurring revenue model.

2. Appealing to Human Instinct

Successful businesses often appeal to a fundamental human instinct. In our case, we target the logical part of the human brain by offering practical and cost-effective solutions. Thought Machine attracts new banks with product advantages in stability, security, resilience, and cost-benefit.

3. Benjamin Button Effect

Products that leverage network effects become more valuable over time. Traditional banks often find it difficult to extract data from their legacy systems. Thought Machine's product offers the flexibility to integrate with other platforms, like Salesforce and Tableau, to resolve this issue.

4. Visionary Storytelling

This is the ability to articulate a bold vision effectively. Traditional banks often lack a deep culture of engineering excellence, whereas Thought Machine was founded by an ex-Googler with such a culture. This story has been beneficial in capital raising.

5. Vertical Integration

By owning as much of the value chain as possible, a firm can control the end-to-end customer experience. Banks prioritize cost, convenience, and speed, and Thought Machine addresses these needs by offering integrated solutions through partnerships.

6. Accelerant

An "accelerant" firm serves as a career springboard. Traditional Tier 1 banks are risk-averse and lack agility. At Thought Machine, our culture encourages continuous learning, high-quality work, and a great deal of fun.

T-Algorithm Strategy: Visionary Storytelling

Based on my analysis, the strategy with the most significant potential for Thought Machine is visionary storytelling. I propose that we articulate a simple, appealing, and believable vision for transforming the banking industry.

Future of Banking Initiatives

  1. Increase Social Media Presence of Our CEO (Low effort, High impact)

Just as Elon Musk is portrayed as an innovator, our CEO, Paul Taylor, could increase his online presence. We need a charismatic leader to challenge the status quo in the banking industry. Short videos on platforms like Instagram and TikTok could drive brand awareness.

  1. Engage with Technology Communities (Medium effort, High impact)

We should consider open-sourcing some of our technology to attract more developers. Organizing meetup groups with perks like free beer and pizza could engage the tech community. Weekly newsletters can keep the community updated.

  1. Deepen Connections with Banks (High effort, High impact)

Building a good reputation within the banking industry could help in raising additional funds. Partnering with top consulting firms like Accenture, Deloitte, and BCG could also be beneficial.

Next Steps

  1. Tweet more frequently from the CEO's Twitter account, emphasizing a bold vision.
  2. Open-source part of our technology and create a tech meetup group.
  3. Encourage our banking clients to share success stories using our product.

Any Questions?

I look forward to receiving feedback that will solidify my learnings and improve these recommendations. Don't hesitate to get in touch with me on LinkedIn: https://linkedin.com/in/victorleungtw

Business Strategy Recommendations

Welcome back, listeners, to another episode of Continuous Improvement. I'm your host, Victor, and today we have an exciting topic to discuss. But before we dive in, I wanted to share something interesting with you all. I recently took an online course called "Section4 Strategy Sprint" and let me tell you, it was eye-opening. The strategies I learned about are revolutionizing the way companies operate and helping them achieve remarkable growth. Today, we'll be applying these strategies to analyze a real-world company and identify strategic opportunities. The company we've chosen to analyze is none other than Thought Machine, where I have personal experience and insights. So, let's get started!

For those of you who may not be familiar, Thought Machine is a product-based company that has transformed the banking industry with its core banking solution, empowering banks to provide innovative services to their customers. They recently made headlines by raising $200 million in their Series C funding round, bringing their total funding to an impressive $350 million. With clients ranging from Tier 1 banks to challengers like Atom Bank and Curve, it's clear that Thought Machine is making waves in the industry.

Now, let's evaluate Thought Machine using the T-Algorithm framework. This framework has been used by trillion-dollar companies like Apple, Google, Facebook, and Amazon to achieve explosive growth and substantial margins. It focuses on what matters most to customers while advancing key business priorities. As we dive into the strategies, keep in mind that these are potential opportunities for Thought Machine.

The first strategy we'll discuss is Rundle. Rundle refers to a bundle of goods or services that generate recurring revenue. Traditional banks often face complexity due to outdated systems, and Thought Machine offers a solution where banks can subscribe to their ledger, paying based on usage. This creates a recurring revenue model that aligns well with the needs of banks.

The next strategy is all about appealing to human instinct, and this is where Thought Machine makes a strong case. By targeting the logical part of the human brain and offering practical and cost-effective solutions, they attract new banks with advantages in stability, security, resilience, and cost-benefit. It's definitely a winning strategy for them.

Moving on to the Benjamin Button Effect strategy, we have an interesting opportunity here. Traditional banks often struggle with extracting data from legacy systems. Thought Machine's product, Vault, offers the flexibility to integrate with other platforms like Salesforce and Tableau, solving this data extraction issue. Leveraging the power of network effects, Vault becomes more valuable over time.

Now, let's talk about Visionary Storytelling. This is the ability to articulate a bold vision effectively. Traditional banks often lack a deep culture of engineering excellence, whereas Thought Machine was founded by an ex-Googler with such a culture. This story has been beneficial for them in capital raising and could continue to be a driving force.

Vertical Integration is the next strategy on our list. By owning as much of the value chain as possible, a firm can control the end-to-end customer experience. Thought Machine addresses the needs of banks by offering integrated solutions through partnerships, prioritizing cost, convenience, and speed.

Lastly, we have Accelerant. Thought Machine's culture encourages continuous learning, high-quality work, and a great deal of fun. This culture sets them apart from traditional Tier 1 banks that are often risk-averse and lack agility. Being an accelerant firm serves as a career springboard for both the company and its employees.

Based on this evaluation, there is one key strategy that stands out for Thought Machine - Visionary Storytelling. Articulating a simple, appealing, and believable vision for transforming the banking industry could be a game-changer. So, let's dive into some specific initiatives to bring this strategy to life.

Firstly, increasing the social media presence of the CEO, Paul Taylor, could work wonders. Just like innovators such as Elon Musk, having a charismatic leader challenging the status quo in the banking industry can create a buzz. Short videos on platforms like Instagram and TikTok could help drive brand awareness and engage the audience.

Secondly, engaging with technology communities is essential. Thought Machine should consider open-sourcing some of their technology to attract more developers. Organizing meetup groups with perks like free beer and pizza can engage the tech community. Weekly newsletters can also keep the community updated and build a strong network.

Lastly, deepening connections with banks is crucial for raising additional funds and building a good reputation within the industry. Partnering with top consulting firms like Accenture, Deloitte, and BCG can be extremely beneficial. These partnerships can bring credibility and open doors to more opportunities.

Moving forward, here are the next steps to implement these initiatives:

First, Tweet more frequently from the CEO's Twitter account, emphasizing a bold vision. This will help in keeping the conversation going and capturing the attention of the audience.

Second, open-source part of our technology and create a tech meetup group. By doing so, Thought Machine can attract more developers, build a strong community, and establish themselves as thought leaders in the industry.

And finally, encourage our banking clients to share their success stories using our product. Published case studies and testimonials can be powerful tools to showcase the positive impact Thought Machine has made on their operations.

I'm thrilled about these proposed initiatives and I believe they have the potential to solidify Thought Machine's position as a frontrunner in the banking industry. I look forward to seeing how they implement these strategies and the incredible growth that awaits them.

That's all for today's episode of Continuous Improvement. Thank you for tuning in and joining me on this journey of analyzing and learning from real-world companies. If you have any questions or feedback, feel free to reach out to me on LinkedIn at linkedin.com/in/victorleungtw. Until next time, keep striving for continuous improvement!

商業策略建議

我最近上了一門名為「Section4 策略 Sprint」的線上課程。學習了關於定義全球最有價值公司的策略後,我正在應用這個框架來評估真實世界的公司並識別戰略機會。我選擇分析的公司是 Thought Machine,這是我工作的地方,我對它相當瞭解。

Thought Machine 概覽

Thought Machine 是一家產品為本的公司,已開發了核心銀行解決方案,改變了銀行業並賦權銀行向客戶提供創新服務。

Thought Machine 的成長

我們最近在我們的 C 輪資金籌集中籌集了 2 億美元,這涉及到了業界領先的風險投資者和全球主要銀行,如 Nyca Partners、Molten Ventures、摩根大通和渣打銀行。這使我們的總籌資額達到了 3.5 億美元,並使我們的公司估值超過了 10 億英鎊。

Thought Machine 的客戶

我們與各種客戶合作,範圍從第一層次銀行到挑戰者,包括 Atom Bank、Curve、Lloyds Banking Group、Monese、SEB、Standard Chartered、TransferGo、Arvest、ING和摩根大通。

Thought Machine的產品

我們的產品,Vault,運行在像亞馬遜網路服務、Google Cloud Platform 和 Microsoft Azure 這樣的雲原生平台上,消除了對傳統技術的需求。Vault可以通過 Smart Contracts 進行配置,運行任何類型的零售銀行產品,從當前的賬戶到貸款和抵押貸款。

T-Algorithm 策略評估

我在這次分析中使用了 T-Algorithm 框架,該框架識別了像蘋果、Google、Facebook 和 Amazon 這樣的公司取得億萬身價的策略。它能夠實現爆炸性的增長和大量的利潤,並且影響力強大的商業領袖使用它專注於客戶最關心的事情,同時推進關鍵的業務優先事項。

傳統的第一層次銀行必須迅速適應以滿足他們的客戶需求,這使得Thought Machine的客戶從傳統系統過渡到更有效,雲原生技術棧成為了高商業優先級的事項。

1. Rundle

Rundle 指的是能夠產生再生收入的商品和/或服務的捆綁。銀行渴望降低復雜性,並經常受到過時的、整塊的系統的阻礙。Thought Machine 提供了一種解決方案,銀行可以訂閱我們的帳本,根據使用量付費,這創造了一種常態收入模式。

2. 吸引人類本能

成功的企業通常會吸引一種基本的人類本能。在我們的案例中,我們通過提供實用且成本有效的解決方案來鎖定人類大腦的邏輯部分。Thought Machine 通過穩定性、安全性、韌性和成本效益上的產品優勢吸引新的銀行。

3. Benjamin Button Effect

利用網絡效應的產品隨著時間的推移變得更有價值。傳統銀行常常發現很難從他們的傳統系統中提取資料。Thought Machine的產品提供了與其他平台(如Salesforce和Tableau)集成的靈活性,以解決這個問題。

4. Visionary Storytelling

景觀敘事是能夠有效地闡述大膽願景的能力。傳統銀行通常缺乏深層的工程卓越文化,而 Thought Machine 由一位具有這種文化的前 Google 員工創立。這種故事在資金籌集中很有幫助。

5. 縱向整合

通過儘可能地讓一個公司擁有價值鏈,該公司可以控制端到端的客戶體驗。銀行優先考慮成本、方便性和速度,Thought Machine通過合作夥伴提供整合的解決方案來滿足這些需求。

6. Accelerant

一個"助燃劑"公司用作職業的跳板。傳統的第一層次銀行是保守的並且缺乏靈活性。在 Thought Machine,我們的文化鼓勵持續學習,高品質的工作,並有很多的樂趣。

T-Algorithm 策略:景觀敘事

根據我的分析,對 Thought Machine 最有潛力的策略是景觀敘事。我建議我們為改變銀行業的形象擁有一個簡單,吸引人,並有說服力的視野。

銀行業的未來

  1. 增加我們 CEO 的社交媒體存在(低費力,高影響力)

正如 Elon Musk 被描繪為創新者一樣,我們的 CEO,Paul Taylor,可以增加他的網路存在感。我們需要一位有魅力的領導者來挑戰銀行業的現狀。在 Instagram 和 TikTok 等平台上的短片可以提高品牌知名度。

  1. 與科技社群交流(中等費力,高影響力)

我們應該考慮開源一部分我們的技術以吸引更多的開發者。組織附帶免費啤酒和披薩等禮品的聚會可以讓科技社區的人們積極參與。每週的新聞通訊可以讓社區的人們保持更新。

  1. 與 Banks 建立更深的聯繫(高費力,高影響力)

在銀行業建立良好的聲譽可以幫助我們籌集更多的資金。與頂尖的諮詢公司如 Accenture,Deloitte,和 BCG 的合作也可能會有所幫助。

下一步

  1. 從 CEO 的 Twitter 帳號發布更多的推文,強調大膽的願景。
  2. 開源我們的一部分技術並創建一個科技聚會小組。
  3. 鼓勵我們的銀行客戶分享他們使用我們產品的成功經驗。

有任何問題?

我期待收到能夠鞏固我學習並改進這些建議的反饋。歡迎您通過 LinkedIn 與我聯繫:https://linkedin.com/in/victorleungtw

Making API call from Google Sheet

Imagine you are a business user and your favourite tool of all time is Excel. You are not technical enough to do coding, but you are comfortable writing functions, calculating in the spreadsheet and plotting graphs. In this article, I am going to show you how to write simple scripts in Google Sheets, so that you can make a simple API call from it and do a lot more powerful tabulation. It is easy to use with no installation required.

Firstly, open a new blank Google Sheet. We would then make use of two of the cells as the input coordinates. We can get the values from this cell using Google Sheets later on. In this example, we make B1 and B2 as variables for the datetime and date respectively.

Secondly, we create a button. From the top navigation tool, simply click on “Insert” and then “Drawing” option. And we would draw a rectangle button with text “Get Air Temperature”. Click save and close to create the new button.

Right click on the new button and select “Assign a script”. We would input the value “getAirTemperature” for now and we will create the method later.

Third step, in the navigation bar, select “Extensions” and then select “App Scripts”. Similar to Microsoft Excel Visual Basic macro script, we are going to write some Javascript instead, where all the magic happens.

In the code editor, copy and paste the code below:

function getAirTemperature() {
    // Getting input values from Google Sheet
    let ui = SpreadsheetApp.getUi();
    let sheet = SpreadsheetApp.getActiveSheet();

    // Google Sheet Cell - [Row, Column]
    let inputCoordinates = {
        datetime: [1, 2],
        date:
  created: [2, 2],
    }

    let outputCoordinates = {
        stations: [2, 4],
        readings: [2, 6]
    }

    let datetime = sheet.getRange(
        inputCoordinates.datetime[0],
        inputCoordinates.datetime[1]
    ).getValue();

    let date = sheet.getRange(
        inputCoordinates.date[0],
        inputCoordinates.date[1]
    ).getValue();

    let result = ui.alert(
        'Please confirm the following parameter:',
        'datetime' + ":" + datetime + "\n" +
        'date' + ":" + date + "\n",
        ui.ButtonSet.YES_NO);

    if (result == ui.Button.YES) {

        // Make HTTP call to Weather API
        let apiCaller = ApiCaller()
        let response = apiCaller.getAirTemperature(datetime, date);
        Logger.log(response.getContentText());

        ui.alert('Get waether data successfully');

        let data = JSON.parse(response.getContentText());
        let stations = data["metadata"]["stations"];
        let readings = data["items"][0]["readings"];

        for (let i = 0; i < stations.length; i++) {
            // Setting output values to Google Sheet
            sheet.getRange(
                outputCoordinates.stations[0] + i,
                outputCoordinates.stations[1]
            ).setValue([stations[i]["name"]]);

            sheet.getRange(
                outputCoordinates.readings[0] + i,
                outputCoordinates.readings[1]
            ).setValue([readings[i]["value"]]);
        }


    } else {
        ui.alert('Permission denied.');
    }

}

ApiCaller = function () {

    var weatherApi = {
        "airTemperature": {
            "method": "GET",
            "endpoint": "https://api.data.gov.sg/v1/environment/air-temperature"
        }
    }

    return {

        getAirTemperature: function (datetime, date) {

            datetime = datetime.replace(/"/g, "")
            date = date.replace(/"/g, "")

            var method = weatherApi.airTemperature.method
            var url = weatherApi.airTemperature.endpoint + "?date_time=" + datetime + "&date=" + date

            var options = {
                "method": method,
                "contentType": "application/json",
                "headers": {
                    "Content-Type": "application/json"
                }
            };

            return UrlFetchApp.fetch(url, options)
        }
    }

}

If you don’t understand what’s the code is doing, don’t panic, let me explain: when the button is clicked, the getAirTemperature function is triggered. It then get input values from Google Sheets, pop up an alert button for user confirmation. Once it’s confirmed, it makes an API call with UrlFetchApp.fetch to get the Singpaore temperature and finally it loop through all the results to display the output.

The first click on the button, you would be prompt with this message.

Go ahead and click continue, login and continue with unsafe options for development purposes.

Then an alert would popup to asked for confirmation of input values:

Click “Yes” to continue. If everything goes well, you should see the success confirmation.

Finally, we get the temperate values from API call and output the result in the Google Sheet.

As simple as that.

If you are a developer instead of a business user, you may want to edit the script in your favourite code editor, such as VScode and get a better source version control. Instead of editing using the online Apps Script editor, you can use the Command Line Interface clasp to develop locally. Once you’ve installed Node.js, you can use the following npm command to install:

npm install @google/clasp

Then follow the instructions on this doc:

https://developers.google.com/apps-script/guides/clasp

e.g.

clasp login
clasp clone <your Script ID>

Make changes in your VS code editor, then upload the new AppScript.

clasp push

Note: you may need to enable Apps Script API by visiting https://script.google.com/home/usersettings then retry.

Overall, Google Sheets is a powerful tool for you to do computation. It is even more useful given that you can do API calls from it directly for more complex use cases. You can use it as a frontend for doing calculations and it’s very user friendly to business users instead of using custom build UI. Let me know if you have any questions about making API call from Google Sheet. Happy coding!

Making API call from Google Sheet

Welcome back to Continuous Improvement, the podcast where we explore different strategies and techniques to enhance our productivity and achieve constant growth. I'm your host, Victor, and today we have an exciting topic for all our business users out there who love working with spreadsheets. We'll be discussing how to write simple scripts in Google Sheets to revolutionize your data analysis and make powerful API calls. So, let's dive right in!

Picture this scenario: you're a business user who loves using Excel as your go-to tool. You're comfortable writing functions, calculating in spreadsheets, and even creating visualizations. But what if I told you that you can take it a step further and make API calls directly from Google Sheets? No coding required! In this episode, I'll guide you through the process of writing simple scripts to fetch data from APIs, enabling you to perform more powerful tabulations and analysis. And the best part? It's all done within the user-friendly environment of Google Sheets. No need for complex installations!

Firstly, open a new blank Google Sheet. We'll use two cells as input coordinates. In this example, I'll let B1 and B2 represent variables for datetime and date, respectively.

Secondly, to create a button, click on "Insert" in the top navigation toolbar, then select "Drawing." Draw a rectangular button labeled "Get Air Temperature." Save and close the drawing to create the button.

Next, right-click on the newly created button and select "Assign a script." For now, let's input the value "getAirTemperature." We'll create the method for this script later.

Moving on, in the navigation bar, select "Extensions" and then "App Scripts." Here, we'll write JavaScript code to perform the magic, similar to creating a Visual Basic macro script in Microsoft Excel.

In the code editor, copy and paste the provided script. Don't worry if you don't understand all the details—we'll go through it together. This script acts as a trigger when the button is clicked. It retrieves input values from the Google Sheet, prompts the user for confirmation, makes an API call using the UrlFetchApp.fetch function, and displays the output in the spreadsheet.

The first time you click on the button, you'll be prompted to give permission for this custom script to run. Since this is for development purposes, click "Continue," log in, and choose the option to continue with unsafe settings.

Next, an alert will pop up asking for confirmation of the input values retrieved from the Google Sheet. Click "Yes" to continue. If everything goes well, you should see a success confirmation. The temperature values from the API call are then displayed in the Google Sheet.

If you're a developer rather than a business user and prefer working with your own code editor, such as VScode, you can edit the script in a more familiar environment. You can even use the command-line interface tool called "clasp" to develop locally. This allows for better source version control. To get started, make sure you have Node.js installed and run the following command in your terminal:

npm install @google/clasp

Then follow the instructions in the documentation, specifically the guide for clasp, to set it up. Once you've installed clasp and configured it, you can clone your script using the command:

clasp clone <your Script ID>

You can then make changes in your preferred code editor, such as VScode, and upload the new AppScript using:

clasp push

Note that you may need to enable the Apps Script API by visiting https://script.google.com/home/usersettings. This will ensure a smooth process.

To summarize, Google Sheets is a powerful tool for computations, and being able to make API calls directly from it opens up even more possibilities for complex data analysis. You can leverage Google Sheets as a frontend for calculations and provide a user-friendly experience for business users, rather than relying on custom-built UIs. Feel free to reach out if you have any questions about making API calls from Google Sheets. And remember, happy coding!

That brings us to the end of another insightful episode of Continuous Improvement. I hope you've learned something valuable today and are inspired to explore the endless capabilities of Google Sheets. Stay tuned for more episodes where we'll continue to uncover strategies for personal and professional growth. I'm Victor, your host, signing off until next time. Keep improving and embrace the power of continuous growth!

從Google試算表發起API呼叫

想象一下,你是一位商業用戶,你最喜歡的工具是Excel。你可能不足夠技術化來編碼,但你很擅長寫函數、在試算表中計算和繪圖。在這篇文章中,我將向你展示如何在Google試算表中編寫簡單的指令碼,這樣你就可以從中發出一個簡單的API呼叫,並做更多強大的計算。使用起來非常容易,無需安裝。

首先,開啓一個新的空白Google試算表。然後我們會利用兩個單元格作為輸入坐標。我們可以稍後從Google試算表獲取這個單元格的值。在這個例子中,我們將B1和B2作為日期時間和日期的變數。

其次,我們創建一個按鈕。从上方的导航工具中,简单地点击“插入”然后选择“画图”选项。然后我们会画一个带有“获取空气温度”文字的矩形按钮。点击保存并关闭以创建新按钮。

在新创建的按钮上点击右键并选择“分配脚本”。我们现在先输入“getAirTemperature”,稍后我们再来创建这个方法。

第三步,在导航栏中,选择“扩展”然后选择“应用脚本”。我们将编写一些Javascript代码,类似于微软Excel的视觉基本宏脚本,所有的魔力都会在这里发生。

在代码编辑器里,复制并粘贴下面的代码:

function getAirTemperature() {
    // 使用Google試算表獲取輸入值
    let ui = SpreadsheetApp.getUi();
    let sheet = SpreadsheetApp.getActiveSheet();

    // Google試算表單元格 - [行, 列]
    let inputCoordinates = {
        datetime: [1, 2],
        date:
  created: [2, 2],
    }

    let outputCoordinates = {
        stations: [2, 4],
        readings: [2, 6]
    }

    let datetime = sheet.getRange(
        inputCoordinates.datetime[0],
        inputCoordinates.datetime[1]
    ).getValue();

    let date = sheet.getRange(
        inputCoordinates.date[0],
        inputCoordinates.date[1]
    ).getValue();

    let result = ui.alert(
        '請確認以下參數:',
        'datetime' + ":" + datetime + "\n" +
        'date' + ":" + date + "\n",
        ui.ButtonSet.YES_NO);

    if (result == ui.Button.YES) {

        // 對天氣API發送HTTP呼叫
        let apiCaller = ApiCaller()
        let response = apiCaller.getAirTemperature(datetime, date);
        Logger.log(response.getContentText());

        ui.alert('成功獲取氣象數據');

        let data = JSON.parse(response.getContentText());
        let stations = data["metadata"]["stations"];
        let readings = data["items"][0]["readings"];

        for (let i = 0; i < stations.length; i++) {
            // 將輸出值設置到Google試算表
            sheet.getRange(
                outputCoordinates.stations[0] + i,
                outputCoordinates.stations[1]
            ).setValue([stations[i]["name"]]);

            sheet.getRange(
                outputCoordinates.readings[0] + i,
                outputCoordinates.readings[1]
            ).setValue([readings[i]["value"]]);
        }


    } else {
        ui.alert('權限被拒絕。');
    }

}

ApiCaller = function () {

    var weatherApi = {
        "airTemperature": {
            "method": "GET",
            "endpoint": "https://api.data.gov.sg/v1/environment/air-temperature"
        }
    }

    return {

        getAirTemperature: function (datetime, date) {

            datetime = datetime.replace(/"/g, "")
            date = date.replace(/"/g, "")

            var method = weatherApi.airTemperature.method
            var url = weatherApi.airTemperature.endpoint + "?date_time=" + datetime + "&date=" + date

            var options = {
                "method": method,
                "contentType": "application/json",
                "headers": {
                    "Content-Type": "application/json"
                }
            };

            return UrlFetchApp.fetch(url, options)
        }
    }

}

如果你不理解这段代码在做什么,别慌,我来解释:当点击按键时,getAirTemperature方法会被触发。这个方法会从Google试算表中获取输入值,弹出一个等待用户确认的提示框。一旦用户确认,它就会使用UrlFetchApp.fetch发出一个API呼叫,获取新加坡的温度,然后它会遍历所有结果并显示输出。

第一次在按钮上点击,你会看到下面这条消息。

继续进行,登陆并选继续进行不安全的选项进行开发。

然后一個彈出式視窗會詢問是否確認輸入值:

點擊“是”繼續。如果一切順利,你應該可以看到成功確認的信息。

最后,我們從API調用中獲取溫度值,並將結果輸出到Google試算表。

就是这么简单。

如果你是一位开发人员而不是商业用户,你可能希望在你最喜欢的代码编辑器进行脚本更改,如VScode,并获取更好的源版本控制。你可以使用命令行界面clasp在你本地进行开发,而不是在线使用Apps Script编辑器。一旦你已经安装了Node.js,你可以使用以下的npm命令进行安装:

npm install @google/clasp

然后根据这个文档的说明操作:

https://developers.google.com/apps-script/guides/clasp

例如:

clasp login
clasp clone <你的脚本ID>

在你的VS code编辑器里进行更改,然后上传新的应用脚本。

clasp push

注意:你可能需要在访问https://script.google.com/home/usersettings后,再重新启用 Apps Script API。

总的来说,Google试算表是一个强大的用于计算的工具,从中直接发起API调用對於更复杂的使用场景而言更有用。你可以将它用作进行计算的前端,而对于商务用户来说,它比使用定制的UI更加友好。如果你有任何关于從Google試算表發出API調用的問題,請让我知道。编码愉快!