<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pow</title>
    <description>The latest articles on DEV Community by Pow (@powxenv).</description>
    <link>https://dev.to/powxenv</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F786208%2F9067487e-1b37-4d92-8725-e866132ad8df.jpg</url>
      <title>DEV Community: Pow</title>
      <link>https://dev.to/powxenv</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/powxenv"/>
    <language>en</language>
    <item>
      <title>Why I'm Not Recommending OpenClaw</title>
      <dc:creator>Pow</dc:creator>
      <pubDate>Fri, 24 Apr 2026 00:10:33 +0000</pubDate>
      <link>https://dev.to/powxenv/why-im-not-recommending-openclaw-5dnm</link>
      <guid>https://dev.to/powxenv/why-im-not-recommending-openclaw-5dnm</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/openclaw-2026-04-16"&gt;OpenClaw Writing Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I've been following OpenClaw since it blew up in late 2025. I even installed it and have been running it for a while now. And honestly, I'm still trying to figure out how I feel about it.&lt;/p&gt;

&lt;p&gt;On one hand, it's the most exciting thing happening in personal AI right now. On the other, I can't in good conscience tell most people to go install it. That contradiction has been bothering me, so I spent some time digging into what's actually going on with this project. Here's what I found.&lt;/p&gt;

&lt;h2&gt;
  
  
  The thing everyone's talking about
&lt;/h2&gt;

&lt;p&gt;If you somehow missed it, OpenClaw is an open-source AI agent framework that you host yourself. Instead of going to a website or opening an app to chat with an AI, you run it on your own machine and connect it to the messaging apps you already use. WhatsApp, Telegram, Discord, Slack, Signal, iMessage, you name it.&lt;/p&gt;

&lt;p&gt;The idea is that your AI assistant becomes part of your digital life rather than something you visit. It can run shell commands, read and write files, browse the web, send emails, manage your calendar, and execute custom skills that other people have built.&lt;/p&gt;

&lt;p&gt;It also has persistent memory that actually works. A heartbeat mechanism lets it take initiative and message you when something needs attention. And you can plug in whatever AI model you want or switch between them as needed.&lt;/p&gt;

&lt;p&gt;This sounds like exactly what personal AI should be. Not a chat tab that forgets everything between sessions, but an agent that lives alongside you, knows your context, and can actually do things on your behalf.&lt;/p&gt;

&lt;p&gt;It's also the fastest-growing open source project in history. Over 350,000 GitHub stars in a few months. The community is huge and passionate. People are building incredible things with it.&lt;/p&gt;

&lt;p&gt;But then there's the other side of the story.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part the hype doesn't mention
&lt;/h2&gt;

&lt;p&gt;The most common post on the OpenClaw subreddit, as reported by Radek Sienkiewicz in his detailed writeup of 50 days with OpenClaw, is pretty telling: "I set up OpenClaw but don't know what to use it for."&lt;/p&gt;

&lt;p&gt;I admit, I relate to this. OpenClaw is running on my system right now, but I'm still figuring out where it actually fits in my workflow. When I'm coding, I still reach for Claude Code. When I have general questions or need quick help, I open ChatGPT. OpenClaw is there, capable and waiting, but I haven't found the thing it does better than the tools I already know.&lt;/p&gt;

&lt;p&gt;That's after getting through a setup process that requires comfort with command lines, API keys, configuration files, and debugging cryptic error messages. In a Reddit thread about production readiness, summarized by BSWEN, every single response agreed that OpenClaw is "not even remotely close to production use."&lt;/p&gt;

&lt;p&gt;The security situation is genuinely concerning. An audit found 512 vulnerabilities, eight of them critical, including a remote code execution flaw. Cisco called it a "security nightmare." Credentials are stored in plain text files. Security researchers found 135,000 OpenClaw instances exposed to the internet. Community skills on ClawHub have been discovered to be straight-up malware, sending data to external servers.&lt;/p&gt;

&lt;p&gt;The reliability issues are frustrating. Memory is inconsistent, sometimes forgetting what it should remember. Context gets lost mid-task. The agent makes wrong assumptions and can't self-correct. It gets stuck in loops. Updates break things constantly. Switching between AI models causes problems.&lt;/p&gt;

