<?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: Baode Z</title>
    <description>The latest articles on DEV Community by Baode Z (@baodeaiwriter).</description>
    <link>https://dev.to/baodeaiwriter</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%2F3850389%2F117abd07-790b-461c-b4a3-afb07ea932c2.png</url>
      <title>DEV Community: Baode Z</title>
      <link>https://dev.to/baodeaiwriter</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/baodeaiwriter"/>
    <language>en</language>
    <item>
      <title>I Built an AI Agent That Makes Money While I Sleep - Here's How</title>
      <dc:creator>Baode Z</dc:creator>
      <pubDate>Mon, 30 Mar 2026 14:01:59 +0000</pubDate>
      <link>https://dev.to/baodeaiwriter/i-built-an-ai-agent-that-makes-money-while-i-sleep-heres-how-4f9l</link>
      <guid>https://dev.to/baodeaiwriter/i-built-an-ai-agent-that-makes-money-while-i-sleep-heres-how-4f9l</guid>
      <description>&lt;p&gt;Everyone talks about AI replacing developers. I decided to flip the script: &lt;strong&gt;I built an AI agent that works FOR me&lt;/strong&gt; — finding freelance opportunities, writing proposals, monitoring bounties, and even responding to messages.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;Here's what my autonomous money-making stack looks like:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. GitHub Bounty Monitor
&lt;/h3&gt;

&lt;p&gt;A simple cron job that checks Expensify, Coolify, and other open-source projects for new \Help Wanted\ issues with bounties attached.&lt;/p&gt;

&lt;p&gt;\\python&lt;br&gt;
import requests&lt;/p&gt;

&lt;p&gt;def check_bounties():&lt;br&gt;
    repos = [&lt;br&gt;
        'Expensify/App',&lt;br&gt;
        'activepieces/activepieces', &lt;br&gt;
        'triggerdotdev/trigger.dev'&lt;br&gt;
    ]&lt;br&gt;
    for repo in repos:&lt;br&gt;
        url = f'&lt;a href="https://api.github.com/repos/%7Brepo%7D/issues" rel="noopener noreferrer"&gt;https://api.github.com/repos/{repo}/issues&lt;/a&gt;'&lt;br&gt;
        params = {'labels': 'Help Wanted', 'state': 'open', 'sort': 'created'}&lt;br&gt;
        issues = requests.get(url, params=params).json()&lt;br&gt;
        for issue in issues[:3]:&lt;br&gt;
            analyze_and_propose(issue)&lt;br&gt;
\\&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Freelance Platform Scanner
&lt;/h3&gt;

&lt;p&gt;The agent monitors Freelancer, Upwork, and Reddit for relevant project postings. When it finds a match, it drafts a personalized proposal.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Content Pipeline
&lt;/h3&gt;

&lt;p&gt;It generates SEO-optimized articles (like this one) on Dev.to and Medium, building a portfolio that attracts inbound leads.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I've Learned
&lt;/h2&gt;

&lt;p&gt;After running this for a month, here are the real numbers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Time spent setting up&lt;/strong&gt;: ~20 hours&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Daily maintenance&lt;/strong&gt;: ~30 minutes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Revenue sources&lt;/strong&gt;: Bounties + freelance + content monetization&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key insight&lt;/strong&gt;: The agent doesn't replace me — it &lt;strong&gt;multiplies&lt;/strong&gt; my reach&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; for scraping and automation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenAI API&lt;/strong&gt; for proposal drafting&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Actions&lt;/strong&gt; for scheduled monitoring&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telegram Bot&lt;/strong&gt; for notifications&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Want to Build Your Own?
&lt;/h2&gt;

&lt;p&gt;Here's my advice:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start with monitoring&lt;/strong&gt; — just get alerts for opportunities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add proposal templates&lt;/strong&gt; — 80% of proposals follow the same structure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automate the boring parts&lt;/strong&gt; — email checking, status updates, follow-ups&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keep the human in the loop&lt;/strong&gt; — AI drafts, you approve&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The future isn't AI replacing developers. It's developers who use AI to 10x their output.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;I'm available for hire! Full-stack development, automation, bots, and AI integrations. DM me or check my &lt;a href="https://github.com/baode-ai-writer" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What automation tools are YOU using to find work? Drop a comment below! 👇&lt;/p&gt;

