<?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: Aoxuan Guo</title>
    <description>The latest articles on DEV Community by Aoxuan Guo (@_5038d984f7fffb2b6fe38).</description>
    <link>https://dev.to/_5038d984f7fffb2b6fe38</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%2F3818413%2F5aada6ff-a15d-4425-b430-dd8c9692d88d.jpeg</url>
      <title>DEV Community: Aoxuan Guo</title>
      <link>https://dev.to/_5038d984f7fffb2b6fe38</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_5038d984f7fffb2b6fe38"/>
    <language>en</language>
    <item>
      <title>How to Build a Product Image Generator in Momen</title>
      <dc:creator>Aoxuan Guo</dc:creator>
      <pubDate>Wed, 15 Apr 2026 11:13:12 +0000</pubDate>
      <link>https://dev.to/momen_hq/how-to-build-a-product-image-generator-in-momen-48l9</link>
      <guid>https://dev.to/momen_hq/how-to-build-a-product-image-generator-in-momen-48l9</guid>
      <description>&lt;p&gt;Traditional product photography requires significant time, budget, and logistical coordination. For e-commerce teams and marketers, this creates a bottleneck. You frequently need different visual contexts for products across various seasons, promotions, and ad campaigns.&lt;/p&gt;

&lt;p&gt;Relying on manual photo editing or constantly reshooting physical items makes it incredibly difficult to scale your asset production.&lt;/p&gt;

&lt;p&gt;By leveraging a no-code AI workflow in Momen, you can build a custom AI product image generator. This solution automates the creation of professional, contextual lifestyle images from standard product photos—all without writing a single line of code.&lt;/p&gt;

&lt;h2&gt;
  
  
  When to Use It
&lt;/h2&gt;

&lt;p&gt;A product image generator is an application that takes a basic product photo—often with a transparent or solid background—and processes it through an AI image model to place it into new, user-defined environments.&lt;/p&gt;

&lt;p&gt;This application drastically reduces your dependency on manual design work and physical photo shoots, bringing e-commerce image automation to your daily operations.&lt;/p&gt;

&lt;p&gt;Typical Use Cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generating diverse backgrounds for e-commerce product listings.&lt;/li&gt;
&lt;li&gt;Creating varied lifestyle assets for social media ad testing.&lt;/li&gt;
&lt;li&gt;Building visual assets for seasonal marketing campaigns quickly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When NOT To Use It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do not use this workflow for products requiring exact, millimeter-precise technical representation. AI models can hallucinate details, which might misrepresent the physical item's functionality or exact mechanical structure.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to Build This in Momen
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Data Storage
&lt;/h3&gt;

&lt;p&gt;First, define the structure to store the original uploads and the AI-generated results.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Model: In the Data tab, create a table named product. For detailed instructions on structuring tables, read the documentation on data models.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4t91lj1vt9uvisd7uhxp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4t91lj1vt9uvisd7uhxp.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Logic &amp;amp; Actionflow Configuration
&lt;/h3&gt;

&lt;p&gt;AI Agent Configuration&lt;/p&gt;

&lt;p&gt;Navigate to the AI tab to configure the intelligence behind the generation. You can read the documentation on AI agents to understand point consumption and model limits.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inputs: Add two parameters: original_image (Image) and requirement (Text).&lt;/li&gt;
&lt;li&gt;Prompt Template:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Role: A top-tier commercial visual designer and senior photo retoucher.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Goals: Generate a high-quality product image based on the received image and requirements. Use {{Input/requirement}} to reference user input.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Constraints: Include instructions for "Material Lock" (to keep the product consistent), "Visual Integration" (lighting matching), and "Model Adaptation."&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Model: Select Gemini-3.1-flash-image-preview-4K.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Outputs: Set to Plain text and disable Streaming output.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Actionflow Configuration&lt;/p&gt;

&lt;p&gt;Create an Actionflow named Generate Product Image to bridge the UI and the AI.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input Node: Define original_image (Image) and requirement (Text).&lt;/li&gt;
&lt;li&gt;Execution Mode: In the right panel, set the mode to Async.&lt;/li&gt;
&lt;li&gt;AI Node (Start Conversation): Select the AI Agent created earlier and bind the inputs.&lt;/li&gt;
&lt;li&gt;Save Record (Insert Data):&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Table: product.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;original_image &amp;amp; requirement: Bind from the Actionflow inputs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xe7cigas2i2ekrbcuga.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xe7cigas2i2ekrbcuga.png" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;result_image: Use the GET_ITEM formula to extract the image from the AI output array (usually index 0).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xe7cigas2i2ekrbcuga.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7xe7cigas2i2ekrbcuga.png" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  UI Construction &amp;amp; Interaction
&lt;/h3&gt;

&lt;p&gt;Component Layout&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inputs: Drag an Image Picker for the product photo and a Text Input for requirements. Enable "Multiple lines" for the text input.&lt;/li&gt;
&lt;li&gt;Trigger: Add a Button.&lt;/li&gt;
&lt;li&gt;Display: Add a List component to show history/results.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frt6ptjsskt1db4ih258u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frt6ptjsskt1db4ih258u.png" width="800" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Interaction Setup&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Button Action:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Actionflow: Select Generate Product Image. Bind the components' values to the flow parameters.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Actions on Success: Add two "Reset input component value" actions to clear the Image Picker and Text Input.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffevxx21lmb1jw8ah6vq6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffevxx21lmb1jw8ah6vq6.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;List Configuration:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data Source: Remote -&amp;gt; product table.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Request Type: Subscription. This ensures the generated image appears automatically in the list once the background Actionflow completes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy8k4as3bjbjuv42z41is.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy8k4as3bjbjuv42z41is.png" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Result Display &amp;amp; Download:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Inside the List, add an Image component. Bind its source to item.result_image.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Click Interaction: Add a "Download Image" action, binding the source to the same result_image field.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjv09o2fq8w95068fa6nf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjv09o2fq8w95068fa6nf.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Verification
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Preview: Click the Preview button.&lt;/li&gt;
&lt;li&gt;Test: Upload a product photo and type a descriptive prompt.&lt;/li&gt;
&lt;li&gt;Check: Click "Get Started." After a few moments, the generated image should automatically pop up in the list below. Click the image to download.&lt;/li&gt;
&lt;li&gt;Database: Verify that the product table contains the original image, requirement, and result.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb7stiokphwsya2zwjlgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb7stiokphwsya2zwjlgu.png" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqasr13e1l0v97y5h24l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqasr13e1l0v97y5h24l.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the image is not displayed, please check if the request type of the List component is set to "Subscription".&lt;/p&gt;