&lt;p&gt;And then there's the cost. OpenClaw itself is free, but you need an LLM to make it work. Free models hit limits immediately. As PCMag reported in their critical review, one user ran out of free Gemini usage after a single prompt. Sambhav, writing at ssntpl.com, documented spending $400 testing OpenClaw in real workflows. Serious usage can run anywhere from $15 to $150+ per month according to multiple user reports.&lt;/p&gt;

&lt;h2&gt;
  
  
  But also, it's kind of amazing
&lt;/h2&gt;

&lt;p&gt;Here's the thing that makes this complicated. Despite all of that, the people who stick with OpenClaw often end up loving it.&lt;/p&gt;

&lt;p&gt;Sienkiewicz, in that same 50-day exploration, described seeing his agent "fail, kill itself, and forget what it was working on." But he also saw it "migrate servers, research entire projects with parallel agents, and generate art that makes me smile every morning."&lt;/p&gt;

&lt;p&gt;Aniruddha Adak, writing about his journey with OpenClaw on dev.to, described building "a 24/7 lobster-powered executive assistant that runs in the background, chats via WhatsApp/Telegram, remembers everything, and executes tasks."&lt;/p&gt;

&lt;p&gt;People have built agents that monitor competitors, manage smart homes, automate deployments, handle customer support, and dozens of other use cases.&lt;/p&gt;

&lt;p&gt;The vision behind OpenClaw is genuinely compelling. Your conversation history stays on your infrastructure, not someone else's cloud. You're not locked into any one AI provider. The agent can take initiative through the heartbeat mechanism. You can extend it with thousands of community-built skills.&lt;/p&gt;

&lt;p&gt;This is the direction personal AI should be heading. An open-source, self-hosted infrastructure that respects your privacy, avoids vendor lock-in, and can actually do things on your behalf.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what do you do with all this?
&lt;/h2&gt;

&lt;p&gt;I've been wrestling with this, and here's where I've landed.&lt;/p&gt;

&lt;p&gt;If you're a developer or someone comfortable with infrastructure and debugging, OpenClaw offers a front-row seat to where personal AI is going. You'll deal with rough edges and breaking changes, but you'll also see capabilities that don't exist anywhere else.&lt;/p&gt;

&lt;p&gt;If you work in regulated industries or care deeply about data privacy, OpenClaw gives you more control over where your conversation history lives. You can even configure it with local-only models for true data isolation, though most people still use cloud providers.&lt;/p&gt;

&lt;p&gt;But if you're looking for a polished, reliable assistant that just works, this isn't it. ChatGPT and Claude remain better choices for the vast majority of users right now.&lt;/p&gt;

&lt;p&gt;The gap between what OpenClaw promises and what it currently delivers is real. The people posting "my agent built a full app overnight" have spent weeks tuning and debugging. The demos don't reflect the daily reality.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this is all going
&lt;/h2&gt;

&lt;p&gt;The OpenClaw Foundation seems aware of these issues. Their 2026 roadmap focuses on stability, security, and accessibility. They're planning native multi-agent orchestration, a redesigned plugin SDK, built-in vector memory, an improved web dashboard, and deeper enterprise integrations.&lt;/p&gt;

&lt;p&gt;The vision remains compelling. An open-source personal AI infrastructure that can execute complex tasks autonomously while respecting privacy and avoiding vendor lock-in. This is where we should be headed.&lt;/p&gt;

&lt;p&gt;We're just not there yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  My honest take
&lt;/h2&gt;

&lt;p&gt;OpenClaw is too important to ignore but too rough to recommend. That's the tension I keep coming back to.&lt;/p&gt;

&lt;p&gt;It represents a significant shift in how we think about personal AI, from reactive chatbots to proactive agents that can actually do things. It prioritizes data sovereignty and user control. It embraces an extensible, community-driven approach.&lt;/p&gt;

&lt;p&gt;These are important values. As AI becomes more integrated into our lives, having open-source alternatives that respect privacy and avoid vendor lock-in matters more and more. OpenClaw is pioneering that path.&lt;/p&gt;

&lt;p&gt;But the current implementation is too rough for mainstream adoption. The security issues need attention. The reliability needs to improve. The setup needs to become more accessible.&lt;/p&gt;

