Skip to content

feat(route): add caicai blog#21741

Merged
TonyRL merged 2 commits intoDIYgod:masterfrom
TonyRL:feat/caicai
Apr 14, 2026
Merged

feat(route): add caicai blog#21741
TonyRL merged 2 commits intoDIYgod:masterfrom
TonyRL:feat/caicai

Conversation

@TonyRL
Copy link
Copy Markdown
Collaborator

@TonyRL TonyRL commented Apr 14, 2026

Involved Issue / 该 PR 相关 Issue

Close #20876

Example for the Proposed Route(s) / 路由地址示例

/caicai/blog

New RSS Route Checklist / 新 RSS 路由检查表

  • New Route / 新的路由
  • Anti-bot or rate limit / 反爬/频率限制
    • If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?
  • Date and time / 日期和时间
    • Parsed / 可以解析
    • Correct time zone / 时区正确
  • New package added / 添加了新的包
  • Puppeteer

Note / 说明

@github-actions github-actions Bot added the route label Apr 14, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Auto Review

No clear rule violations found in the current diff.

@github-actions
Copy link
Copy Markdown
Contributor

Successfully generated as following:

http://localhost:1200/caicai/blog - Success ✔️
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>CaiCai&#39;s Blog - Product Notes &amp; Stories</title>
    <link>https://www.caicai.me/blogs</link>
    <atom:link href="http://localhost:1200/caicai/blog" rel="self" type="application/rss+xml"></atom:link>
    <description>A journal where I share essays, product learnings, and startup stories. - Powered by RSSHub</description>
    <generator>RSSHub</generator>
    <webMaster>contact@rsshub.app (RSSHub)</webMaster>
    <language>en</language>
    <image>
      <url>https://www.caicai.me/images/web_image.png</url>
      <title>CaiCai&#39;s Blog - Product Notes &amp; Stories</title>
      <link>https://www.caicai.me/blogs</link>
    </image>
    <lastBuildDate>Tue, 14 Apr 2026 17:41:32 GMT</lastBuildDate>
    <ttl>5</ttl>
    <item>
      <title>Project Hail Mary</title>
      <description>&lt;p&gt;Honestly, Project Hail Mary doesn&#39;t hold a candle to Interstellar. Nolan&#39;s whole thing with spacetime folding, gravitational equations, TARS cracking jokes in the void... that&#39;s a different beast entirely. But walking out of Hail Mary, I realized my brain wasn&#39;t comparing the two. It was stuck on two things. On the drive home, still thinking. Lying in bed, still thinking.&lt;/p&gt;&lt;p&gt;Nothing to do with the VFX. Nothing to do with Gosling&#39;s acting. Just two choices: Stratt&#39;s choice, and Grace&#39;s choice.&lt;/p&gt;&lt;p&gt;This film has its own thing going on. It doesn&#39;t try too hard. It doesn&#39;t milk your emotions. But somehow it just stays with you.&lt;/p&gt;&lt;h2&gt;The Chosen One (Who Didn&#39;t Choose)&lt;/h2&gt;&lt;p&gt;Grace didn&#39;t volunteer.&lt;/p&gt;&lt;p&gt;The movie plays this pretty softly, but if you think about it, it&#39;s actually brutal. He was the only scientist who voted against the crewed mission. He didn&#39;t want to die. He made that very clear.&lt;/p&gt;&lt;p&gt;And then Stratt picked him.&lt;/p&gt;&lt;p&gt;Not because he was brave. Precisely because he was afraid to die. Stratt&#39;s logic was razor sharp: a person who fears death will do anything to survive, will exhaust every option to finish the mission and make it back.&lt;/p&gt;&lt;p&gt;In other words, his fear was treated as an exploitable resource.&lt;/p&gt;&lt;p&gt;In the end, he was sedated and loaded onto a spaceship. When he woke up, his memory was gone, two dead crewmates beside him, and he had no idea why he was there.&lt;/p&gt;&lt;p&gt;It reminded me of that interrogation scene in Unthinkable. That suffocating moral dilemma. &lt;strong&gt;Do we have the right to sacrifice one person to save the many?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Stratt&#39;s answer: yes. Without hesitation.&lt;/p&gt;&lt;p&gt;She could commandeer any nation&#39;s resources, bypass all due process, strap an unwilling man to a rocket. In her calculus, when 8 billion lives are on the line, one person&#39;s free will is a rounding error. It&#39;s not kidnapping. It&#39;s &quot;a necessary cost.&quot;&lt;/p&gt;&lt;p&gt;I get it. But I can&#39;t fully get behind it.&lt;/p&gt;&lt;p&gt;Because the fatal flaw in that logic is this: it only holds up when the outcome is right. What if Grace had died on the way? What if the mission had failed? Then he&#39;d just be another ordinary person crushed by the machinery of state. Nobody would remember him. Nobody would be held accountable.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;A correct outcome doesn&#39;t retroactively justify the process.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;But what makes the film interesting is that it never lets you pick a comfortable side. You&#39;ll think Stratt is cold, but you also know she might be right. You&#39;ll feel for Grace, but you also know that without him, Earth might be done.&lt;/p&gt;&lt;p&gt;That tension, that refusal to resolve neatly, is what gives this movie its real edge.&lt;/p&gt;&lt;hr&gt;&lt;h2&gt;The Universe Is Vast. We Are Not.&lt;/h2&gt;&lt;p&gt;There&#39;s a shot in the film that stuck with me. Grace standing at the ship&#39;s viewport, staring out at a completely alien star system. No Earth. No Sun. Not a single familiar point of reference.&lt;/p&gt;&lt;p&gt;In that moment I felt it viscerally: we are so incredibly small.&lt;/p&gt;&lt;p&gt;What do we spend our days on? Performance reviews, KPIs, mortgages, follower counts, the next funding round. On a cosmic scale, none of it even qualifies as dust. The Astrophage in the film devours stellar energy without a shred of malice. It doesn&#39;t know what humans are. It doesn&#39;t care. Whether we live or die is genuinely irrelevant to the universe.&lt;/p&gt;&lt;p&gt;And I think that&#39;s actually a good thing.&lt;/p&gt;&lt;p&gt;Because once you truly internalize how small you are, you start asking: so what actually matters?&lt;/p&gt;&lt;p&gt;Not your title. Not your bank balance. Not how many articles you&#39;ve published or awards you&#39;ve collected. These things might not even matter across a single human lifespan, let alone on a cosmic timeline.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What endures is connection.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Grace and Rocky&#39;s friendship is the part of this film that hit me hardest. A human and an alien. No shared language. Completely different survival needs. They don&#39;t even share the same sensory system. Rocky has no eyes and &quot;sees&quot; through sound waves. And yet they became friends.&lt;/p&gt;&lt;p&gt;Not because of some grand save-the-world mission. But because out there in that endless void, encountering another being who&#39;s also just trying to stay alive is, in itself, extraordinary.&lt;/p&gt;&lt;p&gt;It made me think about my own life. Every day it&#39;s product work, business stuff, an endless stream of small fires. But the moments that actually make me feel like the day wasn&#39;t wasted are never about how many tasks I knocked out. It&#39;s a genuine conversation with someone. It&#39;s someone pulling me up when things got rough.&lt;/p&gt;&lt;p&gt;So when you step back, the film is really about two fundamentally different choices.&lt;/p&gt;&lt;p&gt;Stratt sacrificed one real person to save an abstract humanity.&lt;/p&gt;&lt;p&gt;Grace abandoned an abstract mission to protect one real friend.&lt;/p&gt;&lt;p&gt;He chose to stay in the Tau Ceti system, to help Rocky&#39;s planet through its crisis, giving up his ticket home. Rationally, it made no sense. He was Earth&#39;s envoy. He had a mission. Earth was waiting on his data. But he chose Rocky anyway.&lt;/p&gt;&lt;p&gt;Who was right? I honestly don&#39;t know.&lt;/p&gt;&lt;p&gt;But I&#39;m becoming more and more convinced that in the short time we have, the moments that truly make life feel worth living are rarely the grand narratives. They&#39;re the small, quiet things. The moment you look at another living being and say, &quot;I&#39;m not leaving you behind.&quot;&lt;/p&gt;&lt;p&gt;As Rocky would put it, &lt;strong&gt;Amaze. Amaze. Amaze.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Finding each other out here in the endless dark. That alone is amazing enough.&lt;/p&gt;</description>
      <link>https://www.caicai.me/blogs/project-hail-mary-</link>
      <guid isPermaLink="false">https://www.caicai.me/blogs/project-hail-mary-</guid>
      <pubDate>Fri, 27 Mar 2026 16:00:00 GMT</pubDate>
      <enclosure url="https://www.caicai.me/images/blog/c44aaf2d432cd04c234eb603ed99c5dc.jpg" type="image/jpeg"></enclosure>
      <category>Living in Canada</category>
    </item>
    <item>
      <title>Is the End of Traditional SaaS Actually Here?</title>
      <description>&lt;p&gt;With products like OpenClaw still riding a wave of hype, I&#39;ve been chatting with a bunch of founders in North America lately, and I&#39;ve noticed something. People are genuinely pessimistic about the future of SaaS. Not the usual &quot;market&#39;s rough&quot; kind of grumbling. It&#39;s something deeper. There&#39;s this creeping sense that the fundamental logic SaaS has relied on for the past decade might be falling apart at the seams.&lt;/p&gt;&lt;p&gt;From the data, it is hard to deny this point. Since the beginning of 2026, the IGV ETF (which tracks major U.S. software stocks) has fallen by about 23%. In the first week of February alone, the entire software industry&#39;s market value evaporated by nearly $1 trillion. Forrester even described the severity of the situation as the &quot;SaaS apocalypse.”&lt;/p&gt;&lt;p&gt;We&#39;re building a SaaS product ourselves, so this hits close to home. We&#39;re both players and witnesses. That&#39;s why I wanted to write down some of my thoughts.&lt;/p&gt;&lt;h2&gt;SaaS Won&#39;t Die Overnight, But That&#39;s Not the Good News You Think It Is&lt;/h2&gt;&lt;p&gt;Let me start with an unsexy take: traditional SaaS isn&#39;t going to vanish anytime soon.&lt;/p&gt;&lt;p&gt;The reasoning is pretty straightforward. I&#39;ve watched a lot of traditional companies, including plenty outside of tech, start dipping their toes into AI. It&#39;s a lot like how they first adopted SaaS years ago. But going from buying an off-the-shelf SaaS product to having AI handle everything? &lt;strong&gt;The gap between those two isn&#39;t a technology problem. It&#39;s a management and mindset problem.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Let&#39;s be real. Most executives are used to the rhythm of &quot;buy a system, train the team, roll it out.&quot; Getting them to believe &quot;you don&#39;t need a system anymore, AI just does it for you.&quot; That&#39;s not something a product demo can fix. &lt;strong&gt;Mindset, habits, judgment. Those three things are the real blockers.&lt;/strong&gt; Organizational inertia is massive, and it doesn&#39;t just disappear because AI got smarter.&lt;/p&gt;&lt;p&gt;On top of that, domain expertise still matters. Healthcare, supply chain, finance. The SaaS products behind these industries are built on years of regulatory compliance and specialized know-how. You can&#39;t just run a language model a few times and call it a day.&lt;/p&gt;&lt;p&gt;But here&#39;s the scariest part: a lot of people genuinely don&#39;t believe this shift is real. They&#39;re comfortable with what&#39;s working. Think about it: if you&#39;re already a top-ten player in your vertical and you&#39;ve been thriving under the current model, why would you change anything?&lt;/p&gt;&lt;p&gt;So yes, SaaS is still alive in the short term. It&#39;s protected by two walls: domain expertise and cognitive inertia.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;But that&#39;s not good news. Because the slowness creates a false sense of security. People think they still have time.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;The Foundation Is Being Replaced&lt;/h2&gt;&lt;p&gt;If you&#39;re in the SaaS business, the past year probably felt... fine. The numbers might even look okay. But if you zoom out and look at AI&#39;s trajectory from a different angle, there&#39;s something that should make all of us stop and think.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;AI isn&#39;t competing with SaaS on any single feature. It&#39;s quietly rebuilding the entire foundation, the very foundation that the current SaaS model depends on to survive.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Think about the last three years. AI started with text generation. Then images, then video. When ChatGPT first came out, most people figured AI was just for writing docs, making graphics, maybe cranking out a slide deck. The imagination was limited. It was all about personal productivity. So a lot of SaaS founders naturally thought, &quot;A tool that writes copy for people? What does that have to do with my CRM? I&#39;m fine.&quot;&lt;/p&gt;&lt;p&gt;But then AI coding showed up. Suddenly, regular people could describe what they wanted in plain English and get a working webpage, an app, even a full system or an agent. All those low-code and no-code companies that spent years trying to lower the barrier to &quot;build your own&quot;? They were still stuck in the old paradigm. Drag and drop all you want, but underneath it&#39;s still databases plus business logic plus UI. The complexity didn&#39;t go away; it just got hidden. &lt;strong&gt;What makes AI different is that data and business logic can now run in incredibly lightweight ways, so lightweight that you don&#39;t even need a &quot;product&quot; to contain them.&lt;/strong&gt; That&#39;s what actually kills the low-code playbook. AI didn&#39;t just lower the barrier. It kicked the door off its hinges.&lt;/p&gt;&lt;p&gt;And now we&#39;re watching the next wave in real time: &lt;strong&gt;infrastructure-level change.&lt;/strong&gt; Claude recently shipped code security auditing capabilities. To me, that&#39;s a big deal. It means AI isn&#39;t just helping you &lt;em&gt;write&lt;/em&gt; code. It&#39;s starting to &lt;em&gt;review&lt;/em&gt; it. Security, compliance, quality assurance, the stuff people used to say &quot;AI can&#39;t handle that&quot;? It&#39;s being cracked one by one.&lt;/p&gt;&lt;p&gt;From &quot;writes for you&quot; to &quot;builds for you&quot; to &quot;audits for you.&quot; AI is rebuilding the foundation of an entire era, making it AI-native from the ground up.&lt;/p&gt;&lt;p&gt;The market is voting with its feet. According to Bain, after Anthropic launched Claude Cowork, the software index dropped roughly 25% from its 12-month high. Klarna killed 1,200 SaaS subscriptions over the past year, including Salesforce, and consolidated everything onto a homegrown AI platform. This isn&#39;t an isolated case. It&#39;s a signal.&lt;/p&gt;&lt;p&gt;And don&#39;t forget the pressure from above. Google Workspace, Microsoft 365, DingTalk, Lark. These super-platforms &lt;strong&gt;are the natural hosts for AI.&lt;/strong&gt; The richest user context already lives in emails, docs, and chat threads. When Gemini is embedded in Workspace, when Copilot lives inside Microsoft 365, when a user can just tell AI inside Lark &quot;show me the worst-performing product categories from last quarter,&quot; who&#39;s still going to buy a standalone BI tool? &lt;strong&gt;Vertical SaaS isn&#39;t just getting its foundation replaced from below by AI. It&#39;s getting eaten from above by these super-platforms.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;But the Most Lethal Shift Isn&#39;t Technical&lt;/h2&gt;&lt;p&gt;Honestly, the technology changes, as dramatic as they are, aren&#39;t even the thing I&#39;m most worried about.&lt;/p&gt;&lt;p&gt;Technological progress is ultimately a good thing, whether we&#39;re talking about the SaaS era or the AI era. But the reason I think the SaaS era is truly winding down isn&#39;t about tech. It&#39;s about a shift in how people think. And that shift is irreversible.&lt;/p&gt;&lt;p&gt;Anyone in this industry has asked themselves this question: why do users buy SaaS?&lt;/p&gt;&lt;p&gt;Nobody buys a CRM because they &lt;em&gt;want&lt;/em&gt; a CRM. They want to close more deals. Nobody buys a project management tool because they &lt;em&gt;enjoy&lt;/em&gt; project management. They want their projects delivered on time.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Users have never wanted the tool. They&#39;ve always wanted the outcome.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;It&#39;s just that in the old world, there was a big gap between &quot;wanting the outcome&quot; and actually getting it. You had to learn the tool, configure the workflows, figure out what data to enter, decide what reports to generate. All of that required human judgment. SaaS was essentially selling access to that in-between process, which is why it charged per seat, per month, per feature. Whether the outcome was good? That was never the software&#39;s problem.&lt;/p&gt;&lt;p&gt;But in the AI era, that distance is getting compressed. When you can tell AI &quot;find me the worst-performing categories over the past three quarters&quot; or &quot;flag the product whose margins are slipping,&quot; all those layers of UI, configuration, and learning curves that used to sit in between? They become friction. And that friction is constant.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Once users realize they can pay directly for outcomes, and no longer need to pay for the privilege of using a tool, that mental shift doesn&#39;t reverse.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I think this is the real existential threat facing SaaS. Technology changes? You can play catch-up. Product updates? You can iterate. But once users flip their sense of what&#39;s worth paying for, there&#39;s no going back. As I wrote in my year-end reflection, AI making &quot;expression&quot; cheap isn&#39;t a bad thing, but users will increasingly care about the result itself, not the process. Applied to SaaS, it&#39;s the same story: it&#39;s not technology that&#39;s killing SaaS. It&#39;s that users are no longer willing to pay for &quot;process.&quot;&lt;/p&gt;&lt;h2&gt;So What Actually Works?&lt;/h2&gt;&lt;p&gt;I&#39;ll be honest. As someone who&#39;s been in this industry for years, I feel the uncertainty too. I just laid out a bunch of judgments, but when it comes time to actually make decisions, every step feels like fumbling through contradictions.&lt;/p&gt;&lt;p&gt;But I eventually landed on something. Instead of asking &quot;does SaaS still have a future,&quot; the better question is: &lt;strong&gt;In the process of AI rebuilding the foundation, what positions can&#39;t it replace? Or better yet, what positions become &lt;/strong&gt;&lt;em&gt;&lt;strong&gt;more&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt; valuable the stronger AI gets?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;With that framing in mind, here are a few directions I think are worth exploring:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;First: go deeper. Become the foundation of the AI era.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Not all SaaS will be replaced. Finance, compliance, HR, supply chain. The core value of these systems isn&#39;t about having a nice UI. It&#39;s about being the authoritative source of data and the legal backbone of critical processes. The tax filing system your company uses? AI can get as smart as it wants, but the tax authority still recognizes what&#39;s in that system. That&#39;s not changing anytime soon.&lt;/p&gt;&lt;p&gt;But here&#39;s what&#39;s interesting: the &lt;em&gt;form&lt;/em&gt; of these products might change fundamentally. Take my wife&#39;s company, for example. All their data work runs on a very traditional industry system, one that&#39;s highly authoritative in their space. Everyone trusts it. But recently, I&#39;ve noticed it&#39;s evolving. It&#39;s no longer just a query tool. It&#39;s adding agent capabilities that help users organize and analyze data. It&#39;s still that trusted system of record, but the interaction layer is already moving toward AI-native.&lt;/p&gt;&lt;p&gt;I think that&#39;s the future for this category. In the past, building a finance system meant pouring tons of effort into the interface and user experience, because your users were humans. But what about the future? If most operations are being carried out by AI agents, then maybe the smartest move is to ditch the interface entirely and turn yourself into a foundational API that AI can call.&lt;/p&gt;&lt;p&gt;In other words: &lt;strong&gt;stop building for humans. Start building for AI.&lt;/strong&gt; You go from being &quot;a product users open every day&quot; to &quot;infrastructure that AI calls ten thousand times a day, and users might not even know your name.&quot; It doesn&#39;t sound glamorous, but I think it&#39;s the most durable play. Because the stronger AI gets, the more it needs trustworthy data sources and compliant infrastructure. If you go deep enough, no wave at the surface can wash you away.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Second: stop selling tools. Start selling outcomes.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I already touched on this earlier. Users have never wanted tools, they&#39;ve wanted results. If we actually believe that, the most direct move is to shift from per-seat, per-month pricing to models that tie directly to business outcomes.&lt;/p&gt;&lt;p&gt;Recruiting software? Charge per successful hire. Customer support platform? Charge by resolution rate. Marketing tool? Charge per qualified lead.&lt;/p&gt;&lt;p&gt;Sounds great, right? But this path is hard precisely because it demands you actually &lt;em&gt;influence&lt;/em&gt; the outcome. SaaS companies used to get away with saying &quot;I provide the tool. How well you use it is your problem.&quot; That&#39;s a comfortable position. The moment you promise outcomes, you own the entire chain: data quality, workflow design, even the client&#39;s own execution. All of that becomes your problem.&lt;/p&gt;&lt;p&gt;So the core challenge here isn&#39;t how to design the pricing model. It&#39;s whether you can define &quot;outcome&quot; clearly enough to be measurable and deliverable. If you pull it off, it creates an entirely new kind of business relationship — less like a vendor and a customer, more like partners. If you can&#39;t, it&#39;s just old SaaS with an AI skin.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Third, and this is the one I find most exciting: know the user better than they know themselves.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I said earlier that AI is compressing the distance from intent to outcome. But there&#39;s a premise that&#39;s easy to overlook: to compress that distance, AI first has to &lt;em&gt;understand&lt;/em&gt; what the user actually wants.&lt;/p&gt;&lt;p&gt;Right now, every time you use ChatGPT or Claude, you start from scratch. Describing your situation, your needs, your context. But imagine a product that, after three months of use, already knows your business logic, your decision-making patterns, what information you need and when. You don&#39;t even have to ask. It&#39;s already prepared everything. At that point, would you switch to something else?&lt;/p&gt;&lt;p&gt;This kind of deep contextual understanding is something no general-purpose model does well today. Model upgrades will narrow the gap over time, but until then, the real differentiator is &lt;strong&gt;the accumulation of time and data.&lt;/strong&gt; The longer you spend with a user, the deeper your understanding, and the higher the switching cost.&lt;/p&gt;&lt;p&gt;I think this might be one of the most important moats of the AI era. Not a technology moat. Not a feature moat. An &lt;strong&gt;understanding moat.&lt;/strong&gt; Whoever understands user intent best controls the entry point. And the beautiful thing about this moat is that it only gets thicker over time, unlike a technology advantage that can be matched overnight.&lt;/p&gt;&lt;p&gt;But this moat only holds if you own context that is &lt;strong&gt;unique to the user and non-portable,&lt;/strong&gt; the private, unstructured insights scattered across daily interactions. That&#39;s the part that&#39;s hardest to replicate. The more intimate and embedded that context is, the less any competitor can shortcut their way to it , even with a model ten times more powerful, they&#39;d still have to start from zero with every new user.&lt;/p&gt;&lt;p&gt;Of course, all of the above is predicated on my belief that in the near future, agents will be far more capable than most people can imagine. It&#39;s also entirely possible that a year from now, we&#39;ll find there are still major bottlenecks and plenty of gaps that haven&#39;t been bridged.&lt;/p&gt;&lt;h2&gt;Final Thoughts&lt;/h2&gt;&lt;p&gt;Traditional SaaS won&#39;t die overnight, but its golden age is over.&lt;/p&gt;&lt;p&gt;The foundation is being swapped out. Users&#39; sense of value is shifting. Those two walls that once protected SaaS are cracking. It won&#39;t happen fast, but it won&#39;t reverse, either.&lt;/p&gt;&lt;p&gt;My own take is this: &lt;strong&gt;the real question isn&#39;t how long SaaS can survive. It&#39;s what irreplaceable value you can still create for users once AI compresses &quot;process&quot; down to almost nothing.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;If your answer is still &quot;a better tool,&quot; you might not have realized that the rules of the game have already changed.&lt;/strong&gt;&lt;/p&gt;</description>
      <link>https://www.caicai.me/blogs/is-the-end-of-traditional-saas-actually-here</link>
      <guid isPermaLink="false">https://www.caicai.me/blogs/is-the-end-of-traditional-saas-actually-here</guid>
      <pubDate>Fri, 20 Feb 2026 16:00:00 GMT</pubDate>
      <enclosure url="https://www.caicai.me/images/blog/cd1294c182c53317c253fa0734e004ea.jpg" type="image/jpeg"></enclosure>
      <category>Industry Insights</category>
    </item>
    <item>
      <title>OpenClaw Is Blowing Up, But It Barely Changed Anything for Me</title>
      <description>&lt;p&gt;OpenClaw has been everywhere lately. YouTube, X, Redbook, every community and group chat I&#39;m in. I installed it on day one, spent a few days tinkering with it, and here&#39;s what I actually think.&lt;/p&gt;&lt;p&gt;The short version: &lt;strong&gt;OpenClaw is exciting, but its impact on my life and workflow has been minimal.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;I Don&#39;t Need It&lt;/h2&gt;&lt;p&gt;This might sound like a buzzkill, but it&#39;s the truth. My workflow already runs smoothly. I&#39;m not going to upend my habits just to save a minute or two. If a tool can&#39;t fundamentally change the way I work and live, I don&#39;t see the point in rearranging everything around it.&lt;/p&gt;&lt;p&gt;I used to be a smart home enthusiast. Every outlet, every switch, every appliance, I automated all of it. Then I moved a couple of times, the environment kept changing, and I gradually got tired of maintaining the whole setup. Eventually I stripped it all back to the basics: one security camera and a few physical switches. All those &quot;open the blinds for me&quot; and &quot;adjust the temperature&quot; features? Turns out they worked just fine in the dumb-home era too.&lt;/p&gt;&lt;p&gt;OpenClaw gives me a similar feeling. I know it can do a lot. But I also know the things it does don&#39;t move the needle much. I used to fantasize about building an automation that would open my curtains at sunrise. Then I actually did it and realized I didn&#39;t need it at all. That damn automation blinded me every morning. A simple button on my nightstand was far more humane and practical.&lt;/p&gt;&lt;h2&gt;But There Were Surprises&lt;/h2&gt;&lt;p&gt;That said, OpenClaw&#39;s local capabilities did catch me off guard in some genuinely impressive ways.&lt;/p&gt;&lt;p&gt;I gave it a single request: go figure out the API inside one of my local Docker containers (a self-hosted app that periodically scrapes for new movies), learn how the API works, and generate a push notification with the latest titles. And it just did it. One sentence, and the task was done. That&#39;s something ChatGPT and similar assistants still can&#39;t pull off, because OpenClaw actually runs on your machine. It can touch your files, your services, your data.&lt;/p&gt;&lt;p&gt;Another thing I thought was well done is the messaging integration. OpenClaw moved beyond the traditional single-window chat model into multi-platform IM support. You can talk to it in whatever messaging app you already use. That makes it feel less like a tool and more like a coworker who&#39;s always online. That said, &lt;strong&gt;getting all of this set up is a real project.&lt;/strong&gt; It&#39;s far from plug-and-play.&lt;/p&gt;&lt;p&gt;The automation and task features are worth mentioning too. Generating weekly reports on a schedule, pulling up information you check regularly, handing off that kind of repetitive work does save time. But here&#39;s a question I keep coming back to: are the things it automates actually what you need? Or are you just going to fall into an endless loop of tweaking and optimizing? A lot of the time, we think automation is saving us time when really we&#39;re just spending that time somewhere else.&lt;/p&gt;&lt;h2&gt;My Concerns&lt;/h2&gt;&lt;p&gt;Even though I gave OpenClaw full permissions on my Mac Mini, I still had two gut reactions I couldn&#39;t shake.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;, I was worried it might leak my data. My Mac Mini doubles as my personal photo management server, and it stores a massive amount of private photos. Rationally, I know it runs locally. But emotionally, the unease is still there.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Second&lt;/strong&gt;, I didn&#39;t plug in any API keys beyond the one for the AI model itself. I&#39;m not confident enough in every link of the chain to rule out a potential leak, and I don&#39;t want to take on unnecessary risk.&lt;/p&gt;&lt;p&gt;This is also why, when the YouMind dev team set up a Telegram group for OpenClaw, I didn&#39;t add my agent to the group chat. I understand how it works under the hood. I&#39;m still not fully comfortable.&lt;/p&gt;&lt;p&gt;I spent some time thinking about what exactly I was uncomfortable with. &lt;strong&gt;&quot;Local-first&quot; solves the question of where your data lives, but it doesn&#39;t solve the question of who gets to see it.&lt;/strong&gt; Your files aren&#39;t uploaded to some cloud server, sure. But for OpenClaw to do its job, it has to send your local content as context to an AI model&#39;s API. Your photos won&#39;t be &quot;uploaded,&quot; but they might be &quot;read.&quot; Same goes for API keys. Storing them locally is fine, but OpenClaw&#39;s community plugins are an open ecosystem. Who&#39;s guaranteeing that every third-party skill has a clean call chain?&lt;/p&gt;&lt;p&gt;So what I really don&#39;t trust isn&#39;t OpenClaw the product. It&#39;s the pipeline behind it that I can&#39;t fully see. That unease may not be entirely rational, but I think most normal users would hesitate the same way when faced with an agent that can read all your files and run all your services. &lt;strong&gt;The more capable the tool, the higher the trust cost.&lt;/strong&gt; This might be the question every agent product has to answer before it can go mainstream.&lt;/p&gt;&lt;p&gt;And to be fair, OpenClaw&#39;s design philosophy openly embraces this. The creator clearly trusts the agent to handle everything. No wonder the criticism has been loud.&lt;/p&gt;&lt;p&gt;There&#39;s also a practical experience issue: it&#39;s too slow. Waiting a long time for a response, probably due to context processing and model routing, really kills the motivation to use it day to day.&lt;/p&gt;&lt;p&gt;And that slowness has a price tag. Every call burns tokens, and a moderately complex task can easily rack up a few dollars. This isn&#39;t a free local tool. It&#39;s a locally-run, cloud-billed hybrid. &quot;Local-first&quot; creates the illusion of being free, but the API bill is a reality check. For those of us in the industry, I think this cost alone is enough to put off most people.&lt;/p&gt;&lt;h2&gt;Why Did OpenClaw Blow Up?&lt;/h2&gt;&lt;p&gt;Personal experience aside, from a market perspective, OpenClaw&#39;s viral moment was pretty predictable.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The timing was right.&lt;/strong&gt; Agent frameworks have been maturing steadily, and with the buzz around the manus acquisition, OpenClaw showed up at just the right moment. It rode the tech wave while offering a fresh narrative.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;It unlocked people&#39;s imagination.&lt;/strong&gt; Suddenly everyone was thinking, &quot;Wait, AI can do &lt;em&gt;this&lt;/em&gt;?&quot; All sorts of creative use cases started popping up. But if you look more closely, a lot of people are just using it to make a quick buck, and a lot more are just wrapping old workflows in a new shell. &lt;strong&gt;Truly explosive creativity, the kind that makes you stop and go &quot;wow,&quot; I haven&#39;t seen much of that yet.&lt;/strong&gt; That&#39;s probably why a lot of people feel a bit lost after the initial excitement fades.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&quot;Local-first.&quot;&lt;/strong&gt; Open source plus local-first, your data stays off the cloud. In an era of privacy anxiety, that&#39;s a powerful narrative. Whether or not it&#39;s actually more secure, it at least provides a sense of psychological safety. But the real story here is the open-source part. It&#39;s easy to overlook the influence of open source. It&#39;s not just a development model. It represents a community ecosystem. Once you have that ecosystem, everyone, the creator and the contributors alike, is participating in building something together. That sense of participation is itself a driver of virality.&lt;/p&gt;&lt;p&gt;And there&#39;s one more key point: &lt;strong&gt;it flipped the relationship between humans and AI.&lt;/strong&gt; The traditional model is the user going to find AI. You open a webpage, launch an app, type a question. OpenClaw, through IM integration, flipped it so that AI comes to find you. Sure, you could argue it&#39;s just plugging AI into existing channels. But I think the migration cost of this approach is as low as it gets. You don&#39;t have to change a single communication habit. AI is just there, in your chat window.&lt;/p&gt;&lt;p&gt;More importantly, because of the way it&#39;s built, OpenClaw can carry on multiple parallel conversations, which genuinely feels like talking to a real person. Things you&#39;ve asked it to do stay tracked through its memory and task system, and it follows up with you at the right time. That&#39;s something most current back-and-forth AI chatbots simply can&#39;t do.&lt;/p&gt;&lt;h2&gt;What Can We Learn From This as Product Builders?&lt;/h2&gt;&lt;p&gt;Finally, some thoughts on product design. This is really what I wanted to talk about. A few ideas:&lt;/p&gt;&lt;h3&gt;Finding New Order in the Chaos&lt;/h3&gt;&lt;p&gt;A lot of traditional SaaS features are basically pre-made meals. Users can only operate within a preset framework, with very little room to improvise. You can do this, you can&#39;t do that, everything is boxed in by rules.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The lesson from OpenClaw is that we can be bolder about opening up those rules, and let the chaos be figured out by AI and humans together.&lt;/strong&gt; A lot of the time, our &quot;protection&quot; of user behavior is actually throttling what AI could do.&lt;/p&gt;&lt;p&gt;Here&#39;s a concrete example from YouMind. We&#39;ve been debating for a while whether to let AI edit your content library, reorganize your materials, basically give it more agency over your workspace. We kept hesitating, worried something would go wrong. Looking back, those concerns feel like relics of an older era. Personally, I&#39;m all for opening it all up. Whether governance comes from humans or AI, it&#39;s all part of the natural progression of software.&lt;/p&gt;&lt;p&gt;I think for most SaaS products, the new product philosophy should be:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Let users define their own boundaries&lt;/li&gt;&lt;li&gt;Give them a safety net, so they feel safe enough to experiment&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;From Conversation to Execution: The Automation Frontier&lt;/h3&gt;&lt;p&gt;I believe that for AI to truly integrate into each person&#39;s work and life, the ability to execute automated tasks is non-negotiable. It&#39;s like giving wings to your imagination. You can leverage rules and schedules to extend what you accomplish in both work and life.&lt;/p&gt;&lt;p&gt;When AI breaks free from the real-time conversation model, things get really interesting. Take YouMind&#39;s recent launch of Skill + Task. A lot of people were confused. What does this have to do with creative work? But we were thinking along the automation track the whole time.&lt;/p&gt;&lt;p&gt;Here&#39;s a simple example: we all consume massive amounts of information every day. If you save the key takeaways into YouMind as you go, YouMind can periodically resurface and reorganize them for you, say, generating a digest of the most important things you read last week. Wouldn&#39;t that be a game-changer for your creative workflow?&lt;/p&gt;&lt;p&gt;And it&#39;s not just summaries. Under this model, anything you want AI to handle, it can do for you at a scheduled time.&lt;/p&gt;&lt;p&gt;But honestly, if we stop here, we&#39;re just pouring old wine into a new bottle. At this stage, rule-setting is still a manual process. YouMind has zero awareness on its own.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;And awareness requires memory.&lt;/strong&gt; OpenClaw claims to have persistent memory, but in practice, it remembers what you &lt;em&gt;said&lt;/em&gt;, not what you &lt;em&gt;care about&lt;/em&gt;. An article you saved last week and an idea you mentioned today, it won&#39;t connect them on its own. That&#39;s not memory. That&#39;s a log. Real memory should be able to categorize fragments, draw connections, and build structured understanding over time. Getting smarter the more you use it, not just longer.&lt;/p&gt;&lt;p&gt;This is exactly where I think YouMind can go further. We&#39;re already building knowledge structuring and linking. If we can graft that capability onto an agent&#39;s awareness system, so it doesn&#39;t just follow rules but can draw on everything you&#39;ve accumulated to understand changes and proactively give you input, then learning and creative workflows could see a real breakthrough.&lt;/p&gt;&lt;h3&gt;Configuration Cost Is the Core Product Challenge&lt;/h3&gt;&lt;p&gt;One last point: OpenClaw is blowing up, but it hasn&#39;t really reached ordinary people yet. It&#39;s incredibly capable, but the more capable it is, the higher the setup barrier. The creator even warns you upfront about the risks involved.&lt;/p&gt;&lt;p&gt;But configuration cost isn&#39;t just &quot;it&#39;s annoying to set up.&quot; The technical barrier is actually the easiest part to solve. Plug in a key, run a script, follow a tutorial, you&#39;ll get there eventually. What really stops most people is the cognitive cost: I&#39;ve got it installed, now what? I know it&#39;s powerful, but I have no idea what to do with it. The most common question in the community right now isn&#39;t &quot;how do I install it.&quot; It&#39;s &quot;I installed it and I don&#39;t know what to use it for.&quot;&lt;/p&gt;&lt;p&gt;Then there&#39;s the maintenance cost. Automation isn&#39;t a set-it-and-forget-it deal. Rules go stale, contexts shift, and you have to keep going back to adjust. This circles back to what I said earlier: a lot of the time, we think automation is saving us time when we&#39;re really just spending it somewhere else.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;So the real job of productization isn&#39;t setting up the environment for the user. It&#39;s answering the &quot;now what?&quot; question.&lt;/strong&gt; And that&#39;s why I think simply lowering the barrier isn&#39;t enough. You can eliminate the technical hurdle and users will still hit the cognitive wall.&lt;/p&gt;&lt;p&gt;There&#39;s a real paradox in product design here: the more you try to reduce configuration cost, the more decisions you have to make on behalf of the user. But the more decisions you make for them, the closer you get to a pre-made meal. Go one way and you get OpenClaw, where it can do anything but you have to figure it all out yourself. Go the other way and you get traditional SaaS, where it&#39;s all figured out for you but you&#39;re stuck inside the box.&lt;/p&gt;&lt;p&gt;I think the answer is somewhere in the middle. &lt;strong&gt;Don&#39;t serve a pre-made meal, and don&#39;t just hand over an empty kitchen. Set up the kitchen and give them a few recipes to start with.&lt;/strong&gt; They can follow the recipe or freestyle, but at least they won&#39;t be standing there staring at the stove. That&#39;s what YouMind is trying to do. Skills are the recipes, Boards are the kitchen. We want users to walk in and immediately know they can start cooking, instead of spending half a day figuring out how the oven works.&lt;/p&gt;</description>
      <link>https://www.caicai.me/blogs/openclaw-is-blowing-up-but-it-barely-changed-anything-for-me</link>
      <guid isPermaLink="false">https://www.caicai.me/blogs/openclaw-is-blowing-up-but-it-barely-changed-anything-for-me</guid>
      <pubDate>Sat, 14 Feb 2026 16:00:00 GMT</pubDate>
      <enclosure url="https://www.caicai.me/images/blog/5df11e7cee00d04ee31bbc37f0718fde.jpg" type="image/jpeg"></enclosure>
      <category>Work Insights</category>
    </item>
    <item>
      <title>YouMind: Finding Product Balance Through Subtraction</title>
      <description>&lt;p&gt;After releasing the new product interface this week, I received two completely different types of feedback: some said it looked better and felt smoother, while others were upset asking &quot;where did the features go?&quot;&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/7b35c6bec6da8bb450c483feb324dd49.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;As a product built from the ground up, YouMind has undergone three major interface changes in the past six months. I can&#39;t say each one was perfect, but behind every change lies our vision for the product and incremental progress. So today, I&#39;d like to take this opportunity to share some thoughts behind this latest redesign.&lt;/p&gt;&lt;p&gt;Sometimes we all say, &quot;Man, adding a feature is so hard.&quot; Sometimes we just can&#39;t figure out what to build next. But for a product that&#39;s already complex, the hardest part isn&#39;t adding features, once users come on board, demand is usually abundant. At that point, &lt;strong&gt;the real test is what you&#39;re willing to give up&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Many people don&#39;t understand why we&#39;d talk about cutting features when the product is doing fine and people are using it. There are many reasons, but for YouMind, which is still in the early stages of validating PMF, the thinking is quite simple: &lt;strong&gt;the earlier you are, the more courage you need to let go&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Because many features actually provide limited value but become obstacles on the path forward. They make the product bloated and rob it of the flexibility it needs. Imagine this: you quickly identify a potentially transformative need and want to evolve the product to address it, but you find that no matter how you try to change things, nothing works. That&#39;s terrifying, because you haven&#39;t left room for the product to adapt.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;A product&#39;s flexibility comes from your courage to leave white space.&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/99541d9248a8349f733fb3d8f9fe1fec.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Of course, giving up doesn&#39;t mean mindlessly cutting features. Within a reasonable framework, it means &lt;strong&gt;letting everything return to its most natural state&lt;/strong&gt;. Features often have logical relationships, and what we&#39;re doing today is providing value to users at the right moment.&lt;/p&gt;&lt;p&gt;It&#39;s like how everyone prefers to rename a file directly on the filename itself, rather than hunting for an &quot;edit&quot; button in some corner and then selecting &quot;rename file&quot; in a popup. That&#39;s the most natural user behavior in the critical path.&lt;/p&gt;&lt;h3&gt;Why Such a Drastic Overhaul?&lt;/h3&gt;&lt;p&gt;So why did YouMind undergo such a drastic structural overhaul in version 0.8, even cutting many existing features?&lt;/p&gt;&lt;p&gt;Although we haven&#39;t reached version 1.0 yet, YouMind was already facing some pretty serious problems:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Feature Bloat&lt;/strong&gt;: We wanted too much, kept adding randomly, and ended up accumulating product and technical debt&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Too Many Entry Points&lt;/strong&gt;: A single feature existed in locations A, B, and C, sometimes making it hard to tell them apart&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Complex and Impure Logic&lt;/strong&gt;: Too many hidden relationships existed, making things less straightforward&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Because of these issues, we became hesitant in our actions. Many times, we should have handled requirements using the most natural logic, but instead we went in circles until even we got confused. No exaggeration—including myself, sometimes I wasn&#39;t familiar with how certain features worked. This is just the reality of rapid iteration with parallel development.&lt;/p&gt;&lt;p&gt;While this is normal, it was definitely holding us back. If we wanted to quickly experiment with new features and scenarios today, this state made it hard to move fast. Especially in the fast paced AI wave, if we want to compete on speed, we sometimes have to slim down the product to ensure it stays in peak condition.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Product growth isn&#39;t about adding features, it&#39;s about multiplying experiences.&lt;/strong&gt;&lt;/p&gt;&lt;h3&gt;The Detours We Took&lt;/h3&gt;&lt;p&gt;Actually, before this redesign, we also tried the simplest approach: &quot;stuffing all features into the sidebar.&quot; At the time, we thought that as long as we hid the features, the interface would become cleaner. But after repeated consideration, we found that even we couldn&#39;t find the features we wanted. That&#39;s when we realized: &lt;strong&gt;simplicity isn&#39;t about hiding things, it&#39;s about not needing them in the first place&lt;/strong&gt;.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/deb3403aec9c8adc9d368e1ce8fad995.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Take our waterfall view feature, for example. It looked cool, and some team members really liked it. But in reality, many people just treated it as window dressing, purely aesthetic, not actually using it to manage content. Yet to maintain this feature, we had to ensure compatibility every time, and for a while we lost sight of priorities, adding a bunch of management features to what was essentially a display function.&lt;/p&gt;&lt;p&gt;So in this redesign, we quietly downplayed its presence. An old user commented: &quot;Where did the waterfall view go? I loved that browsing experience!&quot; I understand their disappointment and I&#39;m aware of the consequences of this decision, but to keep the product from becoming overly complex, sometimes tough choices have to be made. Of course, the waterfall view is still there. It&#39;s just become an auxiliary feature now, giving people a path to walk rather than making it the main highway.&lt;/p&gt;&lt;p&gt;So what&#39;s left after we cut those redundant features? A purer, more beautiful product experience. And this change in experience even changed my own usage habits.&lt;/p&gt;&lt;p&gt;After this release, we spent some time observing feedback from users and team members. Most gave fairly positive feedback, saying the interface became more attractive and smoother to use. Of course, some people were upset because they couldn&#39;t find previous features (which, as mentioned earlier, I had cut). Overall, the evaluation leaned positive.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;In today&#39;s world of increasingly homogeneous product features, beauty and delightful experiences often become the key factors in user choice.&lt;/strong&gt; When everyone can achieve &quot;usable,&quot; &quot;easy to use&quot; and &quot;want to use&quot; become the core differentiators. And this differentiation often comes from design restraint and attention to detail.&lt;/p&gt;&lt;h3&gt;My Creative Workflow Migrated to YouMind&lt;/h3&gt;&lt;p&gt;Speaking for myself, the tangible change is that I moved my creative workflow to YouMind.&lt;/p&gt;&lt;p&gt;I&#39;m embarrassed to admit that I hadn&#39;t really been doing text creation in YouMind before. I sometimes found it inconvenient to use, not because the features weren&#39;t good. I believe our team&#39;s work on AI writing is definitely superior to other products. The main reason was habit.&lt;/p&gt;&lt;p&gt;After the Yuque team disbanded years ago, I started migrating my document management to Notion. It&#39;s been about two years now, and while Notion has its issues, I gradually developed a habit of creating text there. Previously, YouMind&#39;s biggest use case for me was auxiliary reading and thinking. Because I&#39;m the type who, while not a great writer, can just write whatever comes to mind, I didn&#39;t really need a creation environment most of the time since that work was done in Notion.&lt;/p&gt;&lt;p&gt;But after this redesign, I&#39;ve quietly started using YouMind to write documents I want to share. This isn&#39;t because we&#39;re the creators and I&#39;m forcing myself to use the product. I believe many so-called product creators probably haven&#39;t even touched 10% of their own product&#39;s features.&lt;/p&gt;&lt;p&gt;But this time, both the interface and user experience genuinely moved me. You might say, &quot;Come on, you&#39;re just tooting your own horn!&quot; Sure, I can&#39;t rule out that possibility. But most importantly, &lt;strong&gt;I&#39;ve started to believe that this version of our design, from my own perspective, has actually surpassed Notion&#39;s experience&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;My creative workflow migration happened naturally. This also validates from the side that this redesign genuinely moved me, and that feeling came from my most authentic inner response.&lt;/p&gt;&lt;h3&gt;Where Does This Satisfaction Come From?&lt;/h3&gt;&lt;p&gt;So if we look at this satisfaction from a design perspective, how do we articulate it? There are actually a few key points:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Extreme Simplicity and White Space&lt;/strong&gt;: The current version of YouMind is very clean, with plenty of white space that lets you focus when creating or reading. For example, in the editor, we removed many of the originally complex toolbars, keeping only the most commonly used features, giving the entire interface more breathing room. When you open a blank page, you&#39;re not distracted by a bunch of buttons and options, you can just start writing.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Features Just Right&lt;/strong&gt;: Not too many, not too few, basically appearing where you&#39;d expect them. For instance, when reading materials, Pick (annotation) naturally appears when you select text, rather than being hidden in some corner. When you want to share content, the share button is right where you&#39;d most easily find it. This &quot;just right&quot; quality makes the entire usage flow incredibly smooth.&lt;/li&gt;&lt;/ul&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/fe4db2cb8fe59582427fb0f8700c1800.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Of course, when it actually got to users, there was some feedback that differed from our design intentions. For example, some couldn&#39;t find the waterfall view, others asked why Side Peek couldn&#39;t open other content and only allowed materials. Behind this feedback are actually some of our thoughts on feature positioning.&lt;/p&gt;&lt;h3&gt;Feature Positioning Purity: The Side Peek Example&lt;/h3&gt;&lt;p&gt;Many times, it&#39;s not that we couldn&#39;t do it from a design perspective. It&#39;s that I intentionally chose not to. I&#39;ve debated this topic with the development team for a long time. Although everyone&#39;s opinions sometimes differ, the basic assumptions are the same.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;We want to provide users with a purer product experience, which sometimes means not letting auxiliary features become more complex.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Why doesn&#39;t Side Peek have complex capabilities? Simple, since we defined it as Side Peek, it&#39;s meant to be auxiliary in the moment, not a main feature. An auxiliary feature shouldn&#39;t add to the overall complexity here, as that would make Side Peek steal the spotlight.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Good design isn&#39;t about showing users all possibilities. It&#39;s about showing them the one they need most.&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/65ac0eff05daac28099ba40291591e4b.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;We didn&#39;t design it to replace the main function, but rather to assist our learning and creation scenarios at the right moments in the main flow. Side Peek&#39;s restraint is to keep the main function pure.&lt;/p&gt;&lt;h2&gt;In Closing&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Product growth isn&#39;t about piling up features. It&#39;s about finding balance through subtraction&lt;/strong&gt;. That&#39;s the fundamental logic behind our redesign. Looking back at this entire redesign process, we also have some design insights to share:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;We believe that truly great products aren&#39;t those with the most features, but those that understand users best.&lt;/strong&gt; And this &quot;understanding&quot; often comes from polishing details and staying true to core values.&lt;/p&gt;&lt;p&gt;Of course, YouMind still has many issues, and there are many phenomena I can&#39;t validate on my own in this document. But I hope that deep down, whether it&#39;s me or the YouMind development team, we all maintain this restraint and vigilance, making YouMind a tool that is both elegant and just right.&lt;/p&gt;&lt;p&gt;If you&#39;re also building products, I hope the thinking behind this redesign gives you some inspiration. If you&#39;re a YouMind user, feel free to tell us where we can do better. After all, products are meant to serve users, and your feedback is what drives us forward.&lt;/p&gt;&lt;p&gt;Let&#39;s work together to find product balance through subtraction.&lt;/p&gt;</description>
      <link>https://www.caicai.me/blogs/youmind-finding-product-balance-through-subtraction</link>
      <guid isPermaLink="false">https://www.caicai.me/blogs/youmind-finding-product-balance-through-subtraction</guid>
      <pubDate>Thu, 22 Jan 2026 16:00:00 GMT</pubDate>
      <enclosure url="https://www.caicai.me/images/blog/e180995b4391214fce5c9f13cc67502a.png" type="image/jpeg"></enclosure>
      <category>Work Insights</category>
    </item>
    <item>
      <title>What AI Coding Means for Product Designers</title>
      <description>&lt;p&gt;When&#39;s the last time you opened Figma?&lt;/p&gt;&lt;p&gt;Over the past six months, I&#39;ve moved a significant portion of my design work to AI coding. When I zoom out from my own workflow and look at the industry as a whole, I see something worth discussing: &lt;strong&gt;our profession is undergoing a fundamental restructuring, and most people haven&#39;t realized it yet.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;A Concrete Example&lt;/h2&gt;&lt;p&gt;Recently, while building a trash feature for YouMind, I had a moment of clarity.&lt;/p&gt;&lt;p&gt;Traditionally, building this kind of feature really tests a designer&#39;s experience. The trash function seems simple on the surface, but the logic underneath is incredibly complex. In the past, we&#39;d pile up mockups in our design tools, trying to visualize every possible scenario to ensure logical completeness. That&#39;s where experience showed junior designers working on something like this would constantly miss edge cases.&lt;/p&gt;&lt;p&gt;You&#39;d think you&#39;d covered scenarios A, B, and C, then sit down with engineering and realize there are also scenarios D and E.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/8a07d1ff695d333941004a04f91ab785.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Now it&#39;s different. I just open Claude, describe the feature, and have AI simulate all the logical possibilities. It can reference the existing designs and generate a basic prototype to test with.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/9a562688f80003d1cd77245a564ad659.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Questions like &quot;What happens after deletion? How do we restore? What about bulk deletion and restoration?&quot; complex flows that used to require multiple rounds of back and forth can now be validated in a few hours with AI.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The shift is subtle. On the surface, it looks like a tool change, but what&#39;s really changed is the medium of thought.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Designers used to think in &quot;interfaces&quot; , put a button here, add a modal there. Now we need to start thinking in &quot;systems&quot; when this button is clicked, what changes in state? Where does the data flow? What are the edge cases?&lt;/p&gt;&lt;p&gt;Just like painters think in color and writers think in words. &lt;strong&gt;Change the medium, and the dimensions of thought change too.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;The Shift I&#39;m Seeing&lt;/h2&gt;&lt;p&gt;Behind this example is a split happening across the entire industry.&lt;/p&gt;&lt;p&gt;One group of designers still follows the traditional workflow: open Figma, sketch ideas, create high fidelity mockups, spec out interactions, hand off to engineering, and wait for implementation. This process takes anywhere from a few days to several weeks or even months. Nothing wrong with that, it&#39;s doing things right.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/b1afb766861dd7d20731a95720c8235e.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Another group, myself included, has started using AI coding to build prototypes. From idea to interactive validation in hours. Working with something that actually runs, testing and iterating, rather than imagining in our heads or pushing pixels on a canvas.&lt;/p&gt;&lt;h3&gt;From Idea to Prototype: Distance Collapsed&lt;/h3&gt;&lt;p&gt;The traditional design workflow is linear. You get requirements, go from idea to sketch to high fidelity visuals, hand off to engineering for implementation, then test before launch. Start to finish: days at best, weeks or even months more commonly.&lt;/p&gt;&lt;p&gt;With AI coding, the process becomes: idea, then straight to prototyping with tools like Claude Code or Cursor. Test the prototype immediately and validate. The cycle collapses to hours.&lt;/p&gt;&lt;p&gt;What you&#39;ll find is that instead of spending days in design files agonizing over interaction details, you can now have AI generate several different interaction approaches. You don&#39;t have to imagine the next step, you can actually experience which interaction works best for your product.&lt;/p&gt;&lt;p&gt;For me, the evidence is clear: my Figma usage has dropped while I&#39;m constantly hitting my Claude Code limits. This isn&#39;t to say Figma is bad, it&#39;s just that I&#39;ve gotten used to building being faster and feeling more tangible than designing.&lt;/p&gt;&lt;p&gt;I suspect that in the near future, Figma will gradually lose users like me. As the technology advances, manual mockup creation may become less necessary.&lt;/p&gt;&lt;h3&gt;From Interface Thinking to Systems Thinking&lt;/h3&gt;&lt;p&gt;Another significant shift is the move from flat to dimensional thinking. Before, you&#39;d think: &quot;Should I put a button here? Add a popup there?&quot; At most, you&#39;d check with stakeholders about copy.&lt;/p&gt;&lt;p&gt;When you start implementing through AI, you begin asking different questions: &quot;After the user clicks this button, what&#39;s the state? If there&#39;s data, how should it display? What happens if the click fails?&quot;&lt;/p&gt;&lt;p&gt;You&#39;ll gradually realize you&#39;re now focused on state, logic, edge cases, and data flow. Take YouMind&#39;s trash feature, traditional design thinking only cares about &quot;can I click it, can I delete it?&quot; With the new mindset, you expand to: &quot;What types of data should go in? What&#39;s the restoration flow once it&#39;s there?&quot;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/9ea4e31d2b11e5eed6afdc1d8ae3fa4b.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Many designers have long stayed at the interface level, with relatively narrow focus and limited technical depth. With these new skills, more designers will naturally start thinking in systems. When discussing with engineers, the conversation shifts from &quot;Can this be done?&quot; to &quot;Maybe this approach would work better.&quot;&lt;/p&gt;&lt;h2&gt;What This Change Means&lt;/h2&gt;&lt;p&gt;Looking at the essence behind the shift, what does this really mean? I see it from three angles:&lt;/p&gt;&lt;h3&gt;Redistribution of Power&lt;/h3&gt;&lt;p&gt;In the production pipeline, engineering used to hold clear decision-making power because they controlled the final act of creation. Transforming idea into product had to go through their hands.&lt;/p&gt;&lt;p&gt;As technical capabilities become democratized, designers no longer need to &quot;convince&quot; others to implement their ideas. &lt;strong&gt;It&#39;s not about who has the technical skills having creative power, it&#39;s a return to fundamentals: the thinking and judgment behind your ideas determine creative power.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The same applies to engineers. If they simply continue collaborating with the old mindset, they&#39;ll likely be replaced, it&#39;s just a matter of time. Engineers face the same challenge we do: step outside your domain, return to creativity, return to judging &quot;which path to take next.&quot;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Technical skill is no longer the scarce resource. Judgment is.&lt;/strong&gt;&lt;/p&gt;&lt;h3&gt;A New Medium for Thought&lt;/h3&gt;&lt;p&gt;From the moment we understand our profession, we lock in our medium of thought. Painters think in color, writers think in words, and we product designers have thought in interfaces and design mockups.&lt;/p&gt;&lt;p&gt;But &quot;drawing&quot; has limitations. Show someone a picture, and everyone might see something different, because images struggle to convey deeper information.&lt;/p&gt;&lt;p&gt;When you use AI coding to express yourself, you start using &lt;strong&gt;&quot;executable form&quot;&lt;/strong&gt; as your thinking medium. Your imaginative space expands completely, you can now add state to visuals, incorporate behavioral logic, include data flow.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/702f20b673aaa7a5b74d944a66fb85c1.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;This isn&#39;t just gaining a skill, it&#39;s gaining an entirely new way of thinking about the world. And because this medium delivers a more dimensional, satisfying experience, it gradually becomes your primary tool. Code slowly becomes your medium of thought, not just an implementation tool.&lt;/p&gt;&lt;h3&gt;A Shift in Identity&lt;/h3&gt;&lt;p&gt;Designers used to work on parts of products. In my interviewing experience, I&#39;ve met many designers who spent 1-2 years maintaining a tiny feature subset, like forms for an admin platform. Not that these features aren&#39;t important, but this approach limits a designer&#39;s potential and their genuine engagement with the world.&lt;/p&gt;&lt;p&gt;With AI coding, you can independently complete an entire product. This pushes you to think about what you&#39;re facing when you&#39;re not just building a feature, but building an entire product vision:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;What problem does this product solve?&lt;/li&gt;&lt;li&gt;How does it solve it?&lt;/li&gt;&lt;li&gt;What are the underlying values?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;When you start thinking about these foundational questions instead of individual features, &lt;strong&gt;you slowly shift from product contributor to product author.&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/4555b5ed95ae790eccd6a0709b727c1a.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;It&#39;s like you used to be the guitarist in a band, and now you&#39;re writing songs, arranging, recording, and even distributing, all on your own.&lt;/p&gt;&lt;p&gt;This changes the completeness of creation, expanding from a point to a plane, making people in our profession multidimensional.&lt;/p&gt;&lt;h2&gt;Final Thoughts&lt;/h2&gt;&lt;p&gt;The biggest change AI coding brings is that we, as product designers, can move from being one cog in professional specialization to experiencing what it means to be a &quot;complete creator.&quot; It&#39;s not just about skill improvement, it&#39;s about a shift in thinking and identity. This is perhaps the biggest redistribution of creative power in our industry since the birth of the internet.&lt;/p&gt;&lt;p&gt;Of course, the implications extend beyond product designers to every role in our field. A year before large language models appeared, people worried about being replaced.&lt;/p&gt;&lt;p&gt;My answer remains th

