<?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: yina lin</title>
    <description>The latest articles on DEV Community by yina lin (@yina_lin_06fcf130821821ab).</description>
    <link>https://dev.to/yina_lin_06fcf130821821ab</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%2F4178774%2F609e91d0-e25f-42e4-a905-a579996d458f.png</url>
      <title>DEV Community: yina lin</title>
      <link>https://dev.to/yina_lin_06fcf130821821ab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yina_lin_06fcf130821821ab"/>
    <language>en</language>
    <item>
      <title>Shipping an AI video site for a meme in 72 hours: what I reused, what I cut</title>
      <dc:creator>yina lin</dc:creator>
      <pubDate>Fri, 16 Oct 2026 07:11:01 +0000</pubDate>
      <link>https://dev.to/yina_lin_06fcf130821821ab/shipping-an-ai-video-site-for-a-meme-in-72-hours-what-i-reused-what-i-cut-1ce9</link>
      <guid>https://dev.to/yina_lin_06fcf130821821ab/shipping-an-ai-video-site-for-a-meme-in-72-hours-what-i-reused-what-i-cut-1ce9</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I build &lt;a href="https://bulin47aivideos.com" rel="noopener noreferrer"&gt;Bulin 47 AI Videos&lt;/a&gt;, the site this post is about. It is an unofficial fan tool. This post was written with AI help and reviewed by me before publishing.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Meme trends move faster than most side projects. This one gave me about a week.&lt;/p&gt;

&lt;p&gt;In early October 2026 a short phone clip of the Dominican dembow artist Bulin 47 freestyling outside a restaurant, next to the freestyler Kevin Wai and his portable speaker, blew up on Instagram and TikTok. Within days people were remaking it with AI and putting someone else in the rapper's spot: friends, grandparents, cartoon characters. Google Trends shows the first real signal on October 2 and a peak on October 10. I registered the domain on October 12 and the site was live the same day.&lt;/p&gt;

&lt;p&gt;Here is what made that possible, and what I would tell anyone chasing a trend with a small AI product.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Reuse the boring parts, rewrite only the trend
&lt;/h2&gt;

&lt;p&gt;The expensive parts of an AI video site have nothing to do with the meme: a credit ledger, a payment flow, a job queue for slow renders, private storage for results, refunds when a render fails. I had all of that from an earlier trend site, so the new site started as a copy of that codebase.&lt;/p&gt;

&lt;p&gt;What was actually new:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;one effect definition and its server-side prompt,&lt;/li&gt;
&lt;li&gt;the page copy, in English and Spanish,&lt;/li&gt;
&lt;li&gt;a new domain, database and storage bucket.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything else (auth, billing, generation engine) came over unchanged. That is the only reason "live on day one" was realistic.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. One effect, one photo, no prompt box
&lt;/h2&gt;

&lt;p&gt;The people searching for this trend do not want a video model. They want &lt;em&gt;the&lt;/em&gt; video: night street, red neon, a friend with a speaker, a crowd. So the product has exactly one effect. You upload one photo, confirm consent, and press a button. The scene, the moves and an original Spanish verse are fixed; the only creative choice is who the rapper is, which is also the part that makes the joke land.&lt;/p&gt;

&lt;p&gt;Cutting choices also cut support questions and failed renders.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Never make a request wait for the model
&lt;/h2&gt;

&lt;p&gt;A 15-second render takes roughly 2 to 7 minutes. On Cloudflare Workers you cannot hold a request open that long, and you should not want to. The flow is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Quote&lt;/strong&gt;: price the job and reserve credits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Task&lt;/strong&gt;: send it to the video model (Seedance 2.5 through a third-party API) and return immediately.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reconcile&lt;/strong&gt;: a cron trigger every 5 minutes checks unfinished tasks, and while the page is open it also asks the server to check that user's open tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Copy&lt;/strong&gt;: when a video is ready it is copied into a private storage bucket, so links do not depend on the provider keeping files around.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The user can close the tab; the finished video waits in their account. If the provider reports a failure, the credits go back automatically.&lt;/p&gt;

&lt;p&gt;One detail worth copying: the cron only touches the database when there are unfinished tasks. Free-tier serverless databases sleep when idle, and a cron that queries every 5 minutes for nothing keeps them awake and burns the monthly compute allowance.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Put hard limits on anything that costs money
&lt;/h2&gt;

&lt;p&gt;No free tier, no signup credits. Every render costs real money, so the site says so up front and charges per video. Behind that there are hard daily and monthly spend caps on the video API, a per-task cost ceiling, a per-user daily limit and a concurrency limit. A viral spike should produce a busy queue, not a surprise bill.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Decide the rules for real people before you launch
&lt;/h2&gt;

&lt;p&gt;A meme about a real artist raises obvious questions, so the rules were written before the first line of copy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it is labelled as an unofficial fan tool everywhere;&lt;/li&gt;
&lt;li&gt;no original clip, song or audio is used; the beat and verse are generated new;&lt;/li&gt;
&lt;li&gt;prompts never name or describe the artists, and their likeness is never used;&lt;/li&gt;
&lt;li&gt;uploads must be of yourself or an adult who agreed, and celebrity or politician photos are not allowed;&lt;/li&gt;
&lt;li&gt;the FAQ reminds people to switch on the AI-generated label when they post.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  6. Spanish from day one
&lt;/h2&gt;

&lt;p&gt;The meme is Dominican, so a large share of searches are in Spanish ("bulin 47 ia" rather than "bulin 47 ai"). The site launched with English and Spanish versions of every page, written separately for each language's search terms rather than machine-translated.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. A small SEO lesson
&lt;/h2&gt;

