<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Encore Shao&apos;s Blog</title><description>Writing on engineering, AI, and shipping software.</description><link>https://blog.icmoc.com/</link><language>en-us</language><item><title>Building github-trending: From a Cron Script to a React App</title><link>https://blog.icmoc.com/en/09-github-trending/</link><guid isPermaLink="true">https://blog.icmoc.com/en/09-github-trending/</guid><description>I wanted to track what was rising on GitHub each week without manually scrolling. A Node.js script became a full React app — here&apos;s what that journey looked like.</description><pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Building bamboohr-mcp: An MCP Server for HR APIs</title><link>https://blog.icmoc.com/en/01-bamboohr-mcp/</link><guid isPermaLink="true">https://blog.icmoc.com/en/01-bamboohr-mcp/</guid><description>I wanted to let any LLM talk to BambooHR&apos;s API. Three days later I had a production MCP server in TypeScript. Here&apos;s exactly what I built and what surprised me along the way.</description><pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate></item><item><title>china_regions: Lessons from a 25-Star Ruby Gem</title><link>https://blog.icmoc.com/en/02-china-regions/</link><guid isPermaLink="true">https://blog.icmoc.com/en/02-china-regions/</guid><description>What I learned shipping a Ruby library for Chinese administrative regions — and why documentation matters more than the code itself.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate></item><item><title>AI-Powered Bookmark Dashboard: A Chrome Extension Story</title><link>https://blog.icmoc.com/en/03-bookmark-dashboard/</link><guid isPermaLink="true">https://blog.icmoc.com/en/03-bookmark-dashboard/</guid><description>Replacing the new tab page with something actually useful — how I built a bookmark dashboard powered by agentic AI, and what I&apos;d do differently.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Agentic AI in Production: What I Learned Building RanBot</title><link>https://blog.icmoc.com/en/04-agentic-ai-ranbot/</link><guid isPermaLink="true">https://blog.icmoc.com/en/04-agentic-ai-ranbot/</guid><description>Autonomous workflows sound great until they hit the real world. Twelve months of running agentic systems in production, and the lessons I keep coming back to.</description><pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate></item><item><title>10 Years of Rails: What I Still Reach For Every Day</title><link>https://blog.icmoc.com/en/05-ten-years-rails/</link><guid isPermaLink="true">https://blog.icmoc.com/en/05-ten-years-rails/</guid><description>Not a framework review. A personal account of which Rails patterns aged well, which didn&apos;t, and what I&apos;ve built that I&apos;m still proud of.</description><pubDate>Wed, 10 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Building TrendShop: When AI Meets Fashion Discovery</title><link>https://blog.icmoc.com/en/06-trendshop/</link><guid isPermaLink="true">https://blog.icmoc.com/en/06-trendshop/</guid><description>How we built a social fashion platform powered by AI recommendation — what worked, what the users actually wanted, and the pivot we almost didn&apos;t make.</description><pubDate>Sun, 05 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Building a Ruby Wrapper for the Crunchbase API</title><link>https://blog.icmoc.com/en/07-crunchbase-ruby/</link><guid isPermaLink="true">https://blog.icmoc.com/en/07-crunchbase-ruby/</guid><description>What I learned wrapping a third-party API in idiomatic Ruby — rate limits, authentication flows, model design, and the V3 to V4 migration I didn&apos;t see coming.</description><pubDate>Mon, 15 Sep 2025 00:00:00 GMT</pubDate></item><item><title>WorkflowPro: Building Office Automation That Actually Gets Used</title><link>https://blog.icmoc.com/en/08-workflowpro/</link><guid isPermaLink="true">https://blog.icmoc.com/en/08-workflowpro/</guid><description>How I built an approval workflow system for an elevator manufacturer that ran three years without downtime — and what I learned about getting enterprise software right the first time.</description><pubDate>Sun, 20 Jul 2025 00:00:00 GMT</pubDate></item></channel></rss>