&lt;h3&gt;
  
  
  Test Case Reference
&lt;/h3&gt;

&lt;p&gt;Case 1: High-End Watch 3x3 Grid Showcase&lt;/p&gt;

&lt;p&gt;Input Photo &amp;amp; Result Image:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4fvi9xqk6hdzourwwh9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4fvi9xqk6hdzourwwh9.png" width="772" height="772"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foby97funiyejgn1yxb1b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foby97funiyejgn1yxb1b.png" width="800" height="803"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Input Requirement:&lt;/p&gt;

&lt;p&gt;Presentation Format: An exquisite 3x3 grid (9 images total) for product photography. Each image is a perfect square, designed for a seamless, cohesive layout.&lt;br&gt;
Visual Quality: Ultra-high resolution, extreme sharpness, flawless studio lighting, and sophisticated white space (negative space).&lt;br&gt;
Aesthetic Style: High-end horology and luxury advertising. Refined, premium color grading with top-tier commercial photography aesthetics.&lt;br&gt;
The 3x3 Grid Specifications&lt;br&gt;
1.Core Masterpiece: An elegant composition of the watch resting on a minimalist pedestal.&lt;br&gt;
2.Structural Perspective: A profile/side view emphasizing the case's silhouette, contours, and proportions.&lt;br&gt;
3.Ultimate Macro: A razor-sharp close-up of the dial, capturing every minute detail and index.&lt;br&gt;
4.Signature Features: A detailed shot of the crown, pushers, or other iconic design elements.&lt;br&gt;
5.Tactile Texture: A macro study of the strap material (e.g., fine leather grain or brushed metal finishing).&lt;br&gt;
6.Elemental Interaction: The timepiece interacting subtly with natural elements .&lt;br&gt;
7.Soft Backdrop: The watch set against a background of delicate linen or flowing silk fabric.&lt;br&gt;
8.Moody Atmosphere: Dramatic, low-key lighting with high contrast to evoke mystery and depth.&lt;br&gt;
9.Editorial Layout: A sophisticated, lifestyle-inspired composition suitable for a high-end magazine spread.&lt;br&gt;
Case 2: On-Location Lifestyle Shot (Knitwear)Input Photo &amp;amp; Result Image:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2knhmt6cmylqv3tbqer4.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2knhmt6cmylqv3tbqer4.jpeg" width="183" height="275"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdocs.momen.app%2Fassets%2Fimages%2Fhowto_ai_product_gen_momen_result_image_2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdocs.momen.app%2Fassets%2Fimages%2Fhowto_ai_product_gen_momen_result_image_2.png" width="800" height="1192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Input Requirement:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Target Model: 25-year-old female, glowing natural skin, effortless beauty.&lt;/li&gt;
&lt;li&gt;Outfit &amp;amp; Pose: Walking casually holding a coffee cup, or adjusting the scarf while looking away. Natural candid lifestyle shot.&lt;/li&gt;
&lt;li&gt;Matching Clothing: Wearing a stylish, minimalist off-white, cream, or light camel matte trench coat. The coat must be smooth and non-textured (absolutely no knit or wool material) to perfectly highlight the texture of the knitwear.&lt;/li&gt;
&lt;li&gt;Scene &amp;amp; Lighting: Background is a classic European street corner or a chic New York cafe exterior. Soft morning sunlight (golden hour lighting) creating beautiful rim light on the scarf.&lt;/li&gt;
&lt;li&gt;Image Requirements: Cinematic lifestyle photography, shallow depth of field (blurred background), Pinterest aesthetic, vibrant but natural colors.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It Yourself and Learn More
&lt;/h2&gt;

&lt;p&gt;To truly understand how this logic operates, we encourage you to explore the working template. Seeing the project structure in practice is the best way to master Momen's capabilities.&lt;/p&gt;

&lt;p&gt;You can clone the project template directly into your own Momen workspace. Once copied, you can study the underlying database and actionflows, or test the live application yourself.&lt;/p&gt;

</description>
      <category>image</category>
      <category>generator</category>
    </item>
    <item>
      <title>How to Build an Automated Image Description Workflow in Momen</title>
      <dc:creator>Aoxuan Guo</dc:creator>
      <pubDate>Mon, 13 Apr 2026 22:00:46 +0000</pubDate>
      <link>https://dev.to/momen_hq/how-to-build-an-automated-image-description-workflow-in-momen-c9f</link>
      <guid>https://dev.to/momen_hq/how-to-build-an-automated-image-description-workflow-in-momen-c9f</guid>
      <description>&lt;p&gt;Manually writing descriptions, tags, or alt text for hundreds of visual assets is a tedious, unscalable process that slows down content production. For e-commerce founders and digital marketers, this creates a massive operational bottleneck.&lt;/p&gt;

&lt;p&gt;As digital libraries grow, teams often face a severe lag between acquiring visual assets and actually categorizing or describing them for end-users and search engines. Relying on manual data entry makes it incredibly difficult to scale your asset management.&lt;/p&gt;