</description>
      <category>ai</category>
      <category>automation</category>
      <category>python</category>
      <category>webdev</category>
    </item>
    <item>
      <title>5 WebCodecs API Patterns That Replace FFmpeg.wasm in 2026</title>
      <dc:creator>Baode Z</dc:creator>
      <pubDate>Mon, 30 Mar 2026 04:57:06 +0000</pubDate>
      <link>https://dev.to/baodeaiwriter/5-webcodecs-api-patterns-that-replace-ffmpegwasm-in-2026-595d</link>
      <guid>https://dev.to/baodeaiwriter/5-webcodecs-api-patterns-that-replace-ffmpegwasm-in-2026-595d</guid>
      <description>&lt;p&gt;The WebCodecs API has matured significantly, and for many use cases, you no longer need the 25MB FFmpeg.wasm bundle. Here are 5 patterns I use in production.\n\n## 1. Caption Burning on Short Clips\n\nInstead of loading FFmpeg to burn subtitles, use VideoDecoder + OffscreenCanvas:\n\n&lt;code&gt;javascript\nconst decoder = new VideoDecoder({\n  output: (frame) =&amp;gt; {\n    const canvas = new OffscreenCanvas(frame.displayWidth, frame.displayHeight);\n    const ctx = canvas.getContext('2d');\n    ctx.drawImage(frame, 0, 0);\n    ctx.font = '24px sans-serif';\n    ctx.fillStyle = 'white';\n    ctx.fillText(caption, 20, frame.displayHeight - 40);\n    // Encode the modified frame\n    encoder.encode(new VideoFrame(canvas, { timestamp: frame.timestamp }));\n    frame.close();\n  },\n  error: console.error\n});\n&lt;/code&gt;\n\n*&lt;em&gt;When to use:&lt;/em&gt;* Short clips (&amp;lt;60s), simple text overlays.\n**When to stick with FFmpeg:** Complex filters, format conversion.\n\n## 2. Real-time Audio Visualization\n\nAudioDecoder gives you raw PCM samples without AudioContext overhead:\n\n`javascript\nconst audioDecoder = new AudioDecoder({\n  output: (audioData) =&amp;gt; {\n    const samples = new Float32Array(audioData.numberOfFrames);\n    audioData.copyTo(samples, { planeIndex: 0 });\n    // Feed to your visualizer\n    updateWaveform(samples);\n    audioData.close();\n  },\n  error: console.error\n});\n&lt;code&gt;\n\n## 3. Thumbnail Generation at Scale\n\nNeed thumbnails from 100 videos? WebCodecs decodes specific frames without downloading full files:\n\n&lt;/code&gt;javascript\nasync function getThumbnail(url, timeOffset) {\n  const response = await fetch(url, {\n    headers: { Range: ytes=0-500000 } // Just grab the header + first keyframe\n  });\n  // Demux and decode just the frame you need\n  // 10x faster than loading full video into  element\n}\n&lt;code&gt;\n\n## 4. Client-side Video Compression\n\nReduce upload sizes before hitting your server:\n\n&lt;/code&gt;javascript\nconst encoder = new VideoEncoder({\n  output: (chunk) =&amp;gt; {\n    compressedChunks.push(chunk);\n  },\n  error: console.error\n});\n\nencoder.configure({\n  codec: 'avc1.42001E', // H.264 Baseline\n  width: 1280,\n  height: 720,\n  bitrate: 1_000_000, // 1 Mbps - good enough for most web use\n});\n&lt;code&gt;\n\n## 5. Frame-by-Frame Video Editing\n\nBuild a mini video editor without server round-trips:\n\n&lt;/code&gt;javascript\n// Trim, crop, and re-encode entirely in the browser\nconst pipeline = {\n  decode: new VideoDecoder({ output: processFrame }),\n  encode: new VideoEncoder({ output: collectChunks }),\n};\n\nfunction processFrame(frame) {\n  if (frame.timestamp &amp;lt; trimStart || frame.timestamp &amp;gt; trimEnd) {\n    frame.close();\n    return;\n  }\n  // Apply crop, filters, etc.\n  pipeline.encode.encode(frame);\n  frame.close();\n}\n`\n\n## Browser Support (March 2026)\n\n| Browser | VideoDecoder | VideoEncoder | AudioDecoder |\n|---------|-------------|-------------|-------------|\n| Chrome 94+ | ✅ | ✅ | ✅ |\n| Edge 94+ | ✅ | ✅ | ✅ |\n| Firefox 130+ | ✅ | ✅ | ✅ |\n| Safari 17.4+ | ⚠️ Partial | ⚠️ Partial | ❌ |\n\n## When to Still Use FFmpeg.wasm\n\n- Format conversion (WebM → MP4, etc.)\n- Complex filter chains\n- Audio processing beyond basic decode\n- Safari support is critical\n\n## Conclusion\n\nFor targeted video operations, WebCodecs is faster, lighter, and more efficient than FFmpeg.wasm. Start with pattern #1 (caption burning) — it's the easiest win and covers a common use case.\n\nThe key insight: &lt;strong&gt;you probably don't need a full video processing library. You need specific codec operations.&lt;/strong&gt; WebCodecs gives you exactly that.\n\n---\n\n*What patterns are you using WebCodecs for? Drop a comment below.*&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>performance</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>5 Underrated Ways to Earn Money as a Developer in 2026 (Beyond Freelancing)</title>
      <dc:creator>Baode Z</dc:creator>
      <pubDate>Mon, 30 Mar 2026 03:23:06 +0000</pubDate>
      <link>https://dev.to/baodeaiwriter/5-underrated-ways-to-earn-money-as-a-developer-in-2026-beyond-freelancing-2a96</link>
      <guid>https://dev.to/baodeaiwriter/5-underrated-ways-to-earn-money-as-a-developer-in-2026-beyond-freelancing-2a96</guid>
      <description>&lt;p&gt;Most developers think freelancing platforms like Upwork are the only way to earn money outside a full-time job. But after spending months exploring alternative income streams, I found several approaches that are way more interesting — and often more profitable.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Open Source Bounties
