<?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: Stallkit Studio</title>
    <description>The latest articles on DEV Community by Stallkit Studio (@stallkitstudio).</description>
    <link>https://dev.to/stallkitstudio</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4178327%2Fb4ab6eb4-9e51-49a8-8b93-682a952eb605.png</url>
      <title>DEV Community: Stallkit Studio</title>
      <link>https://dev.to/stallkitstudio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/stallkitstudio"/>
    <language>en</language>
    <item>
      <title>I only create Gmail drafts for Shopify WISMO — on purpose</title>
      <dc:creator>Stallkit Studio</dc:creator>
      <pubDate>Mon, 12 Oct 2026 10:25:11 +0000</pubDate>
      <link>https://dev.to/stallkitstudio/i-only-create-gmail-drafts-for-shopify-wismo-on-purpose-4cjk</link>
      <guid>https://dev.to/stallkitstudio/i-only-create-gmail-drafts-for-shopify-wismo-on-purpose-4cjk</guid>
      <description>&lt;p&gt;Small Shopify shops often live in Gmail, not a full helpdesk. I packaged an n8n workflow that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Reads unread Gmail&lt;/li&gt;
&lt;li&gt;Finds an order number&lt;/li&gt;
&lt;li&gt;Looks the order up in Shopify (read-only)&lt;/li&gt;
&lt;li&gt;Writes a reply draft in the same thread&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There is &lt;strong&gt;no Send node&lt;/strong&gt;. You press Send in Gmail.&lt;/p&gt;

&lt;p&gt;Honest limits (v0.1):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Live Gmail / Shopify / Gemini are &lt;strong&gt;not&lt;/strong&gt; tested by us yet&lt;/li&gt;
&lt;li&gt;Ships with mock emails + mock orders so you can dry-run first&lt;/li&gt;
&lt;li&gt;Safety rules escalate angry/chargeback language, email mismatches, refund wording, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One-time US$19 (optional install help is separate):&lt;br&gt;
&lt;a href="https://stallkitstudio.gumroad.com/l/inbox-drafts" rel="noopener noreferrer"&gt;https://stallkitstudio.gumroad.com/l/inbox-drafts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also in the same studio: Listing Factory (new Etsy drafts) and Listing Refresh (rewrite old listings).&lt;/p&gt;

</description>
      <category>n8n</category>
      <category>shopify</category>
      <category>gmail</category>
      <category>automation</category>
    </item>
    <item>
      <title>Fixed-scope Java/Python help: how I quote Quick vs Feature vs "email first"</title>
      <dc:creator>Stallkit Studio</dc:creator>
      <pubDate>Mon, 12 Oct 2026 09:47:40 +0000</pubDate>
      <link>https://dev.to/stallkitstudio/fixed-scope-javapython-help-how-i-quote-quick-vs-feature-vs-email-first-3d0p</link>
      <guid>https://dev.to/stallkitstudio/fixed-scope-javapython-help-how-i-quote-quick-vs-feature-vs-email-first-3d0p</guid>
      <description>&lt;p&gt;I sell fixed-scope Java and Python help on Gumroad — not open-ended retainers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Packages
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Quick US$79&lt;/strong&gt; — one bug or small script, 1 revision&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feature US$199&lt;/strong&gt; — one feature + acceptance checklist, 2 revisions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Small project from US$750&lt;/strong&gt; — quote first (don’t buy blind)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Complex or fuzzy work: we talk, then I quote. Work starts after a short written scope.&lt;/p&gt;

&lt;h2&gt;
  
  
  OK
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Business/personal tools, APIs you’re authorized to use&lt;/li&gt;
&lt;li&gt;Code review&lt;/li&gt;
&lt;li&gt;Homework tutoring / practice / take-homes you submit yourself&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Not OK
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Taking timed/proctored exams as you&lt;/li&gt;
&lt;li&gt;Impersonation or cert fraud&lt;/li&gt;
&lt;li&gt;Malware / unauthorized access&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Page: &lt;a href="https://stallkitstudio.gumroad.com/l/code-help" rel="noopener noreferrer"&gt;https://stallkitstudio.gumroad.com/l/code-help&lt;/a&gt;&lt;br&gt;
Email: &lt;a href="mailto:stallkit@mail.grokbot.com"&gt;stallkit@mail.grokbot.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(This is Stallkit Studio’s coding-help line — separate from our n8n shop templates.)&lt;/p&gt;

</description>
      <category>java</category>
      <category>python</category>
      <category>freelance</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How I turn Etsy product notes into 6-language listing drafts with n8n + Gemini</title>
      <dc:creator>Stallkit Studio</dc:creator>
      <pubDate>Mon, 12 Oct 2026 04:53:09 +0000</pubDate>
      <link>https://dev.to/stallkitstudio/how-i-turn-etsy-product-notes-into-6-language-listing-drafts-with-n8n-gemini-40ka</link>
      <guid>https://dev.to/stallkitstudio/how-i-turn-etsy-product-notes-into-6-language-listing-drafts-with-n8n-gemini-40ka</guid>
      <description>&lt;p&gt;Writing one solid Etsy listing — a ≤140-character title, exactly 13 tags, a real description — already takes time. Doing it again for German, French, Spanish, Italian and Japanese buyers is where most small shops stop.&lt;/p&gt;