&lt;p&gt;By leveraging a no-code platform like Momen, you can integrate multimodal AI to build an automated image description workflow. This instantly translates visual inputs into structured, usable text—allowing you to build a professional AI image captioning app without writing a single line of code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understanding the Automated Image Description Workflow
&lt;/h2&gt;

&lt;p&gt;An automated image description workflow is an application that utilizes a multimodal AI model (capable of processing both images and text) to analyze an uploaded photo and output a relevant caption, summary, or set of tags.&lt;/p&gt;

&lt;p&gt;This workflow eliminates manual data entry, bridging the gap between visual media and text-based databases. It transforms a slow, human-dependent task into an instant, automated background process.&lt;/p&gt;

&lt;p&gt;Typical use cases include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generating automated SEO alt text for blogs at scale.&lt;/li&gt;
&lt;li&gt;Creating initial drafts for e-commerce product descriptions.&lt;/li&gt;
&lt;li&gt;Cataloging digital asset libraries with accurate metadata.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When NOT to use it: Avoid using this workflow for tasks requiring precise technical measurements or critical safety inspections. AI models can hallucinate details, which might misrepresent physical specifications and present severe business or safety risks.&lt;/p&gt;

&lt;p&gt;To understand the underlying models driving this technology, read our Beginner's Guide to Multimodal AI and explore the AI Agent Overview documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step-by-Step Guide to Building the Workflow in Momen
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Data Storage
&lt;/h3&gt;

&lt;p&gt;First, we need a table to store the original images and the metadata generated by the AI.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Model: Go to the Data tab and create a table named product.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4xqluy1s6adzwgv4f9a3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4xqluy1s6adzwgv4f9a3.png" alt=" " width="800" height="523"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdhg5iud4vxyz866bkm5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdhg5iud4vxyz866bkm5q.png" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Agent Configuration
&lt;/h3&gt;

&lt;p&gt;We need to configure an AI Agent capable of "seeing" the image and returning structured data.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Inputs: Add an input named product_image and set its type to Image.&lt;/li&gt;
&lt;li&gt;Prompt Template:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Role: Expert E-commerce Copywriter.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Goals: Analyze the user's product_image, identify key features (category, material, style, condition), and write descriptive copy.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Structured Output: To ensure the backend can save the data easily, set the output type to Structured. Define an object body containing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;title (String)&lt;/li&gt;
&lt;li&gt;description (String)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Actionflow Construction
&lt;/h3&gt;

&lt;p&gt;The Actionflow handles the logic of passing the image to the AI and saving the result. Set the Execution Mode to Async (Asynchronous) in the right panel to smoothly manage the AI's processing time.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input Node: Define a parameter product_image (Type: Image).&lt;/li&gt;
&lt;li&gt;AI Node: Select the Start conversation action.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Select AI: Choose the agent configured in the previous step.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Inputs: Bind product_image to the Actionflow's input data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Database Node: Select Insert data for the product table.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;image: Map to Actionflow data / input-data / product_image.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;title: Map to Actionflow data / AI node / data / title.&lt;/li&gt;
&lt;li&gt;description: Map to Actionflow data / AI node / data / description.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F35ycvnu9i1s9pmzqdytu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F35ycvnu9i1s9pmzqdytu.png" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9pvka636gf54gkgk9d1d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9pvka636gf54gkgk9d1d.png" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  UI Construction &amp;amp; Interaction
&lt;/h3&gt;

&lt;p&gt;Now, build the interface to trigger the process.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Component Tree:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Image picker: For the user to upload the photo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Button: To trigger the AI analysis.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interaction Configuration:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Select the Button and go to the Interaction panel.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Event: OnClick -&amp;gt; Actionflow.&lt;/li&gt;
&lt;li&gt;Action: Select AI Image Description.&lt;/li&gt;
&lt;li&gt;Parameters: Bind product_image to the value of the Image picker component.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzh99f71s49g1t8ezygjk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzh99f71s49g1t8ezygjk.png" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Verification
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Click Preview in the top right corner.&lt;/li&gt;
&lt;li&gt;Upload a clear product image (e.g., a glass teapot) using the Image Picker.&lt;/li&gt;
&lt;li&gt;Click the "Get Started" (Button).&lt;/li&gt;
&lt;li&gt;Navigate to Data Source -&amp;gt; Database and check the product table. You should see a new record with the uploaded image and AI-generated text.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7is22aq8ou7jzmx8203j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7is22aq8ou7jzmx8203j.png" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Yourself And Expand Your App
&lt;/h2&gt;

&lt;p&gt;To truly understand how this logic operates, we encourage you to explore the working template. Seeing the project structure in practice is the best way to master no-code AI vision capabilities.&lt;/p&gt;

&lt;p&gt;You can customize the AI prompts to fit specific brand voices perfectly. For instance, tweak the instructions to change the output from a simple image caption to an engaging social media post.&lt;/p&gt;

&lt;p&gt;By inspecting the pre-built backend Actionflows, you will quickly understand how visual data is passed to the AI and stored seamlessly. Once you are comfortable, try exploring advanced features like processing multiple images at once via looping mechanisms to supercharge your productivity.&lt;/p&gt;

&lt;p&gt;Clone the template project today, upload your own images, and see how fast you can generate structured descriptions for your business.&lt;/p&gt;

</description>
      <category>automated</category>
      <category>image</category>
      <category>description</category>
      <category>workflow</category>
    </item>
    <item>
      <title>How to Build an AI Copywriting Style Reviewer App in Momen</title>
      <dc:creator>Aoxuan Guo</dc:creator>
      <pubDate>Wed, 08 Apr 2026 11:40:13 +0000</pubDate>
      <link>https://dev.to/momen_hq/how-to-build-an-ai-copywriting-style-reviewer-app-in-momen-p64</link>
      <guid>https://dev.to/momen_hq/how-to-build-an-ai-copywriting-style-reviewer-app-in-momen-p64</guid>
      <description>&lt;p&gt;Maintaining a consistent brand voice across multiple writers or campaigns is often a time-consuming manual process. For content managers and marketing agency founders, manually reviewing copy for tone, formatting, and stylistic guidelines slows down content production and leaves room for human error.&lt;/p&gt;

