<?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: jeswin cyriac</title>
    <description>The latest articles on DEV Community by jeswin cyriac (@jeswin_cyriac_f824e27acc9).</description>
    <link>https://dev.to/jeswin_cyriac_f824e27acc9</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%2F3811358%2F5345317e-4b21-4efa-a021-4635439154e6.jpeg</url>
      <title>DEV Community: jeswin cyriac</title>
      <link>https://dev.to/jeswin_cyriac_f824e27acc9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jeswin_cyriac_f824e27acc9"/>
    <language>en</language>
    <item>
      <title>What Actually Happens in the Linux Kernel When You Run docker run?</title>
      <dc:creator>jeswin cyriac</dc:creator>
      <pubDate>Mon, 16 Mar 2026 14:01:38 +0000</pubDate>
      <link>https://dev.to/jeswin_cyriac_f824e27acc9/what-actually-happens-in-the-linux-kernel-when-you-run-docker-run-3oh6</link>
      <guid>https://dev.to/jeswin_cyriac_f824e27acc9/what-actually-happens-in-the-linux-kernel-when-you-run-docker-run-3oh6</guid>
      <description>&lt;p&gt;Most explanations of containers stop at "it's like a lightweight VM." I wanted to go deeper about what actually happens in the Linux&lt;br&gt;
  kernel when you run docker run?&lt;/p&gt;

&lt;p&gt;I built an interactive blog that walks through it step by step, with animations you can click through:&lt;/p&gt;

&lt;p&gt;Filesystem isolation&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How OverlayFS stacks read-only image layers with a writable layer using copy-on-write&lt;/li&gt;
&lt;li&gt;How pivot_root() changes a process's root pointer so it can't escape the container&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Network isolation&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How veth pairs are just two net_device structs pointing at each other in kernel memory&lt;/li&gt;
&lt;li&gt;How the docker0 bridge switches packets using a MAC address hash table&lt;/li&gt;
&lt;li&gt;How NAT with iptables MASQUERADE and conntrack lets containers reach the internet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Process isolation&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How nsproxy inside task_struct holds pointers to all 6 namespace types&lt;/li&gt;
&lt;li&gt;How getpid() returns different PIDs depending on which namespace is asking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Resource control&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How the OOM killer picks which process to kill using oom_badness scores&lt;/li&gt;
&lt;li&gt;How CFS tracks vruntime per process to fairly share CPU&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The runtime chain&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How docker run chains through dockerd → containerd → runc, and runc fires clone(), unshare(), pivot_root() then exits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each topic has interactive diagrams where you can step through what's happening at the kernel level.&lt;/p&gt;

&lt;p&gt;Check it out here: &lt;a href="https://devopsagents.co/blog/containers-from-scratch#sharing-problem" rel="noopener noreferrer"&gt;https://devopsagents.co/blog/containers-from-scratch#sharing-problem&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love to hear feedback. Especially if anything is inaccurate or could be explained better.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>devops</category>
      <category>linux</category>
      <category>containers</category>
    </item>
    <item>
      <title>How I used Claude Code to reverse-engineer a SaaS promo video and build my own — frame by frame</title>
      <dc:creator>jeswin cyriac</dc:creator>
      <pubDate>Sat, 07 Mar 2026 10:29:46 +0000</pubDate>
      <link>https://dev.to/jeswin_cyriac_f824e27acc9/how-i-used-claude-code-to-reverse-engineer-a-saas-promo-video-and-build-my-own-frame-by-frame-766</link>
      <guid>https://dev.to/jeswin_cyriac_f824e27acc9/how-i-used-claude-code-to-reverse-engineer-a-saas-promo-video-and-build-my-own-frame-by-frame-766</guid>
      <description>&lt;h2&gt;
  
  
  Who am I
&lt;/h2&gt;

&lt;p&gt;I'm a solo founder building &lt;a href="https://devopsagents.co?utm_source=devto&amp;amp;utm_medium=post&amp;amp;utm_campaign=video_creation_story" rel="noopener noreferrer"&gt;DevOps Agents&lt;/a&gt; — AI agents that deploy and manage your production infrastructure from a chat interface. You give it a GitHub repo, tell it where to deploy (AWS, DigitalOcean, any VPS), and the agents handle the rest — analyzing your repo, planning the architecture, running the deployment commands, and validating everything works. All with your approval at every step.&lt;/p&gt;

&lt;p&gt;I've been building it solo for the past few months. Bootstrapped. Wearing every hat — backend, frontend, infra, and now apparently, video production.&lt;/p&gt;

&lt;h2&gt;
  
  
  I thought I needed to outsource my intro video. Turns out, doing it myself was better.
&lt;/h2&gt;

&lt;p&gt;A few weeks ago I needed an intro video for my landing page.&lt;/p&gt;

&lt;p&gt;As I don't have prior video creation experience, I thought it would be smart to outsource it. Went to Fiverr. Went to Upwork. Spent days filtering profiles, comparing portfolios, checking prices. Some were too expensive for a bootstrapped product. Some had the wrong style. Some had 3-week turnarounds.&lt;/p&gt;

&lt;p&gt;After a few days of this, I still had nothing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The "what if" moment
&lt;/h2&gt;

&lt;p&gt;Then a thought hit me: what if claude code could just... make it?&lt;/p&gt;