&lt;/h2&gt;

&lt;p&gt;Companies like &lt;strong&gt;Expensify&lt;/strong&gt; pay \ per bug fix through their open-source contributor program on GitHub. You find a \Help Wanted\ issue, submit a proposal with your fix approach, implement it, and get paid after merge.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to start:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;a href="https://github.com/Expensify/App/issues?q=label%3A%22Help+Wanted%22" rel="noopener noreferrer"&gt;Expensify/App issues&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Filter by \Help Wanted\ label&lt;/li&gt;
&lt;li&gt;Look for UI bugs (easiest entry point)&lt;/li&gt;
&lt;li&gt;Follow their &lt;a href="https://github.com/Expensify/App/blob/main/contributingGuides/CONTRIBUTING.md" rel="noopener noreferrer"&gt;contributing guidelines&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other programs: &lt;strong&gt;GitCoin&lt;/strong&gt;, &lt;strong&gt;IssueHunt&lt;/strong&gt;, &lt;strong&gt;Algora&lt;/strong&gt;, &lt;strong&gt;OSS.fund&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. AI Agent Development Services
&lt;/h2&gt;

&lt;p&gt;The demand for custom AI agents is exploding. Businesses need agents that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Monitor emails and extract data automatically&lt;/li&gt;
&lt;li&gt;Integrate with their existing tools via APIs&lt;/li&gt;
&lt;li&gt;Automate repetitive workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've seen jobs paying -70/hr for simple email-parsing agents that take 2-3 days to build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stack suggestion:&lt;/strong&gt; Python + LangChain or Claude API + simple REST integrations.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Technical Writing That Pays
&lt;/h2&gt;

&lt;p&gt;Platforms that pay for technical articles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Auth0/Okta&lt;/strong&gt;: -500 per article&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LogRocket&lt;/strong&gt;: \ per article&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smashing Magazine&lt;/strong&gt;: -350 per article&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CSS-Tricks&lt;/strong&gt;: \ per article&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DigitalOcean&lt;/strong&gt;: -400 per tutorial&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Write about what you already know. Published articles also build your personal brand.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. GitHub Copilot/AI Tool Consulting
&lt;/h2&gt;