&lt;p&gt;You can automate this process by building a custom AI copywriting style review app in Momen. This Momen tutorial outlines the structure of how to create an AI workflow that evaluates text against your specific rules—all without writing a single line of code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is an AI Copywriting Style Reviewer and When to Use It
&lt;/h2&gt;

&lt;p&gt;An AI copywriting style reviewer is a custom AI tool that takes user-inputted text and evaluates it against predefined structural and tonal guidelines, providing actionable feedback or a score.&lt;/p&gt;

&lt;p&gt;This no-code AI copywriting app solves a critical operational bottleneck. It eliminates subjective editing delays and ensures strict adherence to your brand voice across all channels.&lt;/p&gt;

&lt;p&gt;Typical Use Cases:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reviewing blog drafts to ensure a consistent tone.&lt;/li&gt;
&lt;li&gt;Checking ad copy variations before launching campaigns.&lt;/li&gt;
&lt;li&gt;Aligning email newsletter tones with your core brand identity.&lt;/li&gt;
&lt;li&gt;Onboarding new freelance writers and helping them adapt to your style guide.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When NOT To Use It: Do not use this workflow for deep fact-checking or generating highly technical original research from scratch. This custom AI reviewer focuses specifically on stylistic evaluation and structural formatting.&lt;/p&gt;

&lt;p&gt;To learn more about how to instruct your AI models effectively, read the documentation on AI Agent Configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Your AI Copywriting Style Checker Step by Step
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Data Storage
&lt;/h3&gt;

&lt;p&gt;First, we need to create a table to store the history of submitted copy and the AI's evaluation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Data Model: Navigate to Data and create a table named copy_review_log.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F18y5d88eod0mpkdu0g4v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F18y5d88eod0mpkdu0g4v.png" alt=" " width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn38ydj629rxqt8sheq7d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn38ydj629rxqt8sheq7d.png" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  AI Agent Configuration
&lt;/h3&gt;

&lt;p&gt;The AI Agent acts as the "Brand Expert." We must define its identity and ensure it returns data in a format the system can understand.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create Agent: Go to the AI tab and add a new agent named Agent_copy_review.&lt;/li&gt;
&lt;li&gt;Define Inputs: Add a Text input named content.&lt;/li&gt;
&lt;li&gt;Prompt Template:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Role: Brand Copy Review Expert.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Goals: Analyze the {{Input/content}} and determine if it adheres to brand guidelines.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Audit Standards: Include specific constraints like "No Slang," "No excessive exclamation marks," and "Rational tone."&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Structured Output: Set the output type to Structured.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;feedback (String): If failed, explain the violation and provide a [Revised Draft]. If passed, return "Copy is compliant."&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Using Structured Output allows the backend logic to directly map the AI's response to database fields without manual parsing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Actionflow Construction
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Trigger &amp;amp; Mode: Create an Actionflow named AI Copy Review. Set the Execution Mode to Async (Asynchronous) in the right panel to handle the AI processing time smoothly.&lt;/li&gt;
&lt;li&gt;Input Node: Define a parameter content (Text).&lt;/li&gt;
&lt;li&gt;AI node: Add a Start conversation node. Select Agent_copy_review and bind the content parameter to the agent's input.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;save record: Add a Database -&amp;gt; Insert data node.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mapping:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;content: Map from Actionflow data -&amp;gt; input-data -&amp;gt; content&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;is_passed: Map from Actionflow data -&amp;gt; AI node -&amp;gt; data -&amp;gt; is_passed&lt;/li&gt;
&lt;li&gt;feedback: Map from Actionflow data -&amp;gt; AI node -&amp;gt; data -&amp;gt; feedback&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F835gzs96bw4g8o1br7of.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F835gzs96bw4g8o1br7of.png" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  UI Construction &amp;amp; Interaction
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Layout: In the Pages tab, drag a Text Input and a Button onto the canvas.&lt;/li&gt;
&lt;li&gt;Interaction:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Select the Button.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the Interaction panel -&amp;gt; On click.&lt;/li&gt;
&lt;li&gt;Select Actionflow -&amp;gt; AI Copy Review.&lt;/li&gt;
&lt;li&gt;Binding: Map the content parameter to the value of the Text Input component.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxi72m4qtyf9xgm4ko2n1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxi72m4qtyf9xgm4ko2n1.png" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Verification
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Preview: Click the Preview button in the top bar.&lt;/li&gt;
&lt;li&gt;Test Case: Enter a non-compliant text, for example: "OMG!!! This product is literally the GOAT... you're missing out big time!"&lt;/li&gt;
&lt;li&gt;Check Result: Click the button, then return to the Data -&amp;gt; Database view.&lt;/li&gt;
&lt;li&gt;Validation: You should see a new record where is_passed is false and the feedback contains a professional [Revised Draft].&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4twhn2xnotba8rxh4db8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4twhn2xnotba8rxh4db8.png" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To understand how to connect your background logic and user interface seamlessly, read the documentation on Actionflow Overview.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It Yourself And Learn More
&lt;/h2&gt;

&lt;p&gt;You don't have to build this entire workflow from scratch. We have prepared a functional template that you can use immediately.&lt;/p&gt;