&lt;p&gt;I built an n8n workflow for that job. You paste a few lines of product notes. It asks Gemini for a draft in each language Etsy lets you add as a translation, runs cheap rule checks, and writes everything to a sheet (or CSV) marked &lt;code&gt;REVIEW&lt;/code&gt; or &lt;code&gt;FIX&lt;/code&gt;. &lt;strong&gt;Nothing publishes to Etsy.&lt;/strong&gt; You read every row, then paste what you keep.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the checks actually do
&lt;/h2&gt;

&lt;p&gt;They are not a fact check. They cover things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;title length (≤140, trim at a word boundary)&lt;/li&gt;
&lt;li&gt;disallowed characters / repeated &lt;code&gt;% : &amp;amp; +&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;tags: clean, de-dupe, drop &amp;gt;20 characters, keep 13&lt;/li&gt;
&lt;li&gt;a short keyword list for common content mistakes (e.g. a handmade claim your notes don’t support)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;REVIEW&lt;/code&gt; only means none of those rules fired. It does &lt;strong&gt;not&lt;/strong&gt; mean the copy is true. In our real Gemini sample run, accents still went missing sometimes, size words appeared that weren’t in the notes, and you still need a human.&lt;/p&gt;

&lt;h2&gt;
  
  
  Flow (high level)
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Run → Config → sample notes or Sheet rows marked NEW → prompt → Gemini (or mock) → Validate Etsy rules → Review sheet / CSV&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;There’s a mock mode so you can confirm the install before you add any API key.&lt;/p&gt;

&lt;h2&gt;
  
  
  Honest test status
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Real Gemini run on three built-in sample products × 6 languages (2026-10-08): 18 &lt;code&gt;REVIEW&lt;/code&gt;, 0 &lt;code&gt;FIX&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Google Sheets live read/write: &lt;strong&gt;not tested by us yet&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Always review before you paste into Etsy.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Paid template: &lt;a href="https://stallkitstudio.gumroad.com/l/listing-factory" rel="noopener noreferrer"&gt;Listing Factory for Etsy Sellers&lt;/a&gt; — US$9 once (first 20 buyers: code &lt;code&gt;LAUNCH7&lt;/code&gt; → US$7)&lt;/li&gt;
&lt;li&gt;Free: &lt;a href="https://stallkitstudio.gumroad.com/l/profit-tracker" rel="noopener noreferrer"&gt;Profit Tracker for Etsy Shops&lt;/a&gt; — monthly P&amp;amp;L from Etsy CSV exports, no Etsy API&lt;/li&gt;
&lt;li&gt;Store: &lt;a href="https://stallkitstudio.gumroad.com" rel="noopener noreferrer"&gt;stallkitstudio.gumroad.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Creator page: &lt;a href="https://n8n.io/creators/stallkitstudio" rel="noopener noreferrer"&gt;n8n.io/creators/stallkitstudio&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Listing Refresh for Etsy Sellers (rewrite existing listing titles/tags/descriptions for review; does not auto-publish): &lt;a href="https://stallkitstudio.gumroad.com/l/listing-refresh" rel="noopener noreferrer"&gt;https://stallkitstudio.gumroad.com/l/listing-refresh&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Inbox Drafts for Shopify Stores (Gmail drafts only, never auto-sends): &lt;a href="https://stallkitstudio.gumroad.com/l/inbox-drafts" rel="noopener noreferrer"&gt;https://stallkitstudio.gumroad.com/l/inbox-drafts&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Also shipping now
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Listing Refresh — rewrite existing Etsy listing copy from CSV for review (not auto-publish): &lt;a href="https://stallkitstudio.gumroad.com/l/listing-refresh" rel="noopener noreferrer"&gt;https://stallkitstudio.gumroad.com/l/listing-refresh&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Inbox Drafts for Shopify — Gmail drafts only after Shopify order lookup; never auto-sends; mock-tested, live Gmail/Shopify/Gemini not verified in v0.1: &lt;a href="https://stallkitstudio.gumroad.com/l/inbox-drafts" rel="noopener noreferrer"&gt;https://stallkitstudio.gumroad.com/l/inbox-drafts&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m documenting a 90-day, $0-tool build in public. AI drafts; a human always decides.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Etsy, Shopify and n8n are trademarks of their respective owners. Stallkit Studio is not affiliated with or endorsed by them.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>automation</category>
      <category>ecommerce</category>
      <category>ai</category>
      <category>gemini</category>
    </item>
  </channel>
</rss>
