<?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: Rafał Żbikowski</title>
    <description>The latest articles on DEV Community by Rafał Żbikowski (@rafa_bikowski_ad3c72870).</description>
    <link>https://dev.to/rafa_bikowski_ad3c72870</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%2F3865285%2Fedb8c166-b4b6-436a-b868-1b99ddcc9e3d.png</url>
      <title>DEV Community: Rafał Żbikowski</title>
      <link>https://dev.to/rafa_bikowski_ad3c72870</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rafa_bikowski_ad3c72870"/>
    <language>en</language>
    <item>
      <title>I Built an AI That Turns 1 App Screenshot Into 10 Store Ready Marketing Formats in 30 Seconds</title>
      <dc:creator>Rafał Żbikowski</dc:creator>
      <pubDate>Tue, 07 Apr 2026 08:18:54 +0000</pubDate>
      <link>https://dev.to/rafa_bikowski_ad3c72870/i-built-an-ai-that-turns-1-app-screenshot-into-10-store-ready-marketing-formats-in-30-seconds-4o7k</link>
      <guid>https://dev.to/rafa_bikowski_ad3c72870/i-built-an-ai-that-turns-1-app-screenshot-into-10-store-ready-marketing-formats-in-30-seconds-4o7k</guid>
      <description>&lt;p&gt;Every indie developer knows the pain. You've spent weeks building your app, and now you need App Store screenshots, Google Play graphics, Instagram banners, Product Hunt assets...&lt;/p&gt;

&lt;p&gt;So you open Figma. Download templates. Adjust sizes. Write headlines. Pick colors. Export. Repeat for every format.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4 hours later, you're still not done.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I got tired of this cycle, so I built MockupGen AI a tool that does all of it in 30 seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;p&gt;You upload 1-8 screenshots from your app. The AI:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Analyzes your UI&lt;/strong&gt; using Claude's vision capabilities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extracts your brand colors&lt;/strong&gt; automatically from the screenshot&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Writes marketing headlines&lt;/strong&gt; tailored to your app&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generates 10 format-specific layouts&lt;/strong&gt; — each with proper dimensions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delivers everything as a ZIP&lt;/strong&gt; — ready to upload&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The whole process takes about 30-60 seconds.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Formats
&lt;/h2&gt;

&lt;p&gt;From a single upload, you get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;App Store iPhone 6.9" (1320×2868)&lt;/li&gt;
&lt;li&gt;App Store iPhone 6.7" (1290×2796)&lt;/li&gt;
&lt;li&gt;Google Play feature graphic&lt;/li&gt;
&lt;li&gt;Instagram Story &amp;amp; Post&lt;/li&gt;
&lt;li&gt;Twitter/X header&lt;/li&gt;
&lt;li&gt;Product Hunt banner&lt;/li&gt;
&lt;li&gt;Website hero section&lt;/li&gt;
&lt;li&gt;...and more (10 formats total)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;

&lt;p&gt;For the developers here, this is what's under the hood:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Next.js 14 (App Router)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Engine:&lt;/strong&gt; Anthropic Claude API (vision + text generation)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Graphics:&lt;/strong&gt; Canvas 2D API (server-side rendering, no Figma/Puppeteer)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Auth:&lt;/strong&gt; Kinde&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; Supabase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payments:&lt;/strong&gt; Stripe (subscriptions with webhooks)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;File Storage:&lt;/strong&gt; Cloudflare R2&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; Vercel&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analytics:&lt;/strong&gt; PostHog&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why Canvas 2D Instead of Puppeteer?
&lt;/h3&gt;

&lt;p&gt;This was a deliberate choice. Puppeteer spins up headless browsers — it's slow, memory-hungry, and expensive at scale. Canvas 2D runs server-side, generates pixel-perfect graphics in milliseconds, and costs almost nothing to operate.&lt;/p&gt;

&lt;p&gt;The tradeoff is that layout logic is more manual. Every text wrap, every gradient, every device frame is hand-coded. But the result is consistent, fast, and reliable.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Claude Vision Works Here
&lt;/h3&gt;

&lt;p&gt;The AI doesn't just "look" at your screenshot. It:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identifies the app's purpose and target audience&lt;/li&gt;
&lt;li&gt;Extracts dominant and accent colors (hex values)&lt;/li&gt;
&lt;li&gt;Suggests marketing angles based on visible UI elements&lt;/li&gt;
&lt;li&gt;Generates headlines that match the app's tone&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this happens in a single API call, keeping latency low.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Build Journey
&lt;/h2&gt;

&lt;p&gt;I'm a solo developer with a background in cybersecurity (20 years in corporate IT). MockupGen AI started as a tool I built for my own apps — I have several iOS/macOS apps on the App Store, and I was spending way too much time on marketing graphics.&lt;/p&gt;

&lt;p&gt;The first version was rough. Just App Store formats with hardcoded layouts. But once I added Claude's vision API for color extraction and headline generation, the quality jumped dramatically.&lt;/p&gt;

&lt;p&gt;The biggest challenge was &lt;strong&gt;getting Canvas 2D to produce graphics that look designed, not generated.&lt;/strong&gt; Tiny details matter: proper text kerning, gradient angles that feel natural, device frames with realistic shadows. It took hundreds of iterations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Numbers So Far
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Generation time:&lt;/strong&gt; ~30 seconds for all 10 formats&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Formats per generation:&lt;/strong&gt; 10 (22+ individual graphics)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design skills required:&lt;/strong&gt; 0&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;The first generation is free, no credit card required:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://mockupgenai.com" rel="noopener noreferrer"&gt;mockupgenai.com&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'd love feedback from the dev.to community. What formats would you add? What would make this more useful for your workflow?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>appdev</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
