<?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: J Now</title>
    <description>The latest articles on DEV Community by J Now (@palo_alto_ai).</description>
    <link>https://dev.to/palo_alto_ai</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%2F3875408%2F4401de35-525d-496b-b2fb-347e8052bfa1.png</url>
      <title>DEV Community: J Now</title>
      <link>https://dev.to/palo_alto_ai</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/palo_alto_ai"/>
    <language>en</language>
    <item>
      <title>You shipped an MCP server. Nobody found it. Here's what I did about it.</title>
      <dc:creator>J Now</dc:creator>
      <pubDate>Sun, 12 Apr 2026 22:17:23 +0000</pubDate>
      <link>https://dev.to/palo_alto_ai/you-shipped-an-mcp-server-nobody-found-it-heres-what-i-did-about-it-119b</link>
      <guid>https://dev.to/palo_alto_ai/you-shipped-an-mcp-server-nobody-found-it-heres-what-i-did-about-it-119b</guid>
      <description>&lt;p&gt;Built a few MCP servers and Claude Code skills over the past months. Each time: ship it, post once on Bluesky, get a handful of likes from people who already follow me, watch the repo go quiet. The tools weren't bad. The problem was I never showed up again after day one, because writing platform-specific posts, submitting to directories, and rotating through angles week after week is a part-time job I didn't sign up for.&lt;/p&gt;

&lt;p&gt;So I built &lt;code&gt;marketing-pipeline&lt;/code&gt; — a GitHub Actions-based system that handles the recurring distribution work once you've configured it.&lt;/p&gt;

&lt;p&gt;Onboarding a project is one command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;marketing onboard &lt;span class="nt"&gt;--name&lt;/span&gt; konid &lt;span class="nt"&gt;--repo&lt;/span&gt; robertnowell/konid &lt;span class="nt"&gt;--kind&lt;/span&gt; mcp-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That fetches the README, sends it to Claude, and writes &lt;code&gt;problem&lt;/code&gt;, &lt;code&gt;facts&lt;/code&gt;, and &lt;code&gt;angles&lt;/code&gt; into &lt;code&gt;projects.yml&lt;/code&gt;. From that point, a daily cron at 14:00 UTC picks the least-recently-used angle, drafts channel-specific posts (Bluesky at ≤300 chars, X at ≤280, Dev.to/Hashnode at 150–400 words), runs them through an antislop gate that hard-rejects tokens like &lt;code&gt;excited&lt;/code&gt;, &lt;code&gt;game-changer&lt;/code&gt;, &lt;code&gt;unlock&lt;/code&gt;, emoji, hashtags, and exclamation points before anything gets published, then posts across Bluesky, Dev.to, Hashnode, and Mastodon.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;kind&lt;/code&gt; field does directory routing automatically. &lt;code&gt;mcp-server&lt;/code&gt; gets submitted to the MCP Registry, Smithery, Glama, and PulseMCP. &lt;code&gt;claude-skill&lt;/code&gt; targets awesome-claude-code (the pipeline generates the payload, but their rules require a human to submit via their GitHub issue form — that one step is manual, once per project). &lt;code&gt;browser-extension&lt;/code&gt; goes to Chrome Web Store, Firefox AMO, and Edge Add-ons.&lt;/p&gt;

&lt;p&gt;The antislop gate is the part I'm most glad exists. Early drafts without it produced marketing copy I wouldn't have posted myself. The gate enforces the same voice bar as the hand-written posts I actually stand behind.&lt;/p&gt;

&lt;p&gt;The MCP and agent ecosystem is moving fast, but most indie builders don't have distribution infrastructure — they have a README and a hope. This is the plumbing I wished existed when I shipped my first server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/robertnowell/marketing-pipeline" rel="noopener noreferrer"&gt;https://github.com/robertnowell/marketing-pipeline&lt;/a&gt;&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>opensource</category>
      <category>marketing</category>
      <category>automation</category>
    </item>
    <item>
      <title>konid: say what you mean in 13+ languages, not what Google Translate thinks you mean</title>
      <dc:creator>J Now</dc:creator>
      <pubDate>Sun, 12 Apr 2026 19:42:57 +0000</pubDate>
      <link>https://dev.to/palo_alto_ai/konid-say-what-you-mean-in-13-languages-not-what-google-translate-thinks-you-mean-4l63</link>
      <guid>https://dev.to/palo_alto_ai/konid-say-what-you-mean-in-13-languages-not-what-google-translate-thinks-you-mean-4l63</guid>
      <description>&lt;p&gt;I wanted to tell my girlfriend 'I missed you today' in Farsi and have it land right — not phrasebook-stiff, not accidentally formal in a way that reads cold. Google Translate gives one answer. It doesn't tell you whether that answer sounds like a text message or a letter to a government office.&lt;/p&gt;

&lt;p&gt;So I built konid: you give it anything you want to say, it returns three versions ordered casual to formal, with a note on register and cultural context for each. Mandarin, Japanese, Korean, Spanish, French, German, Portuguese, Italian, Russian, Arabic, Hindi, and a few more — 13+ total. Audio pronunciation plays directly through your speakers via node-edge-tts, no API key required.&lt;/p&gt;

&lt;p&gt;The three-option structure is the whole point. For 'I missed you today' in Spanish you might get:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;em&gt;Te extrañé hoy&lt;/em&gt; — casual, direct, what you'd text&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Hoy te he echado de menos&lt;/em&gt; — slightly warmer, more felt, common in Spain&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Tu ausencia se hizo notar hoy&lt;/em&gt; — formal, almost literary, wrong register for a partner&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The nuance note tells you which to pick and why. That's the thing a phrasebook skips.&lt;/p&gt;

&lt;p&gt;I use it as an MCP server inside Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add konid-ai &lt;span class="nt"&gt;--&lt;/span&gt; npx &lt;span class="nt"&gt;-y&lt;/span&gt; konid-ai
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Also works in Cursor, VS Code Copilot, Windsurf, Zed, JetBrains, and Claude Cowork. If you're on ChatGPT, enable Developer mode and add the endpoint &lt;code&gt;https://konid.fly.dev/mcp&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The name: konid (کنید) is Farsi for 'do' — take action.&lt;/p&gt;

&lt;p&gt;MIT licensed. github.com/robertnowell/konid-language-learning&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>languagelearning</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