@github-actions github-actions Bot added the auto: ready to review Manual review will come in after lint issues and merge conflicts are fixed label Apr 14, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d8882ea753

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread lib/routes/caicai/blog.ts
@github-actions
Copy link
Copy Markdown
Contributor

Auto Review

Review complete - no clear rule violations found.

@github-actions
Copy link
Copy Markdown
Contributor

Successfully generated as following:

http://localhost:1200/caicai/blog - Success ✔️
<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>CaiCai&#39;s Blog - Product Notes &amp; Stories</title>
    <link>https://www.caicai.me/blogs</link>
    <atom:link href="http://localhost:1200/caicai/blog" rel="self" type="application/rss+xml"></atom:link>
    <description>A journal where I share essays, product learnings, and startup stories. - Powered by RSSHub</description>
    <generator>RSSHub</generator>
    <webMaster>contact@rsshub.app (RSSHub)</webMaster>
    <language>en</language>
    <image>
      <url>https://www.caicai.me/favicon.ico</url>
      <title>CaiCai&#39;s Blog - Product Notes &amp; Stories</title>
      <link>https://www.caicai.me/blogs</link>
    </image>
    <lastBuildDate>Tue, 14 Apr 2026 17:55:13 GMT</lastBuildDate>
    <ttl>5</ttl>
    <item>
      <title>Project Hail Mary</title>
      <description>&lt;p&gt;Honestly, Project Hail Mary doesn&#39;t hold a candle to Interstellar. Nolan&#39;s whole thing with spacetime folding, gravitational equations, TARS cracking jokes in the void... that&#39;s a different beast entirely. But walking out of Hail Mary, I realized my brain wasn&#39;t comparing the two. It was stuck on two things. On the drive home, still thinking. Lying in bed, still thinking.&lt;/p&gt;&lt;p&gt;Nothing to do with the VFX. Nothing to do with Gosling&#39;s acting. Just two choices: Stratt&#39;s choice, and Grace&#39;s choice.&lt;/p&gt;&lt;p&gt;This film has its own thing going on. It doesn&#39;t try too hard. It doesn&#39;t milk your emotions. But somehow it just stays with you.&lt;/p&gt;&lt;h2&gt;The Chosen One (Who Didn&#39;t Choose)&lt;/h2&gt;&lt;p&gt;Grace didn&#39;t volunteer.&lt;/p&gt;&lt;p&gt;The movie plays this pretty softly, but if you think about it, it&#39;s actually brutal. He was the only scientist who voted against the crewed mission. He didn&#39;t want to die. He made that very clear.&lt;/p&gt;&lt;p&gt;And then Stratt picked him.&lt;/p&gt;&lt;p&gt;Not because he was brave. Precisely because he was afraid to die. Stratt&#39;s logic was razor sharp: a person who fears death will do anything to survive, will exhaust every option to finish the mission and make it back.&lt;/p&gt;&lt;p&gt;In other words, his fear was treated as an exploitable resource.&lt;/p&gt;&lt;p&gt;In the end, he was sedated and loaded onto a spaceship. When he woke up, his memory was gone, two dead crewmates beside him, and he had no idea why he was there.&lt;/p&gt;&lt;p&gt;It reminded me of that interrogation scene in Unthinkable. That suffocating moral dilemma. &lt;strong&gt;Do we have the right to sacrifice one person to save the many?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Stratt&#39;s answer: yes. Without hesitation.&lt;/p&gt;&lt;p&gt;She could commandeer any nation&#39;s resources, bypass all due process, strap an unwilling man to a rocket. In her calculus, when 8 billion lives are on the line, one person&#39;s free will is a rounding error. It&#39;s not kidnapping. It&#39;s &quot;a necessary cost.&quot;&lt;/p&gt;&lt;p&gt;I get it. But I can&#39;t fully get behind it.&lt;/p&gt;&lt;p&gt;Because the fatal flaw in that logic is this: it only holds up when the outcome is right. What if Grace had died on the way? What if the mission had failed? Then he&#39;d just be another ordinary person crushed by the machinery of state. Nobody would remember him. Nobody would be held accountable.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;A correct outcome doesn&#39;t retroactively justify the process.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;But what makes the film interesting is that it never lets you pick a comfortable side. You&#39;ll think Stratt is cold, but you also know she might be right. You&#39;ll feel for Grace, but you also know that without him, Earth might be done.&lt;/p&gt;&lt;p&gt;That tension, that refusal to resolve neatly, is what gives this movie its real edge.&lt;/p&gt;&lt;hr&gt;&lt;h2&gt;The Universe Is Vast. We Are Not.&lt;/h2&gt;&lt;p&gt;There&#39;s a shot in the film that stuck with me. Grace standing at the ship&#39;s viewport, staring out at a completely alien star system. No Earth. No Sun. Not a single familiar point of reference.&lt;/p&gt;&lt;p&gt;In that moment I felt it viscerally: we are so incredibly small.&lt;/p&gt;&lt;p&gt;What do we spend our days on? Performance reviews, KPIs, mortgages, follower counts, the next funding round. On a cosmic scale, none of it even qualifies as dust. The Astrophage in the film devours stellar energy without a shred of malice. It doesn&#39;t know what humans are. It doesn&#39;t care. Whether we live or die is genuinely irrelevant to the universe.&lt;/p&gt;&lt;p&gt;And I think that&#39;s actually a good thing.&lt;/p&gt;&lt;p&gt;Because once you truly internalize how small you are, you start asking: so what actually matters?&lt;/p&gt;&lt;p&gt;Not your title. Not your bank balance. Not how many articles you&#39;ve published or awards you&#39;ve collected. These things might not even matter across a single human lifespan, let alone on a cosmic timeline.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;What endures is connection.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Grace and Rocky&#39;s friendship is the part of this film that hit me hardest. A human and an alien. No shared language. Completely different survival needs. They don&#39;t even share the same sensory system. Rocky has no eyes and &quot;sees&quot; through sound waves. And yet they became friends.&lt;/p&gt;&lt;p&gt;Not because of some grand save-the-world mission. But because out there in that endless void, encountering another being who&#39;s also just trying to stay alive is, in itself, extraordinary.&lt;/p&gt;&lt;p&gt;It made me think about my own life. Every day it&#39;s product work, business stuff, an endless stream of small fires. But the moments that actually make me feel like the day wasn&#39;t wasted are never about how many tasks I knocked out. It&#39;s a genuine conversation with someone. It&#39;s someone pulling me up when things got rough.&lt;/p&gt;&lt;p&gt;So when you step back, the film is really about two fundamentally different choices.&lt;/p&gt;&lt;p&gt;Stratt sacrificed one real person to save an abstract humanity.&lt;/p&gt;&lt;p&gt;Grace abandoned an abstract mission to protect one real friend.&lt;/p&gt;&lt;p&gt;He chose to stay in the Tau Ceti system, to help Rocky&#39;s planet through its crisis, giving up his ticket home. Rationally, it made no sense. He was Earth&#39;s envoy. He had a mission. Earth was waiting on his data. But he chose Rocky anyway.&lt;/p&gt;&lt;p&gt;Who was right? I honestly don&#39;t know.&lt;/p&gt;&lt;p&gt;But I&#39;m becoming more and more convinced that in the short time we have, the moments that truly make life feel worth living are rarely the grand narratives. They&#39;re the small, quiet things. The moment you look at another living being and say, &quot;I&#39;m not leaving you behind.&quot;&lt;/p&gt;&lt;p&gt;As Rocky would put it, &lt;strong&gt;Amaze. Amaze. Amaze.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Finding each other out here in the endless dark. That alone is amazing enough.&lt;/p&gt;</description>
      <link>https://www.caicai.me/blogs/project-hail-mary-</link>
      <guid isPermaLink="false">https://www.caicai.me/blogs/project-hail-mary-</guid>
      <pubDate>Fri, 27 Mar 2026 16:00:00 GMT</pubDate>
      <enclosure url="https://www.caicai.me/images/blog/c44aaf2d432cd04c234eb603ed99c5dc.jpg" type="image/jpeg"></enclosure>
      <category>Living in Canada</category>
    </item>
    <item>
      <title>Is the End of Traditional SaaS Actually Here?</title>
      <description>&lt;p&gt;With products like OpenClaw still riding a wave of hype, I&#39;ve been chatting with a bunch of founders in North America lately, and I&#39;ve noticed something. People are genuinely pessimistic about the future of SaaS. Not the usual &quot;market&#39;s rough&quot; kind of grumbling. It&#39;s something deeper. There&#39;s this creeping sense that the fundamental logic SaaS has relied on for the past decade might be falling apart at the seams.&lt;/p&gt;&lt;p&gt;From the data, it is hard to deny this point. Since the beginning of 2026, the IGV ETF (which tracks major U.S. software stocks) has fallen by about 23%. In the first week of February alone, the entire software industry&#39;s market value evaporated by nearly $1 trillion. Forrester even described the severity of the situation as the &quot;SaaS apocalypse.”&lt;/p&gt;&lt;p&gt;We&#39;re building a SaaS product ourselves, so this hits close to home. We&#39;re both players and witnesses. That&#39;s why I wanted to write down some of my thoughts.&lt;/p&gt;&lt;h2&gt;SaaS Won&#39;t Die Overnight, But That&#39;s Not the Good News You Think It Is&lt;/h2&gt;&lt;p&gt;Let me start with an unsexy take: traditional SaaS isn&#39;t going to vanish anytime soon.&lt;/p&gt;&lt;p&gt;The reasoning is pretty straightforward. I&#39;ve watched a lot of traditional companies, including plenty outside of tech, start dipping their toes into AI. It&#39;s a lot like how they first adopted SaaS years ago. But going from buying an off-the-shelf SaaS product to having AI handle everything? &lt;strong&gt;The gap between those two isn&#39;t a technology problem. It&#39;s a management and mindset problem.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Let&#39;s be real. Most executives are used to the rhythm of &quot;buy a system, train the team, roll it out.&quot; Getting them to believe &quot;you don&#39;t need a system anymore, AI just does it for you.&quot; That&#39;s not something a product demo can fix. &lt;strong&gt;Mindset, habits, judgment. Those three things are the real blockers.&lt;/strong&gt; Organizational inertia is massive, and it doesn&#39;t just disappear because AI got smarter.&lt;/p&gt;&lt;p&gt;On top of that, domain expertise still matters. Healthcare, supply chain, finance. The SaaS products behind these industries are built on years of regulatory compliance and specialized know-how. You can&#39;t just run a language model a few times and call it a day.&lt;/p&gt;&lt;p&gt;But here&#39;s the scariest part: a lot of people genuinely don&#39;t believe this shift is real. They&#39;re comfortable with what&#39;s working. Think about it: if you&#39;re already a top-ten player in your vertical and you&#39;ve been thriving under the current model, why would you change anything?&lt;/p&gt;&lt;p&gt;So yes, SaaS is still alive in the short term. It&#39;s protected by two walls: domain expertise and cognitive inertia.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;But that&#39;s not good news. Because the slowness creates a false sense of security. People think they still have time.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;The Foundation Is Being Replaced&lt;/h2&gt;&lt;p&gt;If you&#39;re in the SaaS business, the past year probably felt... fine. The numbers might even look okay. But if you zoom out and look at AI&#39;s trajectory from a different angle, there&#39;s something that should make all of us stop and think.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;AI isn&#39;t competing with SaaS on any single feature. It&#39;s quietly rebuilding the entire foundation, the very foundation that the current SaaS model depends on to survive.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Think about the last three years. AI started with text generation. Then images, then video. When ChatGPT first came out, most people figured AI was just for writing docs, making graphics, maybe cranking out a slide deck. The imagination was limited. It was all about personal productivity. So a lot of SaaS founders naturally thought, &quot;A tool that writes copy for people? What does that have to do with my CRM? I&#39;m fine.&quot;&lt;/p&gt;&lt;p&gt;But then AI coding showed up. Suddenly, regular people could describe what they wanted in plain English and get a working webpage, an app, even a full system or an agent. All those low-code and no-code companies that spent years trying to lower the barrier to &quot;build your own&quot;? They were still stuck in the old paradigm. Drag and drop all you want, but underneath it&#39;s still databases plus business logic plus UI. The complexity didn&#39;t go away; it just got hidden. &lt;strong&gt;What makes AI different is that data and business logic can now run in incredibly lightweight ways, so lightweight that you don&#39;t even need a &quot;product&quot; to contain them.&lt;/strong&gt; That&#39;s what actually kills the low-code playbook. AI didn&#39;t just lower the barrier. It kicked the door off its hinges.&lt;/p&gt;&lt;p&gt;And now we&#39;re watching the next wave in real time: &lt;strong&gt;infrastructure-level change.&lt;/strong&gt; Claude recently shipped code security auditing capabilities. To me, that&#39;s a big deal. It means AI isn&#39;t just helping you &lt;em&gt;write&lt;/em&gt; code. It&#39;s starting to &lt;em&gt;review&lt;/em&gt; it. Security, compliance, quality assurance, the stuff people used to say &quot;AI can&#39;t handle that&quot;? It&#39;s being cracked one by one.&lt;/p&gt;&lt;p&gt;From &quot;writes for you&quot; to &quot;builds for you&quot; to &quot;audits for you.&quot; AI is rebuilding the foundation of an entire era, making it AI-native from the ground up.&lt;/p&gt;&lt;p&gt;The market is voting with its feet. According to Bain, after Anthropic launched Claude Cowork, the software index dropped roughly 25% from its 12-month high. Klarna killed 1,200 SaaS subscriptions over the past year, including Salesforce, and consolidated everything onto a homegrown AI platform. This isn&#39;t an isolated case. It&#39;s a signal.&lt;/p&gt;&lt;p&gt;And don&#39;t forget the pressure from above. Google Workspace, Microsoft 365, DingTalk, Lark. These super-platforms &lt;strong&gt;are the natural hosts for AI.&lt;/strong&gt; The richest user context already lives in emails, docs, and chat threads. When Gemini is embedded in Workspace, when Copilot lives inside Microsoft 365, when a user can just tell AI inside Lark &quot;show me the worst-performing product categories from last quarter,&quot; who&#39;s still going to buy a standalone BI tool? &lt;strong&gt;Vertical SaaS isn&#39;t just getting its foundation replaced from below by AI. It&#39;s getting eaten from above by these super-platforms.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;But the Most Lethal Shift Isn&#39;t Technical&lt;/h2&gt;&lt;p&gt;Honestly, the technology changes, as dramatic as they are, aren&#39;t even the thing I&#39;m most worried about.&lt;/p&gt;&lt;p&gt;Technological progress is ultimately a good thing, whether we&#39;re talking about the SaaS era or the AI era. But the reason I think the SaaS era is truly winding down isn&#39;t about tech. It&#39;s about a shift in how people think. And that shift is irreversible.&lt;/p&gt;&lt;p&gt;Anyone in this industry has asked themselves this question: why do users buy SaaS?&lt;/p&gt;&lt;p&gt;Nobody buys a CRM because they &lt;em&gt;want&lt;/em&gt; a CRM. They want to close more deals. Nobody buys a project management tool because they &lt;em&gt;enjoy&lt;/em&gt; project management. They want their projects delivered on time.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Users have never wanted the tool. They&#39;ve always wanted the outcome.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;It&#39;s just that in the old world, there was a big gap between &quot;wanting the outcome&quot; and actually getting it. You had to learn the tool, configure the workflows, figure out what data to enter, decide what reports to generate. All of that required human judgment. SaaS was essentially selling access to that in-between process, which is why it charged per seat, per month, per feature. Whether the outcome was good? That was never the software&#39;s problem.&lt;/p&gt;&lt;p&gt;But in the AI era, that distance is getting compressed. When you can tell AI &quot;find me the worst-performing categories over the past three quarters&quot; or &quot;flag the product whose margins are slipping,&quot; all those layers of UI, configuration, and learning curves that used to sit in between? They become friction. And that friction is constant.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Once users realize they can pay directly for outcomes, and no longer need to pay for the privilege of using a tool, that mental shift doesn&#39;t reverse.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I think this is the real existential threat facing SaaS. Technology changes? You can play catch-up. Product updates? You can iterate. But once users flip their sense of what&#39;s worth paying for, there&#39;s no going back. As I wrote in my year-end reflection, AI making &quot;expression&quot; cheap isn&#39;t a bad thing, but users will increasingly care about the result itself, not the process. Applied to SaaS, it&#39;s the same story: it&#39;s not technology that&#39;s killing SaaS. It&#39;s that users are no longer willing to pay for &quot;process.&quot;&lt;/p&gt;&lt;h2&gt;So What Actually Works?&lt;/h2&gt;&lt;p&gt;I&#39;ll be honest. As someone who&#39;s been in this industry for years, I feel the uncertainty too. I just laid out a bunch of judgments, but when it comes time to actually make decisions, every step feels like fumbling through contradictions.&lt;/p&gt;&lt;p&gt;But I eventually landed on something. Instead of asking &quot;does SaaS still have a future,&quot; the better question is: &lt;strong&gt;In the process of AI rebuilding the foundation, what positions can&#39;t it replace? Or better yet, what positions become &lt;/strong&gt;&lt;em&gt;&lt;strong&gt;more&lt;/strong&gt;&lt;/em&gt;&lt;strong&gt; valuable the stronger AI gets?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;With that framing in mind, here are a few directions I think are worth exploring:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;First: go deeper. Become the foundation of the AI era.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Not all SaaS will be replaced. Finance, compliance, HR, supply chain. The core value of these systems isn&#39;t about having a nice UI. It&#39;s about being the authoritative source of data and the legal backbone of critical processes. The tax filing system your company uses? AI can get as smart as it wants, but the tax authority still recognizes what&#39;s in that system. That&#39;s not changing anytime soon.&lt;/p&gt;&lt;p&gt;But here&#39;s what&#39;s interesting: the &lt;em&gt;form&lt;/em&gt; of these products might change fundamentally. Take my wife&#39;s company, for example. All their data work runs on a very traditional industry system, one that&#39;s highly authoritative in their space. Everyone trusts it. But recently, I&#39;ve noticed it&#39;s evolving. It&#39;s no longer just a query tool. It&#39;s adding agent capabilities that help users organize and analyze data. It&#39;s still that trusted system of record, but the interaction layer is already moving toward AI-native.&lt;/p&gt;&lt;p&gt;I think that&#39;s the future for this category. In the past, building a finance system meant pouring tons of effort into the interface and user experience, because your users were humans. But what about the future? If most operations are being carried out by AI agents, then maybe the smartest move is to ditch the interface entirely and turn yourself into a foundational API that AI can call.&lt;/p&gt;&lt;p&gt;In other words: &lt;strong&gt;stop building for humans. Start building for AI.&lt;/strong&gt; You go from being &quot;a product users open every day&quot; to &quot;infrastructure that AI calls ten thousand times a day, and users might not even know your name.&quot; It doesn&#39;t sound glamorous, but I think it&#39;s the most durable play. Because the stronger AI gets, the more it needs trustworthy data sources and compliant infrastructure. If you go deep enough, no wave at the surface can wash you away.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Second: stop selling tools. Start selling outcomes.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I already touched on this earlier. Users have never wanted tools, they&#39;ve wanted results. If we actually believe that, the most direct move is to shift from per-seat, per-month pricing to models that tie directly to business outcomes.&lt;/p&gt;&lt;p&gt;Recruiting software? Charge per successful hire. Customer support platform? Charge by resolution rate. Marketing tool? Charge per qualified lead.&lt;/p&gt;&lt;p&gt;Sounds great, right? But this path is hard precisely because it demands you actually &lt;em&gt;influence&lt;/em&gt; the outcome. SaaS companies used to get away with saying &quot;I provide the tool. How well you use it is your problem.&quot; That&#39;s a comfortable position. The moment you promise outcomes, you own the entire chain: data quality, workflow design, even the client&#39;s own execution. All of that becomes your problem.&lt;/p&gt;&lt;p&gt;So the core challenge here isn&#39;t how to design the pricing model. It&#39;s whether you can define &quot;outcome&quot; clearly enough to be measurable and deliverable. If you pull it off, it creates an entirely new kind of business relationship — less like a vendor and a customer, more like partners. If you can&#39;t, it&#39;s just old SaaS with an AI skin.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Third, and this is the one I find most exciting: know the user better than they know themselves.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;I said earlier that AI is compressing the distance from intent to outcome. But there&#39;s a premise that&#39;s easy to overlook: to compress that distance, AI first has to &lt;em&gt;understand&lt;/em&gt; what the user actually wants.&lt;/p&gt;&lt;p&gt;Right now, every time you use ChatGPT or Claude, you start from scratch. Describing your situation, your needs, your context. But imagine a product that, after three months of use, already knows your business logic, your decision-making patterns, what information you need and when. You don&#39;t even have to ask. It&#39;s already prepared everything. At that point, would you switch to something else?&lt;/p&gt;&lt;p&gt;This kind of deep contextual understanding is something no general-purpose model does well today. Model upgrades will narrow the gap over time, but until then, the real differentiator is &lt;strong&gt;the accumulation of time and data.&lt;/strong&gt; The longer you spend with a user, the deeper your understanding, and the higher the switching cost.&lt;/p&gt;&lt;p&gt;I think this might be one of the most important moats of the AI era. Not a technology moat. Not a feature moat. An &lt;strong&gt;understanding moat.&lt;/strong&gt; Whoever understands user intent best controls the entry point. And the beautiful thing about this moat is that it only gets thicker over time, unlike a technology advantage that can be matched overnight.&lt;/p&gt;&lt;p&gt;But this moat only holds if you own context that is &lt;strong&gt;unique to the user and non-portable,&lt;/strong&gt; the private, unstructured insights scattered across daily interactions. That&#39;s the part that&#39;s hardest to replicate. The more intimate and embedded that context is, the less any competitor can shortcut their way to it , even with a model ten times more powerful, they&#39;d still have to start from zero with every new user.&lt;/p&gt;&lt;p&gt;Of course, all of the above is predicated on my belief that in the near future, agents will be far more capable than most people can imagine. It&#39;s also entirely possible that a year from now, we&#39;ll find there are still major bottlenecks and plenty of gaps that haven&#39;t been bridged.&lt;/p&gt;&lt;h2&gt;Final Thoughts&lt;/h2&gt;&lt;p&gt;Traditional SaaS won&#39;t die overnight, but its golden age is over.&lt;/p&gt;&lt;p&gt;The foundation is being swapped out. Users&#39; sense of value is shifting. Those two walls that once protected SaaS are cracking. It won&#39;t happen fast, but it won&#39;t reverse, either.&lt;/p&gt;&lt;p&gt;My own take is this: &lt;strong&gt;the real question isn&#39;t how long SaaS can survive. It&#39;s what irreplaceable value you can still create for users once AI compresses &quot;process&quot; down to almost nothing.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;If your answer is still &quot;a better tool,&quot; you might not have realized that the rules of the game have already changed.&lt;/strong&gt;&lt;/p&gt;</description>
      <link>https://www.caicai.me/blogs/is-the-end-of-traditional-saas-actually-here</link>
      <guid isPermaLink="false">https://www.caicai.me/blogs/is-the-end-of-traditional-saas-actually-here</guid>
      <pubDate>Fri, 20 Feb 2026 16:00:00 GMT</pubDate>
      <enclosure url="https://www.caicai.me/images/blog/cd1294c182c53317c253fa0734e004ea.jpg" type="image/jpeg"></enclosure>
      <category>Industry Insights</category>
    </item>
    <item>
      <title>OpenClaw Is Blowing Up, But It Barely Changed Anything for Me</title>
      <description>&lt;p&gt;OpenClaw has been everywhere lately. YouTube, X, Redbook, every community and group chat I&#39;m in. I installed it on day one, spent a few days tinkering with it, and here&#39;s what I actually think.&lt;/p&gt;&lt;p&gt;The short version: &lt;strong&gt;OpenClaw is exciting, but its impact on my life and workflow has been minimal.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;I Don&#39;t Need It&lt;/h2&gt;&lt;p&gt;This might sound like a buzzkill, but it&#39;s the truth. My workflow already runs smoothly. I&#39;m not going to upend my habits just to save a minute or two. If a tool can&#39;t fundamentally change the way I work and live, I don&#39;t see the point in rearranging everything around it.&lt;/p&gt;&lt;p&gt;I used to be a smart home enthusiast. Every outlet, every switch, every appliance, I automated all of it. Then I moved a couple of times, the environment kept changing, and I gradually got tired of maintaining the whole setup. Eventually I stripped it all back to the basics: one security camera and a few physical switches. All those &quot;open the blinds for me&quot; and &quot;adjust the temperature&quot; features? Turns out they worked just fine in the dumb-home era too.&lt;/p&gt;&lt;p&gt;OpenClaw gives me a similar feeling. I know it can do a lot. But I also know the things it does don&#39;t move the needle much. I used to fantasize about building an automation that would open my curtains at sunrise. Then I actually did it and realized I didn&#39;t need it at all. That damn automation blinded me every morning. A simple button on my nightstand was far more humane and practical.&lt;/p&gt;&lt;h2&gt;But There Were Surprises&lt;/h2&gt;&lt;p&gt;That said, OpenClaw&#39;s local capabilities did catch me off guard in some genuinely impressive ways.&lt;/p&gt;&lt;p&gt;I gave it a single request: go figure out the API inside one of my local Docker containers (a self-hosted app that periodically scrapes for new movies), learn how the API works, and generate a push notification with the latest titles. And it just did it. One sentence, and the task was done. That&#39;s something ChatGPT and similar assistants still can&#39;t pull off, because OpenClaw actually runs on your machine. It can touch your files, your services, your data.&lt;/p&gt;&lt;p&gt;Another thing I thought was well done is the messaging integration. OpenClaw moved beyond the traditional single-window chat model into multi-platform IM support. You can talk to it in whatever messaging app you already use. That makes it feel less like a tool and more like a coworker who&#39;s always online. That said, &lt;strong&gt;getting all of this set up is a real project.&lt;/strong&gt; It&#39;s far from plug-and-play.&lt;/p&gt;&lt;p&gt;The automation and task features are worth mentioning too. Generating weekly reports on a schedule, pulling up information you check regularly, handing off that kind of repetitive work does save time. But here&#39;s a question I keep coming back to: are the things it automates actually what you need? Or are you just going to fall into an endless loop of tweaking and optimizing? A lot of the time, we think automation is saving us time when really we&#39;re just spending that time somewhere else.&lt;/p&gt;&lt;h2&gt;My Concerns&lt;/h2&gt;&lt;p&gt;Even though I gave OpenClaw full permissions on my Mac Mini, I still had two gut reactions I couldn&#39;t shake.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;, I was worried it might leak my data. My Mac Mini doubles as my personal photo management server, and it stores a massive amount of private photos. Rationally, I know it runs locally. But emotionally, the unease is still there.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Second&lt;/strong&gt;, I didn&#39;t plug in any API keys beyond the one for the AI model itself. I&#39;m not confident enough in every link of the chain to rule out a potential leak, and I don&#39;t want to take on unnecessary risk.&lt;/p&gt;&lt;p&gt;This is also why, when the YouMind dev team set up a Telegram group for OpenClaw, I didn&#39;t add my agent to the group chat. I understand how it works under the hood. I&#39;m still not fully comfortable.&lt;/p&gt;&lt;p&gt;I spent some time thinking about what exactly I was uncomfortable with. &lt;strong&gt;&quot;Local-first&quot; solves the question of where your data lives, but it doesn&#39;t solve the question of who gets to see it.&lt;/strong&gt; Your files aren&#39;t uploaded to some cloud server, sure. But for OpenClaw to do its job, it has to send your local content as context to an AI model&#39;s API. Your photos won&#39;t be &quot;uploaded,&quot; but they might be &quot;read.&quot; Same goes for API keys. Storing them locally is fine, but OpenClaw&#39;s community plugins are an open ecosystem. Who&#39;s guaranteeing that every third-party skill has a clean call chain?&lt;/p&gt;&lt;p&gt;So what I really don&#39;t trust isn&#39;t OpenClaw the product. It&#39;s the pipeline behind it that I can&#39;t fully see. That unease may not be entirely rational, but I think most normal users would hesitate the same way when faced with an agent that can read all your files and run all your services. &lt;strong&gt;The more capable the tool, the higher the trust cost.&lt;/strong&gt; This might be the question every agent product has to answer before it can go mainstream.&lt;/p&gt;&lt;p&gt;And to be fair, OpenClaw&#39;s design philosophy openly embraces this. The creator clearly trusts the agent to handle everything. No wonder the criticism has been loud.&lt;/p&gt;&lt;p&gt;There&#39;s also a practical experience issue: it&#39;s too slow. Waiting a long time for a response, probably due to context processing and model routing, really kills the motivation to use it day to day.&lt;/p&gt;&lt;p&gt;And that slowness has a price tag. Every call burns tokens, and a moderately complex task can easily rack up a few dollars. This isn&#39;t a free local tool. It&#39;s a locally-run, cloud-billed hybrid. &quot;Local-first&quot; creates the illusion of being free, but the API bill is a reality check. For those of us in the industry, I think this cost alone is enough to put off most people.&lt;/p&gt;&lt;h2&gt;Why Did OpenClaw Blow Up?&lt;/h2&gt;&lt;p&gt;Personal experience aside, from a market perspective, OpenClaw&#39;s viral moment was pretty predictable.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The timing was right.&lt;/strong&gt; Agent frameworks have been maturing steadily, and with the buzz around the manus acquisition, OpenClaw showed up at just the right moment. It rode the tech wave while offering a fresh narrative.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;It unlocked people&#39;s imagination.&lt;/strong&gt; Suddenly everyone was thinking, &quot;Wait, AI can do &lt;em&gt;this&lt;/em&gt;?&quot; All sorts of creative use cases started popping up. But if you look more closely, a lot of people are just using it to make a quick buck, and a lot more are just wrapping old workflows in a new shell. &lt;strong&gt;Truly explosive creativity, the kind that makes you stop and go &quot;wow,&quot; I haven&#39;t seen much of that yet.&lt;/strong&gt; That&#39;s probably why a lot of people feel a bit lost after the initial excitement fades.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&quot;Local-first.&quot;&lt;/strong&gt; Open source plus local-first, your data stays off the cloud. In an era of privacy anxiety, that&#39;s a powerful narrative. Whether or not it&#39;s actually more secure, it at least provides a sense of psychological safety. But the real story here is the open-source part. It&#39;s easy to overlook the influence of open source. It&#39;s not just a development model. It represents a community ecosystem. Once you have that ecosystem, everyone, the creator and the contributors alike, is participating in building something together. That sense of participation is itself a driver of virality.&lt;/p&gt;&lt;p&gt;And there&#39;s one more key point: &lt;strong&gt;it flipped the relationship between humans and AI.&lt;/strong&gt; The traditional model is the user going to find AI. You open a webpage, launch an app, type a question. OpenClaw, through IM integration, flipped it so that AI comes to find you. Sure, you could argue it&#39;s just plugging AI into existing channels. But I think the migration cost of this approach is as low as it gets. You don&#39;t have to change a single communication habit. AI is just there, in your chat window.&lt;/p&gt;&lt;p&gt;More importantly, because of the way it&#39;s built, OpenClaw can carry on multiple parallel conversations, which genuinely feels like talking to a real person. Things you&#39;ve asked it to do stay tracked through its memory and task system, and it follows up with you at the right time. That&#39;s something most current back-and-forth AI chatbots simply can&#39;t do.&lt;/p&gt;&lt;h2&gt;What Can We Learn From This as Product Builders?&lt;/h2&gt;&lt;p&gt;Finally, some thoughts on product design. This is really what I wanted to talk about. A few ideas:&lt;/p&gt;&lt;h3&gt;Finding New Order in the Chaos&lt;/h3&gt;&lt;p&gt;A lot of traditional SaaS features are basically pre-made meals. Users can only operate within a preset framework, with very little room to improvise. You can do this, you can&#39;t do that, everything is boxed in by rules.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The lesson from OpenClaw is that we can be bolder about opening up those rules, and let the chaos be figured out by AI and humans together.&lt;/strong&gt; A lot of the time, our &quot;protection&quot; of user behavior is actually throttling what AI could do.&lt;/p&gt;&lt;p&gt;Here&#39;s a concrete example from YouMind. We&#39;ve been debating for a while whether to let AI edit your content library, reorganize your materials, basically give it more agency over your workspace. We kept hesitating, worried something would go wrong. Looking back, those concerns feel like relics of an older era. Personally, I&#39;m all for opening it all up. Whether governance comes from humans or AI, it&#39;s all part of the natural progression of software.&lt;/p&gt;&lt;p&gt;I think for most SaaS products, the new product philosophy should be:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Let users define their own boundaries&lt;/li&gt;&lt;li&gt;Give them a safety net, so they feel safe enough to experiment&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;From Conversation to Execution: The Automation Frontier&lt;/h3&gt;&lt;p&gt;I believe that for AI to truly integrate into each person&#39;s work and life, the ability to execute automated tasks is non-negotiable. It&#39;s like giving wings to your imagination. You can leverage rules and schedules to extend what you accomplish in both work and life.&lt;/p&gt;&lt;p&gt;When AI breaks free from the real-time conversation model, things get really interesting. Take YouMind&#39;s recent launch of Skill + Task. A lot of people were confused. What does this have to do with creative work? But we were thinking along the automation track the whole time.&lt;/p&gt;&lt;p&gt;Here&#39;s a simple example: we all consume massive amounts of information every day. If you save the key takeaways into YouMind as you go, YouMind can periodically resurface and reorganize them for you, say, generating a digest of the most important things you read last week. Wouldn&#39;t that be a game-changer for your creative workflow?&lt;/p&gt;&lt;p&gt;And it&#39;s not just summaries. Under this model, anything you want AI to handle, it can do for you at a scheduled time.&lt;/p&gt;&lt;p&gt;But honestly, if we stop here, we&#39;re just pouring old wine into a new bottle. At this stage, rule-setting is still a manual process. YouMind has zero awareness on its own.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;And awareness requires memory.&lt;/strong&gt; OpenClaw claims to have persistent memory, but in practice, it remembers what you &lt;em&gt;said&lt;/em&gt;, not what you &lt;em&gt;care about&lt;/em&gt;. An article you saved last week and an idea you mentioned today, it won&#39;t connect them on its own. That&#39;s not memory. That&#39;s a log. Real memory should be able to categorize fragments, draw connections, and build structured understanding over time. Getting smarter the more you use it, not just longer.&lt;/p&gt;&lt;p&gt;This is exactly where I think YouMind can go further. We&#39;re already building knowledge structuring and linking. If we can graft that capability onto an agent&#39;s awareness system, so it doesn&#39;t just follow rules but can draw on everything you&#39;ve accumulated to understand changes and proactively give you input, then learning and creative workflows could see a real breakthrough.&lt;/p&gt;&lt;h3&gt;Configuration Cost Is the Core Product Challenge&lt;/h3&gt;&lt;p&gt;One last point: OpenClaw is blowing up, but it hasn&#39;t really reached ordinary people yet. It&#39;s incredibly capable, but the more capable it is, the higher the setup barrier. The creator even warns you upfront about the risks involved.&lt;/p&gt;&lt;p&gt;But configuration cost isn&#39;t just &quot;it&#39;s annoying to set up.&quot; The technical barrier is actually the easiest part to solve. Plug in a key, run a script, follow a tutorial, you&#39;ll get there eventually. What really stops most people is the cognitive cost: I&#39;ve got it installed, now what? I know it&#39;s powerful, but I have no idea what to do with it. The most common question in the community right now isn&#39;t &quot;how do I install it.&quot; It&#39;s &quot;I installed it and I don&#39;t know what to use it for.&quot;&lt;/p&gt;&lt;p&gt;Then there&#39;s the maintenance cost. Automation isn&#39;t a set-it-and-forget-it deal. Rules go stale, contexts shift, and you have to keep going back to adjust. This circles back to what I said earlier: a lot of the time, we think automation is saving us time when we&#39;re really just spending it somewhere else.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;So the real job of productization isn&#39;t setting up the environment for the user. It&#39;s answering the &quot;now what?&quot; question.&lt;/strong&gt; And that&#39;s why I think simply lowering the barrier isn&#39;t enough. You can eliminate the technical hurdle and users will still hit the cognitive wall.&lt;/p&gt;&lt;p&gt;There&#39;s a real paradox in product design here: the more you try to reduce configuration cost, the more decisions you have to make on behalf of the user. But the more decisions you make for them, the closer you get to a pre-made meal. Go one way and you get OpenClaw, where it can do anything but you have to figure it all out yourself. Go the other way and you get traditional SaaS, where it&#39;s all figured out for you but you&#39;re stuck inside the box.&lt;/p&gt;&lt;p&gt;I think the answer is somewhere in the middle. &lt;strong&gt;Don&#39;t serve a pre-made meal, and don&#39;t just hand over an empty kitchen. Set up the kitchen and give them a few recipes to start with.&lt;/strong&gt; They can follow the recipe or freestyle, but at least they won&#39;t be standing there staring at the stove. That&#39;s what YouMind is trying to do. Skills are the recipes, Boards are the kitchen. We want users to walk in and immediately know they can start cooking, instead of spending half a day figuring out how the oven works.&lt;/p&gt;</description>
      <link>https://www.caicai.me/blogs/openclaw-is-blowing-up-but-it-barely-changed-anything-for-me</link>
      <guid isPermaLink="false">https://www.caicai.me/blogs/openclaw-is-blowing-up-but-it-barely-changed-anything-for-me</guid>
      <pubDate>Sat, 14 Feb 2026 16:00:00 GMT</pubDate>
      <enclosure url="https://www.caicai.me/images/blog/5df11e7cee00d04ee31bbc37f0718fde.jpg" type="image/jpeg"></enclosure>
      <category>Work Insights</category>
    </item>
    <item>
      <title>YouMind: Finding Product Balance Through Subtraction</title>
      <description>&lt;p&gt;After releasing the new product interface this week, I received two completely different types of feedback: some said it looked better and felt smoother, while others were upset asking &quot;where did the features go?&quot;&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/7b35c6bec6da8bb450c483feb324dd49.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;As a product built from the ground up, YouMind has undergone three major interface changes in the past six months. I can&#39;t say each one was perfect, but behind every change lies our vision for the product and incremental progress. So today, I&#39;d like to take this opportunity to share some thoughts behind this latest redesign.&lt;/p&gt;&lt;p&gt;Sometimes we all say, &quot;Man, adding a feature is so hard.&quot; Sometimes we just can&#39;t figure out what to build next. But for a product that&#39;s already complex, the hardest part isn&#39;t adding features, once users come on board, demand is usually abundant. At that point, &lt;strong&gt;the real test is what you&#39;re willing to give up&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Many people don&#39;t understand why we&#39;d talk about cutting features when the product is doing fine and people are using it. There are many reasons, but for YouMind, which is still in the early stages of validating PMF, the thinking is quite simple: &lt;strong&gt;the earlier you are, the more courage you need to let go&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;Because many features actually provide limited value but become obstacles on the path forward. They make the product bloated and rob it of the flexibility it needs. Imagine this: you quickly identify a potentially transformative need and want to evolve the product to address it, but you find that no matter how you try to change things, nothing works. That&#39;s terrifying, because you haven&#39;t left room for the product to adapt.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;A product&#39;s flexibility comes from your courage to leave white space.&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/99541d9248a8349f733fb3d8f9fe1fec.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Of course, giving up doesn&#39;t mean mindlessly cutting features. Within a reasonable framework, it means &lt;strong&gt;letting everything return to its most natural state&lt;/strong&gt;. Features often have logical relationships, and what we&#39;re doing today is providing value to users at the right moment.&lt;/p&gt;&lt;p&gt;It&#39;s like how everyone prefers to rename a file directly on the filename itself, rather than hunting for an &quot;edit&quot; button in some corner and then selecting &quot;rename file&quot; in a popup. That&#39;s the most natural user behavior in the critical path.&lt;/p&gt;&lt;h3&gt;Why Such a Drastic Overhaul?&lt;/h3&gt;&lt;p&gt;So why did YouMind undergo such a drastic structural overhaul in version 0.8, even cutting many existing features?&lt;/p&gt;&lt;p&gt;Although we haven&#39;t reached version 1.0 yet, YouMind was already facing some pretty serious problems:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Feature Bloat&lt;/strong&gt;: We wanted too much, kept adding randomly, and ended up accumulating product and technical debt&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Too Many Entry Points&lt;/strong&gt;: A single feature existed in locations A, B, and C, sometimes making it hard to tell them apart&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Complex and Impure Logic&lt;/strong&gt;: Too many hidden relationships existed, making things less straightforward&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Because of these issues, we became hesitant in our actions. Many times, we should have handled requirements using the most natural logic, but instead we went in circles until even we got confused. No exaggeration—including myself, sometimes I wasn&#39;t familiar with how certain features worked. This is just the reality of rapid iteration with parallel development.&lt;/p&gt;&lt;p&gt;While this is normal, it was definitely holding us back. If we wanted to quickly experiment with new features and scenarios today, this state made it hard to move fast. Especially in the fast paced AI wave, if we want to compete on speed, we sometimes have to slim down the product to ensure it stays in peak condition.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Product growth isn&#39;t about adding features, it&#39;s about multiplying experiences.&lt;/strong&gt;&lt;/p&gt;&lt;h3&gt;The Detours We Took&lt;/h3&gt;&lt;p&gt;Actually, before this redesign, we also tried the simplest approach: &quot;stuffing all features into the sidebar.&quot; At the time, we thought that as long as we hid the features, the interface would become cleaner. But after repeated consideration, we found that even we couldn&#39;t find the features we wanted. That&#39;s when we realized: &lt;strong&gt;simplicity isn&#39;t about hiding things, it&#39;s about not needing them in the first place&lt;/strong&gt;.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/deb3403aec9c8adc9d368e1ce8fad995.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Take our waterfall view feature, for example. It looked cool, and some team members really liked it. But in reality, many people just treated it as window dressing, purely aesthetic, not actually using it to manage content. Yet to maintain this feature, we had to ensure compatibility every time, and for a while we lost sight of priorities, adding a bunch of management features to what was essentially a display function.&lt;/p&gt;&lt;p&gt;So in this redesign, we quietly downplayed its presence. An old user commented: &quot;Where did the waterfall view go? I loved that browsing experience!&quot; I understand their disappointment and I&#39;m aware of the consequences of this decision, but to keep the product from becoming overly complex, sometimes tough choices have to be made. Of course, the waterfall view is still there. It&#39;s just become an auxiliary feature now, giving people a path to walk rather than making it the main highway.&lt;/p&gt;&lt;p&gt;So what&#39;s left after we cut those redundant features? A purer, more beautiful product experience. And this change in experience even changed my own usage habits.&lt;/p&gt;&lt;p&gt;After this release, we spent some time observing feedback from users and team members. Most gave fairly positive feedback, saying the interface became more attractive and smoother to use. Of course, some people were upset because they couldn&#39;t find previous features (which, as mentioned earlier, I had cut). Overall, the evaluation leaned positive.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;In today&#39;s world of increasingly homogeneous product features, beauty and delightful experiences often become the key factors in user choice.&lt;/strong&gt; When everyone can achieve &quot;usable,&quot; &quot;easy to use&quot; and &quot;want to use&quot; become the core differentiators. And this differentiation often comes from design restraint and attention to detail.&lt;/p&gt;&lt;h3&gt;My Creative Workflow Migrated to YouMind&lt;/h3&gt;&lt;p&gt;Speaking for myself, the tangible change is that I moved my creative workflow to YouMind.&lt;/p&gt;&lt;p&gt;I&#39;m embarrassed to admit that I hadn&#39;t really been doing text creation in YouMind before. I sometimes found it inconvenient to use, not because the features weren&#39;t good. I believe our team&#39;s work on AI writing is definitely superior to other products. The main reason was habit.&lt;/p&gt;&lt;p&gt;After the Yuque team disbanded years ago, I started migrating my document management to Notion. It&#39;s been about two years now, and while Notion has its issues, I gradually developed a habit of creating text there. Previously, YouMind&#39;s biggest use case for me was auxiliary reading and thinking. Because I&#39;m the type who, while not a great writer, can just write whatever comes to mind, I didn&#39;t really need a creation environment most of the time since that work was done in Notion.&lt;/p&gt;&lt;p&gt;But after this redesign, I&#39;ve quietly started using YouMind to write documents I want to share. This isn&#39;t because we&#39;re the creators and I&#39;m forcing myself to use the product. I believe many so-called product creators probably haven&#39;t even touched 10% of their own product&#39;s features.&lt;/p&gt;&lt;p&gt;But this time, both the interface and user experience genuinely moved me. You might say, &quot;Come on, you&#39;re just tooting your own horn!&quot; Sure, I can&#39;t rule out that possibility. But most importantly, &lt;strong&gt;I&#39;ve started to believe that this version of our design, from my own perspective, has actually surpassed Notion&#39;s experience&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;My creative workflow migration happened naturally. This also validates from the side that this redesign genuinely moved me, and that feeling came from my most authentic inner response.&lt;/p&gt;&lt;h3&gt;Where Does This Satisfaction Come From?&lt;/h3&gt;&lt;p&gt;So if we look at this satisfaction from a design perspective, how do we articulate it? There are actually a few key points:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Extreme Simplicity and White Space&lt;/strong&gt;: The current version of YouMind is very clean, with plenty of white space that lets you focus when creating or reading. For example, in the editor, we removed many of the originally complex toolbars, keeping only the most commonly used features, giving the entire interface more breathing room. When you open a blank page, you&#39;re not distracted by a bunch of buttons and options, you can just start writing.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Features Just Right&lt;/strong&gt;: Not too many, not too few, basically appearing where you&#39;d expect them. For instance, when reading materials, Pick (annotation) naturally appears when you select text, rather than being hidden in some corner. When you want to share content, the share button is right where you&#39;d most easily find it. This &quot;just right&quot; quality makes the entire usage flow incredibly smooth.&lt;/li&gt;&lt;/ul&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/fe4db2cb8fe59582427fb0f8700c1800.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Of course, when it actually got to users, there was some feedback that differed from our design intentions. For example, some couldn&#39;t find the waterfall view, others asked why Side Peek couldn&#39;t open other content and only allowed materials. Behind this feedback are actually some of our thoughts on feature positioning.&lt;/p&gt;&lt;h3&gt;Feature Positioning Purity: The Side Peek Example&lt;/h3&gt;&lt;p&gt;Many times, it&#39;s not that we couldn&#39;t do it from a design perspective. It&#39;s that I intentionally chose not to. I&#39;ve debated this topic with the development team for a long time. Although everyone&#39;s opinions sometimes differ, the basic assumptions are the same.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;We want to provide users with a purer product experience, which sometimes means not letting auxiliary features become more complex.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Why doesn&#39;t Side Peek have complex capabilities? Simple, since we defined it as Side Peek, it&#39;s meant to be auxiliary in the moment, not a main feature. An auxiliary feature shouldn&#39;t add to the overall complexity here, as that would make Side Peek steal the spotlight.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Good design isn&#39;t about showing users all possibilities. It&#39;s about showing them the one they need most.&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/65ac0eff05daac28099ba40291591e4b.jpeg&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;We didn&#39;t design it to replace the main function, but rather to assist our learning and creation scenarios at the right moments in the main flow. Side Peek&#39;s restraint is to keep the main function pure.&lt;/p&gt;&lt;h2&gt;In Closing&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Product growth isn&#39;t about piling up features. It&#39;s about finding balance through subtraction&lt;/strong&gt;. That&#39;s the fundamental logic behind our redesign. Looking back at this entire redesign process, we also have some design insights to share:&lt;/p&gt;&lt;p&gt;&lt;strong&gt;We believe that truly great products aren&#39;t those with the most features, but those that understand users best.&lt;/strong&gt; And this &quot;understanding&quot; often comes from polishing details and staying true to core values.&lt;/p&gt;&lt;p&gt;Of course, YouMind still has many issues, and there are many phenomena I can&#39;t validate on my own in this document. But I hope that deep down, whether it&#39;s me or the YouMind development team, we all maintain this restraint and vigilance, making YouMind a tool that is both elegant and just right.&lt;/p&gt;&lt;p&gt;If you&#39;re also building products, I hope the thinking behind this redesign gives you some inspiration. If you&#39;re a YouMind user, feel free to tell us where we can do better. After all, products are meant to serve users, and your feedback is what drives us forward.&lt;/p&gt;&lt;p&gt;Let&#39;s work together to find product balance through subtraction.&lt;/p&gt;</description>
      <link>https://www.caicai.me/blogs/youmind-finding-product-balance-through-subtraction</link>
      <guid isPermaLink="false">https://www.caicai.me/blogs/youmind-finding-product-balance-through-subtraction</guid>
      <pubDate>Thu, 22 Jan 2026 16:00:00 GMT</pubDate>
      <enclosure url="https://www.caicai.me/images/blog/e180995b4391214fce5c9f13cc67502a.png" type="image/jpeg"></enclosure>
      <category>Work Insights</category>
    </item>
    <item>
      <title>What AI Coding Means for Product Designers</title>
      <description>&lt;p&gt;When&#39;s the last time you opened Figma?&lt;/p&gt;&lt;p&gt;Over the past six months, I&#39;ve moved a significant portion of my design work to AI coding. When I zoom out from my own workflow and look at the industry as a whole, I see something worth discussing: &lt;strong&gt;our profession is undergoing a fundamental restructuring, and most people haven&#39;t realized it yet.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;A Concrete Example&lt;/h2&gt;&lt;p&gt;Recently, while building a trash feature for YouMind, I had a moment of clarity.&lt;/p&gt;&lt;p&gt;Traditionally, building this kind of feature really tests a designer&#39;s experience. The trash function seems simple on the surface, but the logic underneath is incredibly complex. In the past, we&#39;d pile up mockups in our design tools, trying to visualize every possible scenario to ensure logical completeness. That&#39;s where experience showed junior designers working on something like this would constantly miss edge cases.&lt;/p&gt;&lt;p&gt;You&#39;d think you&#39;d covered scenarios A, B, and C, then sit down with engineering and realize there are also scenarios D and E.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/8a07d1ff695d333941004a04f91ab785.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Now it&#39;s different. I just open Claude, describe the feature, and have AI simulate all the logical possibilities. It can reference the existing designs and generate a basic prototype to test with.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/9a562688f80003d1cd77245a564ad659.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Questions like &quot;What happens after deletion? How do we restore? What about bulk deletion and restoration?&quot; complex flows that used to require multiple rounds of back and forth can now be validated in a few hours with AI.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;The shift is subtle. On the surface, it looks like a tool change, but what&#39;s really changed is the medium of thought.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Designers used to think in &quot;interfaces&quot; , put a button here, add a modal there. Now we need to start thinking in &quot;systems&quot; when this button is clicked, what changes in state? Where does the data flow? What are the edge cases?&lt;/p&gt;&lt;p&gt;Just like painters think in color and writers think in words. &lt;strong&gt;Change the medium, and the dimensions of thought change too.&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;The Shift I&#39;m Seeing&lt;/h2&gt;&lt;p&gt;Behind this example is a split happening across the entire industry.&lt;/p&gt;&lt;p&gt;One group of designers still follows the traditional workflow: open Figma, sketch ideas, create high fidelity mockups, spec out interactions, hand off to engineering, and wait for implementation. This process takes anywhere from a few days to several weeks or even months. Nothing wrong with that, it&#39;s doing things right.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/b1afb766861dd7d20731a95720c8235e.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Another group, myself included, has started using AI coding to build prototypes. From idea to interactive validation in hours. Working with something that actually runs, testing and iterating, rather than imagining in our heads or pushing pixels on a canvas.&lt;/p&gt;&lt;h3&gt;From Idea to Prototype: Distance Collapsed&lt;/h3&gt;&lt;p&gt;The traditional design workflow is linear. You get requirements, go from idea to sketch to high fidelity visuals, hand off to engineering for implementation, then test before launch. Start to finish: days at best, weeks or even months more commonly.&lt;/p&gt;&lt;p&gt;With AI coding, the process becomes: idea, then straight to prototyping with tools like Claude Code or Cursor. Test the prototype immediately and validate. The cycle collapses to hours.&lt;/p&gt;&lt;p&gt;What you&#39;ll find is that instead of spending days in design files agonizing over interaction details, you can now have AI generate several different interaction approaches. You don&#39;t have to imagine the next step, you can actually experience which interaction works best for your product.&lt;/p&gt;&lt;p&gt;For me, the evidence is clear: my Figma usage has dropped while I&#39;m constantly hitting my Claude Code limits. This isn&#39;t to say Figma is bad, it&#39;s just that I&#39;ve gotten used to building being faster and feeling more tangible than designing.&lt;/p&gt;&lt;p&gt;I suspect that in the near future, Figma will gradually lose users like me. As the technology advances, manual mockup creation may become less necessary.&lt;/p&gt;&lt;h3&gt;From Interface Thinking to Systems Thinking&lt;/h3&gt;&lt;p&gt;Another significant shift is the move from flat to dimensional thinking. Before, you&#39;d think: &quot;Should I put a button here? Add a popup there?&quot; At most, you&#39;d check with stakeholders about copy.&lt;/p&gt;&lt;p&gt;When you start implementing through AI, you begin asking different questions: &quot;After the user clicks this button, what&#39;s the state? If there&#39;s data, how should it display? What happens if the click fails?&quot;&lt;/p&gt;&lt;p&gt;You&#39;ll gradually realize you&#39;re now focused on state, logic, edge cases, and data flow. Take YouMind&#39;s trash feature, traditional design thinking only cares about &quot;can I click it, can I delete it?&quot; With the new mindset, you expand to: &quot;What types of data should go in? What&#39;s the restoration flow once it&#39;s there?&quot;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/9ea4e31d2b11e5eed6afdc1d8ae3fa4b.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;Many designers have long stayed at the interface level, with relatively narrow focus and limited technical depth. With these new skills, more designers will naturally start thinking in systems. When discussing with engineers, the conversation shifts from &quot;Can this be done?&quot; to &quot;Maybe this approach would work better.&quot;&lt;/p&gt;&lt;h2&gt;What This Change Means&lt;/h2&gt;&lt;p&gt;Looking at the essence behind the shift, what does this really mean? I see it from three angles:&lt;/p&gt;&lt;h3&gt;Redistribution of Power&lt;/h3&gt;&lt;p&gt;In the production pipeline, engineering used to hold clear decision-making power because they controlled the final act of creation. Transforming idea into product had to go through their hands.&lt;/p&gt;&lt;p&gt;As technical capabilities become democratized, designers no longer need to &quot;convince&quot; others to implement their ideas. &lt;strong&gt;It&#39;s not about who has the technical skills having creative power, it&#39;s a return to fundamentals: the thinking and judgment behind your ideas determine creative power.&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;The same applies to engineers. If they simply continue collaborating with the old mindset, they&#39;ll likely be replaced, it&#39;s just a matter of time. Engineers face the same challenge we do: step outside your domain, return to creativity, return to judging &quot;which path to take next.&quot;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Technical skill is no longer the scarce resource. Judgment is.&lt;/strong&gt;&lt;/p&gt;&lt;h3&gt;A New Medium for Thought&lt;/h3&gt;&lt;p&gt;From the moment we understand our profession, we lock in our medium of thought. Painters think in color, writers think in words, and we product designers have thought in interfaces and design mockups.&lt;/p&gt;&lt;p&gt;But &quot;drawing&quot; has limitations. Show someone a picture, and everyone might see something different, because images struggle to convey deeper information.&lt;/p&gt;&lt;p&gt;When you use AI coding to express yourself, you start using &lt;strong&gt;&quot;executable form&quot;&lt;/strong&gt; as your thinking medium. Your imaginative space expands completely, you can now add state to visuals, incorporate behavioral logic, include data flow.&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/702f20b673aaa7a5b74d944a66fb85c1.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;This isn&#39;t just gaining a skill, it&#39;s gaining an entirely new way of thinking about the world. And because this medium delivers a more dimensional, satisfying experience, it gradually becomes your primary tool. Code slowly becomes your medium of thought, not just an implementation tool.&lt;/p&gt;&lt;h3&gt;A Shift in Identity&lt;/h3&gt;&lt;p&gt;Designers used to work on parts of products. In my interviewing experience, I&#39;ve met many designers who spent 1-2 years maintaining a tiny feature subset, like forms for an admin platform. Not that these features aren&#39;t important, but this approach limits a designer&#39;s potential and their genuine engagement with the world.&lt;/p&gt;&lt;p&gt;With AI coding, you can independently complete an entire product. This pushes you to think about what you&#39;re facing when you&#39;re not just building a feature, but building an entire product vision:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;What problem does this product solve?&lt;/li&gt;&lt;li&gt;How does it solve it?&lt;/li&gt;&lt;li&gt;What are the underlying values?&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;When you start thinking about these foundational questions instead of individual features, &lt;strong&gt;you slowly shift from product contributor to product author.&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;https://www.caicai.me/images/blog/4555b5ed95ae790eccd6a0709b727c1a.png&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;p&gt;It&#39;s like you used to be the guitarist in a band, and now you&#39;re writing songs, arranging, recording, and even distributing, all on your own.&lt;/p&gt;&lt;p&gt;This changes the completeness of creation, expanding from a point to a plane, making people in our profession multidimensional.&lt;/p&gt;&lt;h2&gt;Final Thoughts&lt;/h2&gt;&lt;p&gt;The biggest change AI coding brings is that we, as product designers, can move from being one cog in professional specialization to experiencing what it means to be a &quot;complete creator.&quot; It&#39;s not just about skill improvement, it&#39;s about a shift in thinking and identity. This is perhaps the biggest redistribution of creative power in our industry since the birth of the internet.&lt;/p&gt;&lt;p&gt;Of course, the implications extend beyond product designers to every role in our field. A year before large language models appeared, people worried about being replaced.&lt;/p&gt;&lt;p&gt;My answer remains the same: y