&lt;p&gt;The future of personal AI isn't in chat tabs you visit. It's in agents that live alongside you in your digital life, knowing your context, remembering your preferences, and capable of taking action on your behalf. OpenClaw is pointing toward that future.&lt;/p&gt;

&lt;p&gt;The question is whether it can mature quickly enough to realize its potential before someone else does.&lt;/p&gt;

&lt;p&gt;I'm going to keep watching. Maybe even keep experimenting with it on the side. But I'm not ready to tell anyone else to install it yet.&lt;/p&gt;

&lt;p&gt;Watch this space. The next eighteen months are going to tell us whether OpenClaw becomes the foundation of personal AI infrastructure or merely an ambitious experiment that paved the way for something better.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>openclawchallenge</category>
      <category>openclaw</category>
      <category>ai</category>
    </item>
    <item>
      <title>I built Sotion, an AI social content workflow on top of Notion</title>
      <dc:creator>Pow</dc:creator>
      <pubDate>Sun, 29 Mar 2026 17:47:29 +0000</pubDate>
      <link>https://dev.to/powxenv/i-built-sotion-an-ai-social-content-workflow-on-top-of-notion-1nb6</link>
      <guid>https://dev.to/powxenv/i-built-sotion-an-ai-social-content-workflow-on-top-of-notion-1nb6</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/notion-2026-03-04"&gt;Notion MCP Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built &lt;strong&gt;&lt;a href="https://sotion.up.railway.app/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt;&lt;/strong&gt;, an AI-powered social content assistant that turns a Notion workspace into an operational content system.&lt;/p&gt;

&lt;p&gt;The idea came from a simple problem: a lot of people already keep their best raw material in Notion, whether they are creators, marketers, founders, indie hackers, or small teams. But the moment they want to turn those notes into social posts, the workflow breaks. They jump between docs, AI chat tabs, scheduling tools, and social apps. The content gets rewritten multiple times, context gets lost, and publishing becomes manual again.&lt;/p&gt;

&lt;p&gt;So I built &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; to keep that loop in one place.&lt;/p&gt;

&lt;p&gt;I also wanted it to be useful not only for developers or highly technical users, but for anyone who already feels comfortable working in Notion. That is why the product is built around a guided onboarding flow, plain-language chat, and a workspace model that feels familiar instead of technical. Users do not need to understand MCP, APIs, or agent workflows to get value from it. They just connect their workspace, add an AI provider, and start asking for help naturally.&lt;/p&gt;

&lt;p&gt;Under the hood, I built a custom harness around &lt;strong&gt;&lt;a href="https://developers.notion.com/guides/mcp/mcp" rel="noopener noreferrer"&gt;Notion MCP&lt;/a&gt;&lt;/strong&gt; so Sotion can create an authenticated MCP client for each user, bring those tools into the assistant runtime, and use them as part of a real product workflow rather than as a standalone demo. That harness is what allows Sotion to connect Notion with chat, workspace setup, drafting, organization, and publishing actions in a way that feels seamless to the user.&lt;/p&gt;

&lt;p&gt;With &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt;, a user connects their workspace through Notion MCP, adds their preferred AI provider, and then starts chatting in plain language. From there, Sotion can help create a dedicated social media workspace in Notion, organize a content database, draft posts, rewrite existing ideas, check connected publishing accounts, and publish approved text posts to supported platforms.&lt;/p&gt;

&lt;p&gt;What makes it useful is that Notion is not treated as a passive note dump. It becomes the system of record for the content workflow.&lt;/p&gt;

