<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Kenneth Mak</title>
    <link>https://www.kennethmak.com</link>
    <description>Software engineer and builder from Singapore, writing about products, mobile apps, and the systems behind them.</description>
    <language>en-us</language>
    <lastBuildDate>Sun, 30 Aug 2026 07:14:44 GMT</lastBuildDate>
    <atom:link href="https://www.kennethmak.com/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>I stopped asking users to sign up</title>
      <link>https://www.kennethmak.com/writing/i-stopped-asking-users-to-sign-up</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/i-stopped-asking-users-to-sign-up</guid>
      <pubDate>Sun, 30 Aug 2026 07:00:00 GMT</pubDate>
      <description>Most apps make you choose between signing in and signing up. I eventually changed my backend and authentication architecture so the front door became a single button, letting the server figure out whether you exist.</description>
      <category>Development</category>
      <category>Architecture</category>
      <category>Architecture</category>
      <category>Authentication</category>
      <category>Firebase</category>
      <category>Appwrite</category>
      <category>Flutter</category>
    </item>
    <item>
      <title>I wanted a Google Knowledge Panel for the wrong reason</title>
      <link>https://www.kennethmak.com/writing/i-wanted-a-google-knowledge-panel-for-the-wrong-reason</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/i-wanted-a-google-knowledge-panel-for-the-wrong-reason</guid>
      <pubDate>Sun, 30 Aug 2026 06:40:00 GMT</pubDate>
      <description>I used to think getting a Google Knowledge Panel was a status symbol for an ambitious founder. When one finally appeared, I realized the panel was just a side effect of doing real work and leaving clean evidence.</description>
      <category>Reflections</category>
      <category>Building</category>
      <category>SEO</category>
      <category>Personal branding</category>
      <category>Google</category>
      <category>Shopmatey</category>
    </item>
    <item>
      <title>I kept applying to accelerators until I asked a better question</title>
      <link>https://www.kennethmak.com/writing/i-kept-applying-to-accelerators-until-i-asked-a-better-question</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/i-kept-applying-to-accelerators-until-i-asked-a-better-question</guid>
      <pubDate>Sun, 30 Aug 2026 06:28:00 GMT</pubDate>
      <description>I used to treat accelerator applications as an obvious habit for an ambitious builder. An interview with Antler Singapore in 2025 forced me to ask a different question: was I building the kind of company that actually needed venture capital?</description>
      <category>Building</category>
      <category>Reflections</category>
      <category>Startups</category>
      <category>Funding</category>
      <category>Antler</category>
      <category>Reflections</category>
    </item>
    <item>
      <title>I tried making Instagram DMs the login screen</title>
      <link>https://www.kennethmak.com/writing/i-tried-making-instagram-dms-the-login-screen</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/i-tried-making-instagram-dms-the-login-screen</guid>
      <pubDate>Sun, 30 Aug 2026 06:10:00 GMT</pubDate>
      <description>I built an Omni experiment where sending an Instagram DM bootstrapped a guest account and started conversational onboarding. Removing signup friction was easy. Losing control of conversation boundaries was the interesting part.</description>
      <category>Building</category>
      <category>Development</category>
      <category>Omni</category>
      <category>Instagram</category>
      <category>Product</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Why I gave my AI companion a place to live</title>
      <link>https://www.kennethmak.com/writing/why-i-gave-my-ai-companion-a-place-to-live</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/why-i-gave-my-ai-companion-a-place-to-live</guid>
      <pubDate>Sun, 30 Aug 2026 05:50:00 GMT</pubDate>
      <description>AI Town made me realize an AI character did not have to exist only inside an empty chat window. That idea eventually led to Omni Companion: one companion, one living room, and a different way to think about presence.</description>
      <category>Building</category>
      <category>AI</category>
      <category>Omni</category>
      <category>AI</category>
      <category>Architecture</category>
      <category>Mobile</category>
    </item>
    <item>
      <title>The &apos;digital clone&apos; was early. The agent wasn&apos;t.</title>
      <link>https://www.kennethmak.com/writing/the-digital-clone-was-early-the-agent-wasnt</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/the-digital-clone-was-early-the-agent-wasnt</guid>
      <pubDate>Sun, 30 Aug 2026 04:50:00 GMT</pubDate>
      <description>In 2024, everyone pitched a &apos;digital clone&apos; that would do your chores. By 2026, the question isn&apos;t whether AI can act for you, but how much context, permission, and autonomy you actually want to hand over.</description>
      <category>Building</category>
      <category>AI</category>
      <category>Agents</category>
      <category>AI</category>
      <category>Workflows</category>
      <category>Product</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>Why I moved away from FlutterFlow when infrastructure started to matter</title>
      <link>https://www.kennethmak.com/writing/why-i-moved-away-from-flutterflow</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/why-i-moved-away-from-flutterflow</guid>
      <pubDate>Sun, 30 Aug 2026 04:46:55 GMT</pubDate>
      <description>I liked building Shopmatey with FlutterFlow. I moved away when owning the backend and keeping infrastructure costs predictable became more important than minimizing the first version.</description>
      <category>Mobile</category>
      <category>Development</category>
      <category>Flutter</category>
      <category>FlutterFlow</category>
      <category>Architecture</category>
    </item>
    <item>
      <title>What a LinkedIn lead funnel is actually doing</title>
      <link>https://www.kennethmak.com/writing/linkedin-leads-playbook</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/linkedin-leads-playbook</guid>
      <pubDate>Sun, 30 Aug 2026 04:36:22 GMT</pubDate>
      <description>Most LinkedIn advice stops at attention. This is a look at what comes next: turning a useful post into permission, trust, and a real conversation.</description>
      <category>Building</category>
      <category>LinkedIn</category>
      <category>Automation</category>
      <category>Consulting</category>
    </item>
    <item>
      <title>Why I chose FlutterFlow when I was starting out</title>
      <link>https://www.kennethmak.com/writing/why-i-chose-flutterflow</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/why-i-chose-flutterflow</guid>
      <pubDate>Sun, 30 Aug 2026 03:13:24 GMT</pubDate>
      <description>A retrospective on why FlutterFlow made sense when I was trying to get Shopmatey onto both platforms and still figuring out what the product should become.</description>
      <category>Mobile</category>
      <category>Development</category>
      <category>Flutter</category>
      <category>FlutterFlow</category>
      <category>Shopmatey</category>
      <category>Cross-platform</category>
    </item>
    <item>
      <title>So, I started a thing. Then another thing.</title>
      <link>https://www.kennethmak.com/writing/so-i-started-a-thing-then-another</link>
      <guid isPermaLink="true">https://www.kennethmak.com/writing/so-i-started-a-thing-then-another</guid>
      <pubDate>Sat, 15 Nov 2025 06:58:07 GMT</pubDate>
      <description>The story of my first startup, Shopmatey, the lessons learned, and how it led to what I&apos;m building now with Omni.</description>
      <category>Building</category>
      <category>Reflections</category>
      <category>Shopmatey</category>
      <category>Omni</category>
      <category>Startups</category>
      <category>Building in public</category>
    </item>
  </channel>
</rss>