&lt;p&gt;Open the project view link here to clone the AI Copywriting Style Review app directly into your Momen workspace. Once the project is duplicated, you can begin customizing the logic to match your organization.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>copywriting</category>
      <category>style</category>
      <category>reviewer</category>
    </item>
    <item>
      <title>Gemini 3.1 is Now Live in Momen</title>
      <dc:creator>Aoxuan Guo</dc:creator>
      <pubDate>Thu, 26 Mar 2026 07:09:46 +0000</pubDate>
      <link>https://dev.to/momen_hq/gemini-31-is-now-live-in-momen-3j9</link>
      <guid>https://dev.to/momen_hq/gemini-31-is-now-live-in-momen-3j9</guid>
      <description>&lt;p&gt;Building a capable AI application requires access to the latest models, but managing API keys and integrations can slow you down. Gemini 3.1 is now natively integrated into Momen. Builders can access its advanced reasoning capabilities instantly within the visual builder, alongside a diverse selection of other top-tier models—all accessible on the free plan.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The Strengths of Gemini 3.1&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Gemini 3.1 brings significant upgrades to how AI processes information. It stands out for its processing speed, deep contextual reasoning, and robust multimodal capabilities. This makes it an excellent choice for applications that need to handle text, images, and complex logic simultaneously.&lt;/p&gt;

&lt;p&gt;To see how these improvements translate into real-world performance, you can explore our detailed comparison of Compare Gemini 3.1 Pro Preview vs Gemini 3.0 Pro.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Configure Gemini 3.1 in Momen
&lt;/h2&gt;

&lt;p&gt;Switching your AI agent to use Gemini 3.1 takes just a few clicks. You do not need any coding experience to set it up.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open your Momen workspace and navigate to the AI Agent Builder interface.&lt;/li&gt;
&lt;li&gt;Click the model dropdown menu and select Gemini 3.1.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuoq9z33z1cu0cthkocri.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuoq9z33z1cu0cthkocri.png" alt=" " width="800" height="362"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Building for Free with 100K AI Points
&lt;/h2&gt;

&lt;p&gt;Testing new product ideas should not require upfront costs. Momen's free plan includes 100,000 AI points every month for all users. You can use these 100k points to run Gemini 3.1 and other models entirely for free without needing a credit card or a third-party API key.&lt;/p&gt;

&lt;p&gt;The Gemini 3.1 models are available for a free trial within the Momen app. Until July 25th, 2026, users can take advantage of a special promotion where AI points and Gemini tokens offer significantly higher redemption value. For instance, your monthly 100,000 AI points are sufficient to generate over 260 images using the base preview model, providing an excellent opportunity to thoroughly test Gemini 3.1 features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0321oz6aqmmf0qkxbl80.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0321oz6aqmmf0qkxbl80.png" alt=" " width="800" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If your ai points run out, please check Momen's pricing details to top up your AI Points and maintain consistent service for your agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  What You Can Build with AI in Momen
&lt;/h2&gt;

&lt;p&gt;Here are a few ways you can leverage the Gemini 3.1 Momen integration to unlock new possibilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AI Trip Planner: Create your own AI-powered trip planner in Momen that automatically generates a personalized itinerary. It learns and respects your saved travel habits, so you don't have to re-enter your preferences every time.&lt;/li&gt;
&lt;li&gt;Image Generator: Build an AI image generator in Momen that not only creates visuals from text prompts and input images but also automatically refines your prompts for better, more accurate results.&lt;/li&gt;
&lt;li&gt;AI Dietitian: Build a personalized dietitian app in Momen where users upload food photos to identify food types and estimate weight. The system combines this with their stored body data to output tailored dietary advice.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Gemini 3.1 is live and easily accessible from a single dropdown menu. It joins a robust lineup of models within Momen, giving you full access to a set of leading LLMs, including GPT, Qwen, and GLM.&lt;/p&gt;

&lt;p&gt;You can experiment, test, and build capable AI apps utilizing these advanced models risk-free using the platform's native AI points system. Log into Momen today, select Gemini 3.1 in your agent builder, and start building your custom AI application!&lt;/p&gt;

</description>
      <category>gemini</category>
    </item>
    <item>
      <title>Why Your E-Commerce Platform Needs ACID Compliance</title>
      <dc:creator>Aoxuan Guo</dc:creator>
      <pubDate>Thu, 12 Mar 2026 07:45:16 +0000</pubDate>
      <link>https://dev.to/momen_hq/why-your-e-commerce-platform-needs-acid-compliance-pl5</link>
      <guid>https://dev.to/momen_hq/why-your-e-commerce-platform-needs-acid-compliance-pl5</guid>
      <description>&lt;h2&gt;
  
  
  The $10,000 Question
&lt;/h2&gt;

&lt;p&gt;Imagine this scenario: It's Black Friday. Your online store has one last unit of your most popular product in stock. At 11:59:59 PM, five customers click "Buy Now" at nearly the same millisecond.&lt;/p&gt;

&lt;p&gt;Question: How many of them successfully place an order?&lt;/p&gt;

&lt;p&gt;If you answered "one," you're correct—in theory. But in practice, depending on your platform, the answer might be "all five," leaving you with -4 units in inventory and four very angry customers expecting products you don't have.&lt;/p&gt;

&lt;p&gt;This isn't a hypothetical edge case. It's a fundamental technical challenge that every e-commerce platform must solve. And how your development platform handles it reveals everything about whether it's built on solid architectural foundations—or clever workarounds.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Race Condition Problem
&lt;/h2&gt;

&lt;p&gt;Here's what happens under the hood when multiple users try to buy the same item:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;User A's browser reads: "Inventory = 1"&lt;/li&gt;
&lt;li&gt;User B's browser reads: "Inventory = 1" (at the same time)&lt;/li&gt;
&lt;li&gt;User A's system calculates: 1 - 1 = 0, then writes "Inventory = 0"&lt;/li&gt;
&lt;li&gt;User B's system calculates: 1 - 1 = 0, then writes "Inventory = 0"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both users successfully "bought" the item. But the system only deducted the inventory once. This is called a race condition—and it's one of the most common causes of data corruption in web applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  The ACID Test
&lt;/h2&gt;