&lt;p&gt;Live URL: &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;https://sotion.noval.me/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Core features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Connect Notion through &lt;a href="https://developers.notion.com/guides/mcp/mcp" rel="noopener noreferrer"&gt;Notion MCP&lt;/a&gt;&lt;/strong&gt; so &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; can work directly with the user’s workspace&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guided onboarding&lt;/strong&gt; to connect Notion and add an AI provider before entering the app&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Natural-language chat&lt;/strong&gt; for turning notes, ideas, and drafts into social content&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dedicated social content workspace in Notion&lt;/strong&gt;, including a structured database for managing posts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-model AI support&lt;/strong&gt; through providers like OpenAI, Claude, OpenRouter, DeepSeek, Moonshot AI, and Z.AI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Social account connection and readiness checks&lt;/strong&gt; for publishing workflows&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Human-approved publishing&lt;/strong&gt; for posts to supported social platforms&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional online research sources&lt;/strong&gt; via MCP integrations like &lt;a href="https://exa.ai/" rel="noopener noreferrer"&gt;Exa&lt;/a&gt; and &lt;a href="https://www.tavily.com/" rel="noopener noreferrer"&gt;Tavily&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Supported social workflow today
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; is designed for &lt;strong&gt;text-based social publishing&lt;/strong&gt;. Right now, the app supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Twitter (X)&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LinkedIn&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Threads&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Video Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/YK8Xza1msIo"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Show us the code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/powxenv" rel="noopener noreferrer"&gt;
        powxenv
      &lt;/a&gt; / &lt;a href="https://github.com/powxenv/sotion" rel="noopener noreferrer"&gt;
        sotion
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      An AI-powered social content assistant that helps you turn your Notion workspace into a system for planning, drafting, organizing, and publishing social posts.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Sotion&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Sotion is an AI-assisted social content workspace built around Notion.&lt;/p&gt;
&lt;p&gt;It helps users connect Notion, draft social posts with AI, keep content organized in a dedicated Notion workspace, and publish approved text posts to connected platforms.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Demo&lt;/h2&gt;
&lt;/div&gt;

  
    

    &lt;span class="m-1"&gt;demo.mp4&lt;/span&gt;
    
  

  

  


&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Key Features&lt;/h2&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Connect Notion with &lt;strong&gt;Notion MCP&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Guided onboarding for Notion + AI provider setup&lt;/li&gt;
&lt;li&gt;Chat-based workflow for planning, drafting, and rewriting content&lt;/li&gt;
&lt;li&gt;Dedicated Notion workspace for social content management&lt;/li&gt;
&lt;li&gt;Multiple AI provider support:
&lt;ul&gt;
&lt;li&gt;OpenRouter&lt;/li&gt;
&lt;li&gt;OpenAI&lt;/li&gt;
&lt;li&gt;Claude&lt;/li&gt;
&lt;li&gt;DeepSeek&lt;/li&gt;
&lt;li&gt;Moonshot AI&lt;/li&gt;
&lt;li&gt;Z.AI&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Social account connection for &lt;strong&gt;X&lt;/strong&gt; and &lt;strong&gt;LinkedIn&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Approval-based publishing for text posts&lt;/li&gt;
&lt;li&gt;Optional MCP online research sources:
&lt;ul&gt;
&lt;li&gt;Exa&lt;/li&gt;
&lt;li&gt;Tavily&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Setup&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;1. Install dependencies&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;bun install&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;2. Create &lt;code&gt;.env.local&lt;/code&gt;
&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;SERVER_URL=http://localhost:7634
VITE_APP_TITLE=Sotion

DATABASE_URL=postgres://user:password@localhost:5432/sotion
DATABASE_POOL_URL=postgres://user:password@localhost:5432/sotion

NOTION_CLIENT_ID=
NOTION_CLIENT_SECRET=

X_CLIENT_ID=
X_CLIENT_SECRET=

LINKEDIN_CLIENT_ID=
LINKEDIN_CLIENT_SECRET=

THREADS_CLIENT_ID=
THREADS_CLIENT_SECRET=