&lt;p&gt;An on-page audit flagged the homepage for using the main keyword phrase at about 4% of all words. A multi-word phrase above roughly 3% reads as keyword stuffing. The surprise was where the repeats came from: the navigation menu and the footer counted too. Rewording a handful of headings and FAQ questions brought it under 3% without touching the title or the H1.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would do differently
&lt;/h2&gt;

&lt;p&gt;Start the content and the outreach on day one, not day three. With a trend that peaks within a week, distribution matters more than another feature.&lt;/p&gt;

&lt;p&gt;If you want to see the result, &lt;a href="https://bulin47aivideos.com" rel="noopener noreferrer"&gt;Bulin 47 AI Videos&lt;/a&gt; is live, and there is &lt;a href="https://bulin47aivideos.com/how-to-make-bulin-47-ai-video" rel="noopener noreferrer"&gt;a step-by-step guide to making a Bulin 47 AI video&lt;/a&gt; for anyone who prefers doing it by hand with their own prompts. I would love to hear how others handle slow AI jobs on serverless platforms.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>cloudflare</category>
      <category>sideprojects</category>
    </item>
    <item>
      <title>How the zombie hug trend works, and how to make one from two photos</title>
      <dc:creator>yina lin</dc:creator>
      <pubDate>Mon, 12 Oct 2026 08:27:35 +0000</pubDate>
      <link>https://dev.to/yina_lin_06fcf130821821ab/how-the-zombie-hug-trend-works-and-how-to-make-one-from-two-photos-420a</link>
      <guid>https://dev.to/yina_lin_06fcf130821821ab/how-the-zombie-hug-trend-works-and-how-to-make-one-from-two-photos-420a</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I build &lt;a href="https://zombietrendai.org" rel="noopener noreferrer"&gt;Zombie Trend AI&lt;/a&gt;, one of the tools mentioned below. This post was written with AI and reviewed by me before publishing.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you have opened TikTok or Reels this autumn, you have probably seen it: a grey, half-dead figure stumbles toward the camera, the other person raises a gun or backs away, then something small, a ring or a bracelet, makes them stop. Instead of running, they hug. The last shot cuts to a warm memory of the two of them before everything went wrong.&lt;/p&gt;

&lt;p&gt;That is the &lt;strong&gt;zombie hug&lt;/strong&gt;, and it is the core of what people now call the &lt;a href="https://zombietrendai.org/ai-zombie-trend" rel="noopener noreferrer"&gt;AI zombie trend on TikTok&lt;/a&gt;. Below is what makes the format work, and two ways to make your own: by hand, or in one step.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the format works
&lt;/h2&gt;

&lt;p&gt;The clips that do well all follow the same beats:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A cold present.&lt;/strong&gt; Grey light, a ruined room or an empty road. One person has already turned.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recognition.&lt;/strong&gt; A keepsake catches the eye. This is the emotional hinge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The choice.&lt;/strong&gt; The survivor lowers the weapon and opens their arms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A warm flashback.&lt;/strong&gt; Golden-hour light, the two of them as they were.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The horror is only the shell. What people share is the love story underneath, which is why couples, best friends and pet owners all post versions of it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The photos matter more than the prompt
&lt;/h2&gt;

&lt;p&gt;Whatever tool you use, the result can only look like the people in your photos. A few rules that save a lot of retries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One person per photo, face toward the camera, no sunglasses.&lt;/li&gt;
&lt;li&gt;Even light. A dark bar or a backlit window ruins the likeness.&lt;/li&gt;
&lt;li&gt;Recent photos. The closer to how you look now, the better.&lt;/li&gt;
&lt;li&gt;If you only have one photo with both of you, that can work too, but two separate photos are more reliable.&lt;/li&gt;
&lt;li&gt;Only use photos of people who agreed to be in the video.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Option 1: by hand
&lt;/h2&gt;

&lt;p&gt;With a general image-to-video model you can rebuild the trend yourself:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate each beat as its own short clip (turned person, recognition, hug, flashback), using your photos as references.&lt;/li&gt;
&lt;li&gt;Keep the same lighting words in every prompt so the shots match.&lt;/li&gt;
&lt;li&gt;Cut the clips together in CapCut or any editor, add a slow song, and trim to 15 to 25 seconds.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This gives you full control, but expect an evening of prompting and several clips that do not quite match.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 2: one step
&lt;/h2&gt;

&lt;p&gt;This is the part I built. On &lt;a href="https://zombietrendai.org" rel="noopener noreferrer"&gt;Zombie Trend AI&lt;/a&gt; the beats above are already written into an effect, so you only supply the faces. For the classic couple version, the &lt;a href="https://zombietrendai.org/zombie-hug-ai" rel="noopener noreferrer"&gt;zombie hug AI&lt;/a&gt; page walks through it: add a photo of the person who turns and a photo of the person who hugs, and you get a 15-second, multi-shot clip. If you are making it for a partner, the &lt;a href="https://zombietrendai.org/zombie-love-story-ai" rel="noopener noreferrer"&gt;zombie love story&lt;/a&gt; page has ideas for anniversaries and long-distance posts, plus captions that work.&lt;/p&gt;

&lt;p&gt;There are also versions for pets, a solo transformation and Halloween looks. It is paid (one-time credit packs, no subscription), so try the manual route first if you just want to experiment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Posting tips
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Keep it vertical (9:16) for TikTok, Reels and Shorts.&lt;/li&gt;
&lt;li&gt;Put the twist in your caption, not the hook. Let the first two seconds look like a horror clip.&lt;/li&gt;
&lt;li&gt;Tag the person in the video. The format spreads because people send it to each other.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Have you made one? I would love to see what keepsake you used.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>video</category>
      <category>tiktok</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