@TonyRL TonyRL merged commit 1d7f3dc into DIYgod:master Apr 14, 2026
28 of 29 checks passed
@TonyRL TonyRL deleted the feat/caicai branch April 14, 2026 17:56
red17electro pushed a commit to red17electro/RSSHub that referenced this pull request Apr 17, 2026
* feat(route): add Castbox route (DIYgod#21700)

* feat(route): add Castbox route

* remove User Agent and switch item_image

* remove missed use of trueUA

* remove unnecessary import

* fix typo

* fix(route/gameapps): fix selectors (DIYgod#21703)

* docs: add sports category (DIYgod#21704)

* feat: add sports category

* fix: fix runyeah

* fix(ci): use REST API to find PRs by branch in workflows

`gh pr view` queries with a hidden `first: 30` which fails to find PRs when the target PR falls outside the first page. The REST API filters by `head=owner:branch` server-side which avoid this limitation.

* fix(elamigos): fix parsing after webpage layout update (DIYgod#21705)

* chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (DIYgod#21709)

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@bbbca2d...043fb46)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump undici from 7.24.7 to 7.24.8 (DIYgod#21713)

Bumps [undici](https://github.com/nodejs/undici) from 7.24.7 to 7.24.8.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v7.24.7...v7.24.8)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.24.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump @hono/node-server from 1.19.13 to 1.19.14 (DIYgod#21712)

Bumps [@hono/node-server](https://github.com/honojs/node-server) from 1.19.13 to 1.19.14.
- [Release notes](https://github.com/honojs/node-server/releases)
- [Commits](honojs/node-server@v1.19.13...v1.19.14)

---
updated-dependencies:
- dependency-name: "@hono/node-server"
  dependency-version: 1.19.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump dotenv from 17.4.1 to 17.4.2 (DIYgod#21715)

Bumps [dotenv](https://github.com/motdotla/dotenv) from 17.4.1 to 17.4.2.
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](motdotla/dotenv@v17.4.1...v17.4.2)

---
updated-dependencies:
- dependency-name: dotenv
  dependency-version: 17.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump jsrsasign from 11.1.1 to 11.1.2 (DIYgod#21717)

Bumps [jsrsasign](https://github.com/kjur/jsrsasign) from 11.1.1 to 11.1.2.
- [Release notes](https://github.com/kjur/jsrsasign/releases)
- [Changelog](https://github.com/kjur/jsrsasign/blob/master/ChangeLog.txt)
- [Commits](kjur/jsrsasign@11.1.1...11.1.2)

---
updated-dependencies:
- dependency-name: jsrsasign
  dependency-version: 11.1.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @cloudflare/workers-types in the cloudflare group (DIYgod#21707)

Bumps the cloudflare group with 1 update: [@cloudflare/workers-types](https://github.com/cloudflare/workerd).


Updates `@cloudflare/workers-types` from 4.20260410.1 to 4.20260413.1
- [Release notes](https://github.com/cloudflare/workerd/releases)
- [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md)
- [Commits](https://github.com/cloudflare/workerd/commits)

---
updated-dependencies:
- dependency-name: "@cloudflare/workers-types"
  dependency-version: 4.20260413.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: cloudflare
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump docker/build-push-action from 7.0.0 to 7.1.0 (DIYgod#21708)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@d08e5c3...bcafcac)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump devenv from `d4410df` to `88ac631` (DIYgod#21718)

Bumps [devenv](https://github.com/cachix/devenv) from `d4410df` to `88ac631`.
- [Release notes](https://github.com/cachix/devenv/releases)
- [Commits](cachix/devenv@d4410df...88ac631)

---
updated-dependencies:
- dependency-name: devenv
  dependency-version: 88ac631cf8b6582ed372b8b22e3bd12240c61f64
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(nix): update dependencies hash to sha256-v8KDnut1FrWMgre355e8VodnHmpcQR8XChHSPOfXs5s=

* chore(deps): bump re2js from 2.0.1 to 2.1.1 (DIYgod#21714)

Bumps [re2js](https://github.com/le0pard/re2js) from 2.0.1 to 2.1.1.
- [Release notes](https://github.com/le0pard/re2js/releases)
- [Commits](le0pard/re2js@2.0.1...2.1.1)

---
updated-dependencies:
- dependency-name: re2js
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump globals from 17.4.0 to 17.5.0 (DIYgod#21711)

Bumps [globals](https://github.com/sindresorhus/globals) from 17.4.0 to 17.5.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](sindresorhus/globals@v17.4.0...v17.5.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump @hono/zod-openapi from 1.2.4 to 1.3.0 (DIYgod#21716)

Bumps [@hono/zod-openapi](https://github.com/honojs/middleware/tree/HEAD/packages/zod-openapi) from 1.2.4 to 1.3.0.
- [Release notes](https://github.com/honojs/middleware/releases)
- [Changelog](https://github.com/honojs/middleware/blob/main/packages/zod-openapi/CHANGELOG.md)
- [Commits](https://github.com/honojs/middleware/commits/@hono/zod-openapi@1.3.0/packages/zod-openapi)

---
updated-dependencies:
- dependency-name: "@hono/zod-openapi"
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump pnpm/action-setup from 5.0.0 to 6.0.0 (DIYgod#21710)

Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](pnpm/action-setup@fc06bc1...08c4be7)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* style: auto format

* feat: disable IPv6 (DIYgod#21719)

* chore: group vitest in dependabot

* chore(deps): bump devenv from `88ac631` to `8d558a8` (DIYgod#21722)

Bumps [devenv](https://github.com/cachix/devenv) from `88ac631` to `8d558a8`.
- [Release notes](https://github.com/cachix/devenv/releases)
- [Commits](cachix/devenv@88ac631...8d558a8)

---
updated-dependencies:
- dependency-name: devenv
  dependency-version: 8d558a84fa38242a7f13781670fee1a6a8902b48
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(nix): update dependencies hash to sha256-b/SBHeUs+zsKjx3Et/ppNoA1fm8/KGiaHCEvOP+af5I=

* refactor: fix first() and undefined fallback abuse

* refactor: add GraphQL annotation to queries for auto formatting in oxfmt v0.42

79a525c

* style: auto format

* chore: fix pnpm install

revert DIYgod#21710
close DIYgod#21724
related pnpm/action-setup#225

* chore(deps): bump lru-cache from 11.3.3 to 11.3.5 (DIYgod#21730)

Bumps [lru-cache](https://github.com/isaacs/node-lru-cache) from 11.3.3 to 11.3.5.
- [Changelog](https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md)
- [Commits](isaacs/node-lru-cache@v11.3.3...v11.3.5)

---
updated-dependencies:
- dependency-name: lru-cache
  dependency-version: 11.3.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump tsdown from 0.21.7 to 0.21.8 (DIYgod#21735)

Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.21.7 to 0.21.8.
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.21.7...v0.21.8)

---
updated-dependencies:
- dependency-name: tsdown
  dependency-version: 0.21.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump msw from 2.13.2 to 2.13.3 (DIYgod#21731)

Bumps [msw](https://github.com/mswjs/msw) from 2.13.2 to 2.13.3.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](mswjs/msw@v2.13.2...v2.13.3)

---
updated-dependencies:
- dependency-name: msw
  dependency-version: 2.13.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump discord-api-types from 0.38.45 to 0.38.46 (DIYgod#21737)

Bumps [discord-api-types](https://github.com/discordjs/discord-api-types) from 0.38.45 to 0.38.46.
- [Release notes](https://github.com/discordjs/discord-api-types/releases)
- [Changelog](https://github.com/discordjs/discord-api-types/blob/main/CHANGELOG.md)
- [Commits](discordjs/discord-api-types@0.38.45...0.38.46)

---
updated-dependencies:
- dependency-name: discord-api-types
  dependency-version: 0.38.46
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the typescript-eslint group with 2 updates (DIYgod#21728)

Bumps the typescript-eslint group with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser).


Updates `@typescript-eslint/eslint-plugin` from 8.58.1 to 8.58.2
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.2/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.58.1 to 8.58.2
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.2/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.58.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: typescript-eslint
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.58.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: typescript-eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump re2js from 2.1.1 to 2.2.0 (DIYgod#21736)

Bumps [re2js](https://github.com/le0pard/re2js) from 2.1.1 to 2.2.0.
- [Release notes](https://github.com/le0pard/re2js/releases)
- [Commits](le0pard/re2js@2.1.1...2.2.0)

---
updated-dependencies:
- dependency-name: re2js
  dependency-version: 2.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: fix find PR no. by branch name for dependabot

* chore(deps-dev): bump got from 15.0.1 to 15.0.2 (DIYgod#21734)

Bumps [got](https://github.com/sindresorhus/got) from 15.0.1 to 15.0.2.
- [Release notes](https://github.com/sindresorhus/got/releases)
- [Commits](sindresorhus/got@v15.0.1...v15.0.2)

---
updated-dependencies:
- dependency-name: got
  dependency-version: 15.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the cloudflare group with 3 updates (DIYgod#21726)

Bumps the cloudflare group with 3 updates: [@cloudflare/puppeteer](https://github.com/cloudflare/puppeteer), [@cloudflare/workers-types](https://github.com/cloudflare/workerd) and [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler).


Updates `@cloudflare/puppeteer` from 1.0.7 to 1.1.0
- [Release notes](https://github.com/cloudflare/puppeteer/releases)
- [Commits](cloudflare/puppeteer@v1.0.7...v1.1.0)

Updates `@cloudflare/workers-types` from 4.20260413.1 to 4.20260414.1
- [Release notes](https://github.com/cloudflare/workerd/releases)
- [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md)
- [Commits](https://github.com/cloudflare/workerd/commits)

Updates `wrangler` from 4.81.1 to 4.82.2
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.82.2/packages/wrangler)

---
updated-dependencies:
- dependency-name: "@cloudflare/puppeteer"
  dependency-version: 1.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: cloudflare
- dependency-name: "@cloudflare/workers-types"
  dependency-version: 4.20260414.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: cloudflare
- dependency-name: wrangler
  dependency-version: 4.82.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: cloudflare
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump undici from 7.24.8 to 7.25.0 (DIYgod#21732)

Bumps [undici](https://github.com/nodejs/undici) from 7.24.8 to 7.25.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](nodejs/undici@v7.24.8...v7.25.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 7.25.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump @notionhq/client from 5.17.0 to 5.18.0 (DIYgod#21733)

Bumps [@notionhq/client](https://github.com/makenotion/notion-sdk-js) from 5.17.0 to 5.18.0.
- [Release notes](https://github.com/makenotion/notion-sdk-js/releases)
- [Commits](makenotion/notion-sdk-js@v5.17.0...v5.18.0)

---
updated-dependencies:
- dependency-name: "@notionhq/client"
  dependency-version: 5.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the oxc group across 1 directory with 5 updates (DIYgod#21739)

* chore(deps-dev): bump the oxc group across 1 directory with 5 updates

Bumps the oxc group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [@oxlint/plugins](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint-plugins) | `1.59.0` | `1.60.0` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) | `0.44.0` | `0.45.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint) | `1.59.0` | `1.60.0` |
| [oxlint-plugin-eslint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint-plugin-eslint) | `1.59.0` | `1.60.0` |
| [oxlint-tsgolint](https://github.com/oxc-project/tsgolint) | `0.20.0` | `0.21.0` |



Updates `@oxlint/plugins` from 1.59.0 to 1.60.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/apps_v1.60.0/npm/oxlint-plugins)

Updates `oxfmt` from 0.44.0 to 0.45.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.45.0/npm/oxfmt)

Updates `oxlint` from 1.59.0 to 1.60.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.60.0/npm/oxlint)

Updates `oxlint-plugin-eslint` from 1.59.0 to 1.60.0
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint-plugin-eslint/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/apps_v1.60.0/npm/oxlint-plugin-eslint)

Updates `oxlint-tsgolint` from 0.20.0 to 0.21.0
- [Release notes](https://github.com/oxc-project/tsgolint/releases)
- [Commits](oxc-project/tsgolint@v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: "@oxlint/plugins"
  dependency-version: 1.60.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: oxc
- dependency-name: oxfmt
  dependency-version: 0.45.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: oxc
- dependency-name: oxlint
  dependency-version: 1.60.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: oxc
- dependency-name: oxlint-plugin-eslint
  dependency-version: 1.60.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: oxc
- dependency-name: oxlint-tsgolint
  dependency-version: 0.21.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: oxc
...

Signed-off-by: dependabot[bot] <support@github.com>

* style: use native unicorn/consistent-template-literal-escape and add stylistic/quotes

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* chore: update format scripts

glob doesn't work well
oxc-project/oxc#13556

* style: auto format

* chore(deps-dev): bump the vitest group with 2 updates (DIYgod#21729)

Bumps the vitest group with 2 updates: [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) and [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest).


Updates `@vitest/coverage-v8` from 4.0.9 to 4.1.4
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.4/packages/coverage-v8)

Updates `vitest` from 4.0.9 to 4.1.4
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.4/packages/vitest)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.1.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
- dependency-name: vitest
  dependency-version: 4.1.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: vitest
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* style: auto format

* feat(route): add pixel update bulletins (DIYgod#21740)

* feat(route): add caicai blog (DIYgod#21741)

* feat(route): add caicai blog

* fix: favicon

* chore(deps-dev): bump @cloudflare/workers-types in the cloudflare group (DIYgod#21743)

Bumps the cloudflare group with 1 update: [@cloudflare/workers-types](https://github.com/cloudflare/workerd).


Updates `@cloudflare/workers-types` from 4.20260414.1 to 4.20260415.1
- [Release notes](https://github.com/cloudflare/workerd/releases)
- [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md)
- [Commits](https://github.com/cloudflare/workerd/commits)

---
updated-dependencies:
- dependency-name: "@cloudflare/workers-types"
  dependency-version: 4.20260415.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: cloudflare
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump devenv from `8d558a8` to `07aa7cb` (DIYgod#21745)

Bumps [devenv](https://github.com/cachix/devenv) from `8d558a8` to `07aa7cb`.
- [Release notes](https://github.com/cachix/devenv/releases)
- [Commits](cachix/devenv@8d558a8...07aa7cb)

---
updated-dependencies:
- dependency-name: devenv
  dependency-version: 07aa7cb4959bdc6d6537b819cc766ab3277fbb59
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(nix): update dependencies hash to sha256-miyvJu4AKhQVlWea8a8bYN2y0KpXd5ooUmJQpoGioCs=

* chore(deps): bump hono from 4.12.12 to 4.12.14 (DIYgod#21744)

Bumps [hono](https://github.com/honojs/hono) from 4.12.12 to 4.12.14.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.12.12...v4.12.14)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.12.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: add vouch trust management system

* Update VOUCHED list

DIYgod#21742 (comment)

* chore: close PR after denouncing

* chore(deps): bump sanitize-html from 2.17.2 to 2.17.3 (DIYgod#21749)

Bumps [sanitize-html](https://github.com/apostrophecms/apostrophe/tree/HEAD/packages/sanitize-html) from 2.17.2 to 2.17.3.
- [Changelog](https://github.com/apostrophecms/apostrophe/blob/main/packages/sanitize-html/CHANGELOG.md)
- [Commits](https://github.com/apostrophecms/apostrophe/commits/sanitize-html@2.17.3/packages/sanitize-html)

---
updated-dependencies:
- dependency-name: sanitize-html
  dependency-version: 2.17.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump devenv from `07aa7cb` to `2012662` (DIYgod#21751)

Bumps [devenv](https://github.com/cachix/devenv) from `07aa7cb` to `2012662`.
- [Release notes](https://github.com/cachix/devenv/releases)
- [Commits](cachix/devenv@07aa7cb...2012662)

---
updated-dependencies:
- dependency-name: devenv
  dependency-version: 2012662a89ff2ce92044151d7bbf3894eec5620a
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(nix): update dependencies hash to sha256-aehV414pbc2t0JsC9Rkbllu9v3Mpw/wmZQo7hvEyX08=

* chore(deps): bump nixpkgs from `4c1018d` to `4bd9165` (DIYgod#21752)

Bumps [nixpkgs](https://github.com/NixOS/nixpkgs) from `4c1018d` to `4bd9165`.
- [Commits](NixOS/nixpkgs@4c1018d...4bd9165)

---
updated-dependencies:
- dependency-name: nixpkgs
  dependency-version: 4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump @scalar/hono-api-reference from 0.10.7 to 0.10.8 (DIYgod#21750)

Bumps [@scalar/hono-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/hono) from 0.10.7 to 0.10.8.
- [Release notes](https://github.com/scalar/scalar/releases)
- [Changelog](https://github.com/scalar/scalar/blob/main/integrations/hono/CHANGELOG.md)
- [Commits](https://github.com/scalar/scalar/commits/HEAD/integrations/hono)

---
updated-dependencies:
- dependency-name: "@scalar/hono-api-reference"
  dependency-version: 0.10.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the cloudflare group with 3 updates (DIYgod#21748)

Bumps the cloudflare group with 3 updates: [@cloudflare/containers](https://github.com/cloudflare/containers), [@cloudflare/workers-types](https://github.com/cloudflare/workerd) and [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler).


Updates `@cloudflare/containers` from 0.3.0 to 0.3.2
- [Release notes](https://github.com/cloudflare/containers/releases)
- [Changelog](https://github.com/cloudflare/containers/blob/main/CHANGELOG.md)
- [Commits](cloudflare/containers@v0.3.0...v0.3.2)

Updates `@cloudflare/workers-types` from 4.20260415.1 to 4.20260416.2
- [Release notes](https://github.com/cloudflare/workerd/releases)
- [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md)
- [Commits](https://github.com/cloudflare/workerd/commits)

Updates `wrangler` from 4.82.2 to 4.83.0
- [Release notes](https://github.com/cloudflare/workers-sdk/releases)
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.83.0/packages/wrangler)

---
updated-dependencies:
- dependency-name: "@cloudflare/containers"
  dependency-version: 0.3.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: cloudflare
- dependency-name: "@cloudflare/workers-types"
  dependency-version: 4.20260416.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: cloudflare
- dependency-name: wrangler
  dependency-version: 4.83.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: cloudflare
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(route/bestblogs): API endpoint failure (DIYgod#21753)

* revert: "chore(deps-dev): bump the cloudflare group with 3 updates (DIYgod#21748)" (DIYgod#21754)

This reverts commit 9d5f61f.

* docs: add FANTIA_COOKIE (DIYgod#21755)

* docs: add FANTIA_COOKIE

* fix(user): handle optional fanClub.comment in description

* chore: bump basic-ftp and lodash

* chore: bump protobufjs

* chore(deps-dev): bump tsdown from 0.21.8 to 0.21.9 (DIYgod#21761)

Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.21.8 to 0.21.9.
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](rolldown/tsdown@v0.21.8...v0.21.9)

---
updated-dependencies:
- dependency-name: tsdown
  dependency-version: 0.21.9
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump discord-api-types from 0.38.46 to 0.38.47 (DIYgod#21763)

Bumps [discord-api-types](https://github.com/discordjs/discord-api-types) from 0.38.46 to 0.38.47.
- [Release notes](https://github.com/discordjs/discord-api-types/releases)
- [Changelog](https://github.com/discordjs/discord-api-types/blob/main/CHANGELOG.md)
- [Commits](discordjs/discord-api-types@0.38.46...0.38.47)

---
updated-dependencies:
- dependency-name: discord-api-types
  dependency-version: 0.38.47
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump msw from 2.13.3 to 2.13.4 (DIYgod#21764)

Bumps [msw](https://github.com/mswjs/msw) from 2.13.3 to 2.13.4.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](mswjs/msw@v2.13.3...v2.13.4)

---
updated-dependencies:
- dependency-name: msw
  dependency-version: 2.13.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump oxlint-tsgolint in the oxc group (DIYgod#21760)

Bumps the oxc group with 1 update: [oxlint-tsgolint](https://github.com/oxc-project/tsgolint).


Updates `oxlint-tsgolint` from 0.21.0 to 0.21.1
- [Release notes](https://github.com/oxc-project/tsgolint/releases)
- [Commits](oxc-project/tsgolint@v0.21.0...v0.21.1)

---
updated-dependencies:
- dependency-name: oxlint-tsgolint
  dependency-version: 0.21.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: oxc
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Ananya <84459091+ananyatimalsina@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com>
Co-authored-by: Chris Sauermann <chris.sauermann@proton.me>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: occam-7 <liver-saga-utmost@duck.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto: ready to review Manual review will come in after lint issues and merge conflicts are fixed route

Projects

None yet

Development

Successfully merging this pull request may close these issues.

caicai's blog

1 participant