&lt;p&gt;I didn't have a plan. I didn't have a tool in mind. I opened Claude Code and typed something like: &lt;em&gt;"I need a promo video for my SaaS. Are there any MCP servers for After Effects? Or any way you can create videos programmatically?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Claude Code searched around and came back with &lt;strong&gt;Remotion&lt;/strong&gt; — a React framework where every video frame is just a React component. I'd never heard of it.&lt;/p&gt;

&lt;p&gt;But I know React. Claude Code knows React. So we went for it.&lt;/p&gt;

&lt;p&gt;(For context — Claude Code was running on its default model, Claude Opus 4.6.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Reverse-engineering a reference video
&lt;/h2&gt;

&lt;p&gt;I found a SaaS promo on YouTube — clean dark theme, animated UI mockups, smooth transitions. Exactly the vibe I wanted. But instead of just bookmarking it for "inspiration," I decided to systematically reverse-engineer it.&lt;/p&gt;

&lt;p&gt;I gave Claude Code the YouTube link and said: &lt;em&gt;"Download this. Extract the frames. Analyze it."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It handled everything. Downloaded the video with yt-dlp. Extracted 177 frames at 2fps with ffmpeg. Then it produced a 160-line analysis document.&lt;/p&gt;

&lt;p&gt;Not a vague summary. A full breakdown:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every scene with exact timestamps — "Act 1: Hook (0-7s), Act 2: Value Prop (7-15s)..."&lt;/li&gt;
&lt;li&gt;The design language — fonts, colors, spacing, animation patterns&lt;/li&gt;
&lt;li&gt;How transitions sync with audio beats&lt;/li&gt;
&lt;li&gt;Composition rules — "never more than 4-5 words per text card," "generous padding," "text cards hold 2-3 seconds"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It basically reverse-engineered the entire visual language of a professional promo video into a structured, reusable document.&lt;/p&gt;

&lt;p&gt;That alone was worth the experiment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: From analysis to a production plan
&lt;/h2&gt;

&lt;p&gt;Next I said: &lt;em&gt;"Now plan a similar video for DevOps Agents."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Claude Code created a 415-line plan document. Not a generic outline — a detailed production blueprint:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;9 scenes, each mapped to specific frame ranges&lt;/li&gt;
&lt;li&gt;A comparison table: reference style vs our adaptation&lt;/li&gt;
&lt;li&gt;Exact animation timing for every element&lt;/li&gt;
&lt;li&gt;A phased build order&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The plan adapted the reference flow to tell our product's story: user types "Deploy my GitHub app to Kubernetes" → agent analyzes requirements → plans architecture → executes deployment → success.&lt;/p&gt;

&lt;p&gt;At this point I hadn't written a single line of code. But I had a complete creative direction grounded in something that already worked.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: The autonomous build loop (this surprised me)
&lt;/h2&gt;

&lt;p&gt;Here's where it got wild.&lt;/p&gt;

&lt;p&gt;I told Claude Code: &lt;em&gt;"Build each scene, render the frames, review them yourself, fix whatever looks off, and keep looping until you think it's good enough."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And it did.&lt;/p&gt;

&lt;p&gt;The cycle looked like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Write a React component for a scene&lt;/li&gt;
&lt;li&gt;Render still frames at key moments&lt;/li&gt;
&lt;li&gt;Analyze its own output — "spacing is too tight here," "that gradient needs to be more subtle," "stagger delay should be 15 frames, not 10"&lt;/li&gt;
&lt;li&gt;Fix the code&lt;/li&gt;
&lt;li&gt;Re-render&lt;/li&gt;
&lt;li&gt;Analyze again&lt;/li&gt;
&lt;li&gt;Repeat&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I wasn't reviewing each iteration. Claude Code was its own designer, its own QA, its own creative director — building, rendering, critiquing, fixing. Dozens of cycles per scene. Spring physics for bouncy entrances. Typewriter character timing. Smooth terminal scrolling interpolated across 137 frames.&lt;/p&gt;

&lt;p&gt;I'd check in occasionally, give a high-level note, and let it keep going.&lt;/p&gt;

&lt;h2&gt;
  
  
  The result: 2 hours, zero video editing
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;8 scenes with smooth transitions — typing effects, animated progress bars, terminal output, gradient animations&lt;/li&gt;
&lt;li&gt;42 seconds at 1080p, 30fps&lt;/li&gt;
&lt;li&gt;Background music synced to scene transitions&lt;/li&gt;
&lt;li&gt;All React components. No After Effects. No Premiere. No video editing software touched.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Total time from "can you make a video?" to rendered MP4: &lt;strong&gt;about 2 hours.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here's the final video:&lt;/p&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/T_HLYFxcr70"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;h2&gt;
  
  
  Final thoughts
&lt;/h2&gt;

&lt;p&gt;It has "Code" in the name, but it keeps surprising me with what it can do beyond coding. Video production wasn't something I'd ever think to throw at it. But here we are — it found the tool, analyzed the reference, planned the scenes, built the components, reviewed its own output, and iterated until it was good.&lt;/p&gt;

&lt;p&gt;I keep discovering new things in my journey building devopsagents. I'm planning to share all my discoveries and experiences building DevOps Agents with Claude Code and other AI tools — follow me on &lt;a href="https://x.com/Cyriac_Jeswin" rel="noopener noreferrer"&gt;Twitter/X&lt;/a&gt; if you're interested in that kind of thing.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devops</category>
      <category>showdev</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