&lt;p&gt;Professional database systems solve this with a set of principles known as ACID:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Atomicity: Operations either complete entirely or don't happen at all&lt;/li&gt;
&lt;li&gt;Consistency: Data remains valid according to all defined rules&lt;/li&gt;
&lt;li&gt;Isolation: Concurrent operations don't interfere with each other&lt;/li&gt;
&lt;li&gt;Durability: Completed transactions survive system failures&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzcrwf5qwwsj63666yh3r.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzcrwf5qwwsj63666yh3r.webp" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;These aren't optional nice-to-haves. They're the foundation of reliable data management. Yet many popular low-code platforms treat them as afterthoughts.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Other Platforms Handle This (Spoiler: Not Well)
&lt;/h2&gt;

&lt;p&gt;Take Bubble, one of the most popular no-code platforms. When asked how it handles race conditions, even AI assistants acknowledge the problem: Bubble workflows lack native transaction support.&lt;/p&gt;

&lt;p&gt;The workarounds developers are forced to use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Recursive workflows: Processing purchases one-by-one in a queue (slow and complex)&lt;/li&gt;
&lt;li&gt;Optimistic locking: Hoping conflicts don't happen and adding manual checks&lt;/li&gt;
&lt;li&gt;Manual compensation logic: Writing code to "undo" operations when things go wrong&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's the kicker: if the server crashes mid-workflow after deducting inventory but before creating the order record, you're left with a "dirty" database state. Stock is gone, but no order exists. You have to manually dig through logs and patch your database.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Momen Difference: ACID by Design
&lt;/h2&gt;

&lt;p&gt;Momen was architected from the ground up with database transactions at its core. Here's what that means:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Atomic Updates
&lt;/h3&gt;

&lt;p&gt;When you build a "Purchase Item" workflow in Momen, the inventory update isn't "read value → calculate in app → write back." It's an atomic database operation: SET amount = amount - 1. The database handles the calculation, preventing race conditions entirely.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Transactional Workflows
&lt;/h3&gt;

&lt;p&gt;Your entire backend workflow runs inside a database transaction. If any step fails—whether it's creating an order, processing payment, or updating inventory—the entire operation rolls back. Your database returns to its exact state before the workflow started.&lt;/p&gt;

&lt;p&gt;Bubble: "Dirty death" (corrupted data, manual cleanup required)Momen: "Clean death" (automatic rollback, zero data corruption)&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Row-Level Locking
&lt;/h3&gt;

&lt;p&gt;When User A starts updating an inventory record, Momen's database engine automatically locks that row. User B's request waits in queue. The moment User A's transaction completes, User B's request processes—based on the updated, accurate inventory count. No conflicts. No overselling.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Real Technical Demonstration
&lt;/h2&gt;