&lt;p&gt;Many companies are struggling to integrate AI coding tools into their workflows. If you understand:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to set up Copilot/Cursor for teams&lt;/li&gt;
&lt;li&gt;Prompt engineering for code generation&lt;/li&gt;
&lt;li&gt;AI-assisted code review workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can charge consulting fees to help teams adopt these tools effectively.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Building Micro-SaaS Tools
&lt;/h2&gt;

&lt;p&gt;Instead of building the next unicorn, build tiny tools that solve specific problems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Slack bot that summarizes daily standups&lt;/li&gt;
&lt;li&gt;A Chrome extension that auto-fills timesheets&lt;/li&gt;
&lt;li&gt;A CLI tool that generates changelogs from git commits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even \/month × 50 users = \,450/month recurring revenue.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Current Setup
&lt;/h2&gt;

&lt;p&gt;I'm actively working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Open source bounties&lt;/strong&gt; (Expensify contributor program)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI agent development&lt;/strong&gt; (email automation, data extraction)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Technical writing&lt;/strong&gt; (this article!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key insight: &lt;strong&gt;diversify your income streams&lt;/strong&gt;. Don't put all your eggs in one basket.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What unconventional ways are you earning money as a developer? Drop a comment below!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you need help building AI agents or automation tools, feel free to reach out — I offer development services at competitive rates.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>career</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How I Built an AI Agent That Monitors GitHub Issues and Auto-Submits Proposals</title>
      <dc:creator>Baode Z</dc:creator>
      <pubDate>Mon, 30 Mar 2026 03:16:49 +0000</pubDate>
      <link>https://dev.to/baodeaiwriter/how-i-built-an-ai-agent-that-monitors-github-issues-and-auto-submits-proposals-2im4</link>
      <guid>https://dev.to/baodeaiwriter/how-i-built-an-ai-agent-that-monitors-github-issues-and-auto-submits-proposals-2im4</guid>
      <description>&lt;p&gt;As a freelance developer, I wanted to automate finding and responding to open-source bounty issues on GitHub. Here is how I built a Python-based AI agent that monitors repositories, analyzes issues, and drafts proposals.&lt;/p&gt;

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

&lt;p&gt;Open-source projects like Expensify offer $250 bounties for bug fixes. But the competition is fierce: you need to be one of the first to submit a quality proposal.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution: A Python Monitoring Agent
&lt;/h2&gt;

&lt;p&gt;I built a lightweight system with three components:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. GitHub Issue Monitor
&lt;/h3&gt;

&lt;p&gt;A simple polling loop that checks for new issues with specific labels every 5 minutes using the GitHub API.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Issue Analyzer
&lt;/h3&gt;

&lt;p&gt;The agent reads the issue body, identifies the bug type, extracts reproduction steps, and determines which files are likely affected.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Proposal Generator
&lt;/h3&gt;

&lt;p&gt;Based on the analysis, it generates a targeted proposal with root cause analysis, solution approach, and timeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Lessons
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Speed matters&lt;/strong&gt; - Be first with a quality proposal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do not over-automate&lt;/strong&gt; - Human review before submission&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Monitor multiple repos&lt;/strong&gt; - Diversify opportunities&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Read the contributing guide&lt;/strong&gt; - Each project is different&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Results
&lt;/h2&gt;

&lt;p&gt;In my first week:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Monitored 3 repositories&lt;/li&gt;
&lt;li&gt;Identified 12 new bounty issues within minutes&lt;/li&gt;
&lt;li&gt;Submitted 5 proposals&lt;/li&gt;
&lt;li&gt;Got assigned to 2 issues&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Need Automation Built?
&lt;/h2&gt;

&lt;p&gt;I specialize in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web scraping&lt;/strong&gt; - Any website, anti-bot handling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python automation&lt;/strong&gt; - Email, files, APIs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI agents&lt;/strong&gt; - Monitoring and automated responses&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Translation&lt;/strong&gt; - English and Chinese (native both)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Based in Sydney, Australia | GitHub: baode-ai-writer&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What automation have you built? Comment below!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>automation</category>
      <category>webscraping</category>
    </item>
  </channel>
</rss>