MCP_ENCRYPTION_KEY=replace-with-a-random-secret-at-least-32-chars
AI_PROVIDER_ENCRYPTION_KEY=replace-with-a-different-random-secret-at-least-32-chars&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Notes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;DATABASE_URL&lt;/code&gt; is used by the app&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;DATABASE_POOL_URL&lt;/code&gt; is used by Drizzle Kit&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;MCP_ENCRYPTION_KEY&lt;/code&gt; is used to encrypt MCP-related secrets&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;AI_PROVIDER_ENCRYPTION_KEY&lt;/code&gt; is used to encrypt AI provider API…&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/powxenv/sotion" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Tech stack:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TanStack Start&lt;/li&gt;
&lt;li&gt;AI SDK&lt;/li&gt;
&lt;li&gt;Drizzle ORM + Neon&lt;/li&gt;
&lt;li&gt;Better Auth&lt;/li&gt;
&lt;li&gt;Notion MCP&lt;/li&gt;
&lt;li&gt;Deploy on Railway&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the core parts of the project is the custom &lt;a href="https://developers.notion.com/guides/mcp/mcp" rel="noopener noreferrer"&gt;Notion MCP&lt;/a&gt; client flow. I built this layer so &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; can connect to &lt;a href="https://developers.notion.com/guides/mcp/mcp" rel="noopener noreferrer"&gt;Notion MCP&lt;/a&gt; using OAuth and create an authorized MCP client for each user session.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;NOTION_MCP_SERVER_URL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;https://mcp.notion.com/mcp&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;createAuthorizedNotionMcpClient&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;args&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="nl"&gt;origin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kr"&gt;string&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;flow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;createProvider&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;args&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;origin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;args&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;origin&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;

  &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;createMCPClient&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;transport&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;http&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;NOTION_MCP_SERVER_URL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="na"&gt;authProvider&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;flow&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;provider&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;client&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;authorizationRequired&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How I Used Notion MCP
&lt;/h2&gt;

&lt;p&gt;I used &lt;a href="https://developers.notion.com/guides/mcp/mcp" rel="noopener noreferrer"&gt;Notion MCP&lt;/a&gt; to make &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; work with the same place where ideas already live.&lt;/p&gt;

&lt;p&gt;Most social content tools start after the thinking is already done. In my workflow, that thinking usually starts in Notion: rough notes, half-written drafts, launch ideas, product updates, and scattered content angles. I wanted the assistant to step into that environment instead of forcing users to move everything somewhere else first.&lt;/p&gt;

&lt;p&gt;With &lt;a href="https://developers.notion.com/guides/mcp/mcp" rel="noopener noreferrer"&gt;Notion MCP&lt;/a&gt;, &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; can look into the workspace, understand what already exists, and help turn that raw material into something operational.&lt;/p&gt;

&lt;p&gt;In practice, this means &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;find relevant notes and drafts inside Notion&lt;/li&gt;
&lt;li&gt;create and organize a content database for tracking ideas and posts&lt;/li&gt;
&lt;li&gt;store platform-specific drafts back into Notion&lt;/li&gt;
&lt;li&gt;update statuses and publishing metadata as work progresses&lt;/li&gt;
&lt;li&gt;use Notion as persistent context across sessions instead of starting from zero every time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That changes the product from “AI that writes posts” into “AI that works with your real content system.”&lt;/p&gt;

&lt;p&gt;A simple example:&lt;br&gt;
A user can connect Notion, ask &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; to create a social content workspace, and then continue with prompts like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;“Turn my product notes into a LinkedIn post”&lt;/li&gt;
&lt;li&gt;“Make an X version of this idea”&lt;/li&gt;
&lt;li&gt;“Plan posts for this week”&lt;/li&gt;
&lt;li&gt;“Save the drafts back to Notion”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because the assistant can operate directly on the workspace, the output does not disappear into chat history. It becomes part of a living system inside Notion that the user can review, edit, and keep building on.&lt;/p&gt;

&lt;p&gt;I also wanted the workflow to stay useful when the answer is not already inside Notion. Sometimes drafting a strong post needs fresh context from the web, whether that is industry news, supporting references, or additional research. For that, &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; supports additional MCP-powered online sources like &lt;strong&gt;&lt;a href="https://exa.ai/" rel="noopener noreferrer"&gt;Exa&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a href="https://www.tavily.com/" rel="noopener noreferrer"&gt;Tavily&lt;/a&gt;&lt;/strong&gt;. When users enable them, &lt;a href="https://sotion.noval.me/" rel="noopener noreferrer"&gt;Sotion&lt;/a&gt; can search the web, open relevant pages, and bring that context into the drafting process, while still keeping Notion as the place where the work is organized and saved.&lt;/p&gt;

&lt;p&gt;That was the main thing I wanted to unlock: keeping ideation, drafting, organization, research, and follow-up in one continuous workflow instead of breaking it across disconnected tools.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>notionchallenge</category>
      <category>mcp</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