&lt;p&gt;To prove this isn't just marketing talk, let's look at what happens at the PostgreSQL level (Momen's underlying database):&lt;/p&gt;

&lt;p&gt;Terminal Window A (User A):&lt;/p&gt;

&lt;p&gt;BEGIN;&lt;br&gt;
UPDATE inventory SET amount = amount - 1 WHERE id = 1;&lt;br&gt;
-- [Don't type COMMIT yet]Terminal Window B (User B):&lt;/p&gt;

&lt;p&gt;BEGIN;&lt;br&gt;
UPDATE inventory SET amount = amount - 1 WHERE id = 1;&lt;br&gt;
-- [This command HANGS]Window B freezes. It cannot proceed. The database won't let it touch that row until User A finishes.&lt;/p&gt;

&lt;p&gt;The moment we type COMMIT in Window A, Window B immediately unfreezes and executes—now working with the accurate, updated inventory count.&lt;/p&gt;

&lt;p&gt;This is row-level locking in action. This is ACID compliance. And this is how Momen ensures your data integrity, automatically, every single time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Some Platforms Can't Do This
&lt;/h2&gt;

&lt;p&gt;You might wonder: "Why don't all platforms just implement this?"&lt;/p&gt;

&lt;p&gt;The answer: architectural tradeoffs.&lt;/p&gt;

&lt;p&gt;Some platforms offer unlimited flexibility—run any Node.js code, connect to any service, deploy custom functions anywhere. But that flexibility comes at a cost. When your code runs in a separate process or serverless function, it's disconnected from the database transaction. If it crashes, there's no automatic rollback.&lt;/p&gt;

&lt;p&gt;Momen makes a different choice. We constrain where and how backend code executes—specifically so it can participate in the same database transaction as your visual workflow. This ensures that whether you're writing visual logic blocks or custom JavaScript, everything operates within the same transactional boundary.&lt;/p&gt;

&lt;p&gt;The result: You get the safety of ACID compliance without sacrificing the power to write custom business logic.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Means for Your Business
&lt;/h2&gt;

&lt;p&gt;When evaluating low-code platforms, ask yourself:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can the platform oversell inventory during high traffic?&lt;/li&gt;
&lt;li&gt;If the server crashes mid-transaction, will my data be corrupted?&lt;/li&gt;
&lt;li&gt;Do I need to become a database expert to prevent race conditions?&lt;/li&gt;
&lt;li&gt;Will I spend hours debugging "dirty" data states?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With Momen, the answers are: No, No, No, and No.&lt;/p&gt;

&lt;p&gt;Your business logic should focus on business problems, not compensating for architectural limitations. Momen handles the complex database orchestration so you don't have to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built on Solid Foundations
&lt;/h2&gt;

&lt;p&gt;Creating a reliable platform isn't about adding features. It's about getting the fundamentals right. ACID compliance isn't glamorous, but it's the difference between a system that works under pressure and one that crumbles when traffic spikes.&lt;/p&gt;

&lt;p&gt;Momen was designed with these principles from day one. We didn't bolt on transaction support as an afterthought or expect developers to implement their own concurrency controls. We built it into the foundation.&lt;/p&gt;

&lt;p&gt;Because when you're building the next generation of web applications, you shouldn't have to choose between ease of development and data integrity.&lt;/p&gt;

&lt;p&gt;You should have both.&lt;/p&gt;

&lt;p&gt;Ready to build on a platform that respects your data? Try Momen today and experience the confidence of ACID-compliant workflows.&lt;/p&gt;

</description>
      <category>scalable</category>
      <category>nocode</category>
      <category>backendnocode</category>
      <category>inventory</category>
    </item>
    <item>
      <title>Why We Built Momen Different: A Letter to Non-Technical Founders</title>
      <dc:creator>Aoxuan Guo</dc:creator>
      <pubDate>Thu, 12 Mar 2026 07:44:25 +0000</pubDate>
      <link>https://dev.to/momen_hq/why-we-built-momen-different-a-letter-to-non-technical-founders-55hb</link>
      <guid>https://dev.to/momen_hq/why-we-built-momen-different-a-letter-to-non-technical-founders-55hb</guid>
      <description>&lt;p&gt;If you're building a startup without a technical co-founder, you've probably felt it: that nagging fear that the no-code tool you choose today might trap you tomorrow.&lt;/p&gt;

&lt;p&gt;Maybe you've heard the horror stories. The founder who built to 10,000 users on a platform, then hit a performance wall they couldn't fix, accompanied by a surprise bill. The solopreneur whose app grew too complex for their builder to handle. The team that needed one custom feature and discovered their entire platform couldn't support it.&lt;/p&gt;

&lt;p&gt;We built Momen to eliminate that fear. Not by promising you'll never need a developer (you might), but by ensuring that when you do, you won't have to start over.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Replatforming Trap
&lt;/h2&gt;

&lt;p&gt;Most no-code platforms make a trade: they give you speed today by hiding complexity. That works beautifully until it doesn't.&lt;/p&gt;

&lt;p&gt;The problem shows up in four ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Performance degrades. Your app feels fast with 100 users. At 1,000 users, pages start to lag. At 10,000, it's unusable. The database structure that made the platform easy to learn is now the ceiling on what you can build.&lt;/li&gt;
&lt;li&gt;Features hit walls. You need users to collaborate on documents. Or real-time inventory sync across locations. Or complex permission logic. The visual builder doesn't support it. There's no escape hatch. You're stuck.&lt;/li&gt;
&lt;li&gt;Cost soars through the roof. What seemed like a reasonable cost for 10 initial users quickly become unsustainable at 1,000 users. You get bill shock when you realize that 1,000 DAU is costing you over $1,000 every month.&lt;/li&gt;
&lt;li&gt;Migration becomes catastrophic. By the time you realize you need to move, you have thousands of users, years of data, and business processes that depend on your app running every day. Rebuilding from scratch could take 6-12 months. Your startup might not survive that.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We want to let our users avoid replatforming, because it hurts our users and it hurts us.&lt;/p&gt;

&lt;p&gt;Many tools optimize for demos. We optimize for the moment after your demo works. We designed our product carefully with the following aspects in mind: system architecture, developer control / observability, new paradigms of compute and extensibility. We believe Your success shouldn't require abandoning the tool that got you there.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Proper Architecture Protects You (Without Making You Think About it)
&lt;/h2&gt;

&lt;p&gt;Here's what we did differently, and why it matters to you—not as a technical choice, but as a business decision.&lt;/p&gt;

&lt;h3&gt;
  
  
  Your Data Lives in A Real Database
&lt;/h3&gt;

&lt;p&gt;Momen uses PostgreSQL, the same database that powers Instagram, Spotify, and Reddit. Not a simplified version. Not a proprietary storage system. The actual industrial-strength database that handles billions of rows.&lt;/p&gt;

&lt;p&gt;What this means for you: When your AI-powered legal platform goes from 50 cases to 50,000 cases, it still loads in milliseconds. When you need to filter 4 million product SKUs by nested categories and price ranges, it happens instantly. You're not trading ease-of-use today for performance problems tomorrow. Efficiency also means low cost, so your 1,000 DAU only costs you 150 USD. And the cost advantage grows only wider as your app's success grows.&lt;/p&gt;

&lt;p&gt;We enforce specific conventions (every table gets an auto-generated ID, indexes are created automatically, data relationships are validated) not to limit what you can build, but to ensure everything you build is fast by default. You get the speed of proper architecture without needing to understand it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Your API is Already Built
&lt;/h3&gt;

&lt;p&gt;Every piece of data you add to your app automatically generates a GraphQL API—the same technology Facebook invented to handle their mobile apps. You don't write a single line of code for either the API or its documentation. They just exist.&lt;/p&gt;

&lt;p&gt;What this means for you: Whether you hire your first developer or deploy an AI agent, they don't say "I can't work with this." They can pull data, push updates, and build extensions using industry-standard tools. When you want to connect to Stripe, Slack, or a custom AI model, the integration is straightforward. Your non-technical tool speaks the technical world's language fluently.&lt;/p&gt;

&lt;h3&gt;
  
  
  Workflows Run in Transactions
&lt;/h3&gt;

&lt;p&gt;This one sounds technical, but the impact is brutally practical. Default behavior in Momen is transactional. This means when you build an internal workflow—let's say "check stock levels, decrement inventory, clear shopping cart, and generate order"—either all four steps succeed or none of them do. There's no half-finished state where the warehouse count is reduced, but the order record vanished, leaving you with "phantom" stockouts and a data nightmare.&lt;/p&gt;

&lt;p&gt;What this means for you: You don't wake up to support tickets about missing payments or broken orders. Your system behaves predictably even when things go wrong. We made this decision to avoid putting the mental burden of cleaning up after errors on founders who shouldn't have to think like database engineers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Control Means "You See What We See"
&lt;/h2&gt;

&lt;p&gt;Most no-code platforms operate as black boxes. You drag, you drop, and you hope it works. When it breaks, you're left guessing at the internal logic.&lt;/p&gt;

&lt;p&gt;We took a different approach: build on standard, open technologies and give you full access to the engine room.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Power of A Human-Readable GraphQL API
&lt;/h3&gt;

&lt;p&gt;Every data model and action you build instantly generates a comprehensive, documented GraphQL API. This isn't a second-class citizen; it's the same API our visual builder uses.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flexible Data Access: Fetch exactly the data you need, no more, no less.&lt;/li&gt;
&lt;li&gt;Self-Documenting: Use existing API explorers (Post, GraphiQL) to browse your schema, types, and operations interactively.&lt;/li&gt;
&lt;li&gt;Seamless Integration: Connect any external service or frontend to your Momen backend with standard GraphQL queries.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Predictable Behavior, Not Magic
&lt;/h3&gt;

&lt;p&gt;We don't do "magic." We do engineering.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Comprehensive Logs: Track every request, every database transaction, and every action execution. Our logging system gives you the granularity you'd expect from a custom-coded backend with an built-in AI interpreter.&lt;/li&gt;
&lt;li&gt;Transparent Execution: Watch your logic execute step-by-step. Our debugger acts as an interpreter, showing you the exact flow of data and decisions, so you can pinpoint issues instantly. (This one is still WIP)&lt;/li&gt;
&lt;li&gt;Deterministic Logic: Because our logic is not written by a Large Language Model, your app behaves predictably exactly as they are configured. No mysterious side effects, just solid, reliable execution.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why We Built Native AI Agents
&lt;/h2&gt;

&lt;p&gt;Most no-code platforms treat AI as an external service you connect to. We built it into the core architecture. This isn't about following trends—it's about recognizing that in the very near future, agentic capabilities will be an integral part of any software. To future-proof your product, AI cannot be an afterthought; it must have the "keys to the house."&lt;/p&gt;

&lt;p&gt;Imagine the following scenario:&lt;/p&gt;

&lt;p&gt;A legal tech founder builds an AI that reads case documents (stored in Momen's database), searches for relevant case law (RAG using vector storage), generates draft memos (multi-model AI orchestration), and saves them back to client files (database writes)—all in one system.&lt;/p&gt;

&lt;p&gt;This works because the AI agent is a first-class citizen in Momen. It can read your database, call your workflows, write back to your tables, and render results in your UI—without you stitching together five different services. We specifically want to enable our users to stay at the forefront of the current AI revolution. Building without code should not cost you your competitive edge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Extensibility is Insurance, Not a Day-One Feature
&lt;/h2&gt;

&lt;p&gt;Let me be direct about this: if you're a non-technical founder, you probably won't write React components or JavaScript code blocks yourself. That's fine. You're not supposed to.&lt;/p&gt;

&lt;p&gt;Extensibility is future-proofing. It's the promise that when your business grows—when you hit product-market fit and need sophisticated features—you can hire a developer or fire up Claude Code to extend Momen, rather than replace it.&lt;/p&gt;

&lt;p&gt;Think of it like buying a car with a hood that actually opens. You're not going to rebuild the engine. But if you need to, a mechanic can. The alternative is a sealed black box where even mechanics are helpless.&lt;/p&gt;

&lt;p&gt;The real test is this: Can the thing I'm building today grow into the thing I need in three years? With Momen, the answer is yes.&lt;/p&gt;

&lt;h2&gt;
  
  
  What This Philosophy Means in Practice
&lt;/h2&gt;

&lt;p&gt;We make tradeoffs. Every platform does. Here's how ours serve you:&lt;/p&gt;

&lt;p&gt;We don't let you connect external databases because Momen works with the assumption that the database follows Momen's conventions, the same conventions that keep your app fast and reliable.&lt;/p&gt;

&lt;p&gt;We don't give you raw SQL access because the visual builder relies on a precise database structure to function reliably. Direct modifications could break the internal rules that keep your app running. Instead, you get powerful, safe tools to manage your data that ensure your application remains stable and predictable without the risk of accidental corruption.&lt;/p&gt;

&lt;p&gt;We control where extensibility is possible (specific React patterns for Code Components, structured execution for JavaScript blocks) because uncontrolled customization breaks the visual builder's predictability. You get escape hatches with guardrails, not chaos.&lt;/p&gt;

&lt;p&gt;These limitations were results of careful deliberation. We chose the architecture that won't force you to replatform. We chose to give you control without requiring you to become technical. We chose to build extensibility as insurance rather than day-one complexity.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bottom Line For Founders
&lt;/h2&gt;

&lt;p&gt;If you're a non-technical founder evaluating no-code platforms, here's the question that matters:&lt;/p&gt;

&lt;p&gt;What happens to my business if this app succeeds?&lt;/p&gt;

&lt;p&gt;If success means you hit your platform's performance limits, you've bet on the wrong foundation. If success means you need features the visual builder can't support and there's no way forward, you've trapped yourself. If success means replatforming and losing 6-12 months, you've made a costly mistake.&lt;/p&gt;

&lt;p&gt;Momen's philosophy is simple: proper architecture means you can start fast and keep going. The database that handles 100 users will handle 1,000,000. The APIs you define now are structured for seamless discovery by the AI coding agents and developers who will expand your product tomorrow. The visual tools you use now won't become a ceiling on what you can build later.&lt;/p&gt;

&lt;p&gt;You don't need to understand the technical decisions. You need to trust that they were made with your growth in mind.&lt;/p&gt;

&lt;p&gt;Build your MVP. Find product-market fit. Scale without limits. That's the promise.&lt;/p&gt;

&lt;p&gt;Want to see if Momen is right for your idea? Start building for free at &lt;a href="https://momen.app" rel="noopener noreferrer"&gt;momen.app&lt;/a&gt; to see what's possible without code.*&lt;/p&gt;

</description>
      <category>avoiding</category>
      <category>the</category>
      <category>nocode</category>
      <category>trap</category>
    </item>
  </channel>
</rss>
