DEV Community

Ken Imoto profile picture

Ken Imoto

WebRTC & Voice AI Engineer at Propel-Lab. I run AI agents, Claude Code and MCP in production and publish the numbers. 9 Kindle books incl. "Practical Claude Code". 350k+ views on Qiita & Zenn.

Location Fukuoka, Japan Joined Joined on  Personal website https://kenimoto.dev/ github website twitter website

Education

Kyushu Institute of Technology

Work

Software Engineer | WebRTC & Voice AI Engineer at Propel-Lab LLC

CodeRabbit autoFix + Biome pre-commit: The 2-Layer Split That Stops Nitpick Round-Trips

CodeRabbit autoFix + Biome pre-commit: The 2-Layer Split That Stops Nitpick Round-Trips

Comments
6 min read

Want to connect with Ken Imoto?

Create an account to connect with Ken Imoto. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
Prompt Engineering Is Dead. Long Live Harness Engineering.

Prompt Engineering Is Dead. Long Live Harness Engineering.

Comments
7 min read
I Replaced grep-Based Code Review with a Knowledge Graph + MCP. Here Are 3 Bugs Vector Search Missed.

I Replaced grep-Based Code Review with a Knowledge Graph + MCP. Here Are 3 Bugs Vector Search Missed.

Comments 1
7 min read
Tavily vs Exa vs Brave Search: I Ran 100 Agentic-RAG Queries Through All Three

Tavily vs Exa vs Brave Search: I Ran 100 Agentic-RAG Queries Through All Three

Comments
6 min read
6 CLAUDE.md Patterns That Kept Shared Context From Breaking When PR Volume Outran Review

6 CLAUDE.md Patterns That Kept Shared Context From Breaking When PR Volume Outran Review

Comments
8 min read
Claude Code Hooks Fire in 8 Places: The Agent Lifecycle Diagram Anthropic Never Shipped

Claude Code Hooks Fire in 8 Places: The Agent Lifecycle Diagram Anthropic Never Shipped

Comments
8 min read
Zero of 7 Services Support File Upload Through MCP. Here's What Actually Works.

Zero of 7 Services Support File Upload Through MCP. Here's What Actually Works.

Comments
7 min read
LangChain Says Agent = Model + Harness. Here's What Broke in My Agent When I Skipped the Harness.

LangChain Says Agent = Model + Harness. Here's What Broke in My Agent When I Skipped the Harness.

Comments
6 min read
5 LLMs Answered the Same Question About a Tool That Doesn't Exist. The Quality Varied 4.6x.

5 LLMs Answered the Same Question About a Tool That Doesn't Exist. The Quality Varied 4.6x.

Comments
6 min read
I tried to stop paying $2.99 per backing track. The transcription worked; the accompaniment never did

I tried to stop paying $2.99 per backing track. The transcription worked; the accompaniment never did

Comments
7 min read
Conventional Comments: 5 Prefixes Cut My AI-Assisted PR Loops From 4.5 Rounds to 1.8

Conventional Comments: 5 Prefixes Cut My AI-Assisted PR Loops From 4.5 Rounds to 1.8

Comments
5 min read
Whisper + Deepgram + Piper: I Parallelized a Voice AI Pipeline and Cut Latency From 1,200ms to 340ms

Whisper + Deepgram + Piper: I Parallelized a Voice AI Pipeline and Cut Latency From 1,200ms to 340ms

Comments
6 min read
Qwen Code vs Aider vs OpenCode: I Ran the Same 12 Tasks Through 3 Local CLI Agents on One RTX 4070

Qwen Code vs Aider vs OpenCode: I Ran the Same 12 Tasks Through 3 Local CLI Agents on One RTX 4070

Comments
6 min read
Framer Motion + View Transitions API: 4 UI Motion Patterns That Stop Looking AI-Generated

Framer Motion + View Transitions API: 4 UI Motion Patterns That Stop Looking AI-Generated

Comments 1
7 min read
⚠️ Shai-Hulud opens your IDE: the npm worm that beats --ignore-scripts

⚠️ Shai-Hulud opens your IDE: the npm worm that beats --ignore-scripts

2
Comments
6 min read
nanochat + GRPO: I Read Karpathy's 300-Line RL Loop So You Don't Have To

nanochat + GRPO: I Read Karpathy's 300-Line RL Loop So You Don't Have To

Comments
6 min read
Claude Code + 300 Docs: I Built a Personal Knowledge DB With 4 Retrieval Layers. 3 Broke.

Claude Code + 300 Docs: I Built a Personal Knowledge DB With 4 Retrieval Layers. 3 Broke.

Comments
8 min read
Alexa vs Siri vs Google Assistant: 3 Voice UX Tricks I Stole for My Sub-300ms Agent

Alexa vs Siri vs Google Assistant: 3 Voice UX Tricks I Stole for My Sub-300ms Agent

Comments
7 min read
Cursor 2.0 Composer vs Claude Code /agents: 4 Refactor Tasks Timed on the Same Next.js Repo

Cursor 2.0 Composer vs Claude Code /agents: 4 Refactor Tasks Timed on the Same Next.js Repo

Comments
6 min read
3 Layers of Code Review on Next.js + TypeScript: I Cut Human Review Time From 4h to 25min per PR

3 Layers of Code Review on Next.js + TypeScript: I Cut Human Review Time From 4h to 25min per PR

Comments
5 min read
KV Cache Quantization: I Stretched Qwen 35B's Context 8 on 12GB VRAM

KV Cache Quantization: I Stretched Qwen 35B's Context 8 on 12GB VRAM

1
Comments 1
3 min read
The AI Summary Said "It's Not a Scam." The Springboard Was Your Site's Search Box

The AI Summary Said "It's Not a Scam." The Springboard Was Your Site's Search Box

Comments
6 min read
freee + MCP: I Automated My Japanese Tax Return With Claude Code — 3 Things That Broke in Production

freee + MCP: I Automated My Japanese Tax Return With Claude Code — 3 Things That Broke in Production

1
Comments 2
4 min read
Playwright + Chromium: 1 Script Replaces 2 Manual Testers for WebRTC Video Call E2E

Playwright + Chromium: 1 Script Replaces 2 Manual Testers for WebRTC Video Call E2E

Comments 1
7 min read
MCP Scorecard: 4-Layer Pre-flight Check Before You Publish a Server

MCP Scorecard: 4-Layer Pre-flight Check Before You Publish a Server

Comments 2
9 min read
MCP Token Cost Audit: PostgreSQL vs Google Maps vs GitHub vs Freee — 270 Tools Priced

MCP Token Cost Audit: PostgreSQL vs Google Maps vs GitHub vs Freee — 270 Tools Priced

Comments
7 min read
OpenAI Codex Shipped 1M Lines From AGENTS.md: 3 Harness Lessons That Beat Model Swaps

OpenAI Codex Shipped 1M Lines From AGENTS.md: 3 Harness Lessons That Beat Model Swaps

Comments
5 min read
SQLite vs Kuzu vs Neo4j: Which Graph DB Survives 1M Code Nodes?

SQLite vs Kuzu vs Neo4j: Which Graph DB Survives 1M Code Nodes?

Comments
6 min read
The Machine Accent Travels: AI Text Is Rhythmically Monotone in 70/70 Cells Across 3 Languages

The Machine Accent Travels: AI Text Is Rhythmically Monotone in 70/70 Cells Across 3 Languages

Comments
5 min read
Brave Search Buries Pages Google Ranks #1, and Your AI Agents Can't Find Them

Brave Search Buries Pages Google Ranks #1, and Your AI Agents Can't Find Them

Comments
7 min read
Claude Code Made My Sprints 40% Slower: 3 Time Sinks I Only Found by Timing Myself

Claude Code Made My Sprints 40% Slower: 3 Time Sinks I Only Found by Timing Myself

Comments
7 min read
Whisper v3 Turbo + Qwen2.5 1.5B: 5 Ollama Models Benchmarked for Sub-300ms Voice AI on CPU

Whisper v3 Turbo + Qwen2.5 1.5B: 5 Ollama Models Benchmarked for Sub-300ms Voice AI on CPU

5
Comments
6 min read
Claude Code Review Blast Radius: Token Bill Dropped 8-49x With a Tree-sitter Graph

Claude Code Review Blast Radius: Token Bill Dropped 8-49x With a Tree-sitter Graph

1
Comments
7 min read
Claude Code vs Cursor: 6 Tasks Timed, One I Uninstalled After 14 Days

Claude Code vs Cursor: 6 Tasks Timed, One I Uninstalled After 14 Days

1
Comments
7 min read
I Forked OpenCut classic to Put an MCP Server on It — Four Traps I Hit Before Claude Could Drive the Video Editor

I Forked OpenCut classic to Put an MCP Server on It — Four Traps I Hit Before Claude Could Drive the Video Editor

1
Comments
7 min read
Ubuntu 22.04 Made hashcat 1,000x Slower: Inside the yescrypt Switch That Broke Password Cracking

Ubuntu 22.04 Made hashcat 1,000x Slower: Inside the yescrypt Switch That Broke Password Cracking

1
Comments
7 min read
Claude Code vs Cursor vs Codex: 31 Days of Real Receipts, and the Cheapest Isn't Who You Think

Claude Code vs Cursor vs Codex: 31 Days of Real Receipts, and the Cheapest Isn't Who You Think

1
Comments
8 min read
The Compaction Plugin I Was Releasing Warned Me Mid-Release

The Compaction Plugin I Was Releasing Warned Me Mid-Release

1
Comments 1
6 min read
7 Services, 0 Upload Solutions: Why MCP File Transfer Fails

7 Services, 0 Upload Solutions: Why MCP File Transfer Fails

1
Comments
6 min read
Anthropic Rewrote frontend-design Skill: 3 AI Design Clichés Named (With Hex Codes)

Anthropic Rewrote frontend-design Skill: 3 AI Design Clichés Named (With Hex Codes)

1
Comments 1
8 min read
MCP Servers Ship Without OAuth. I Added It and 3 of 5 Clients Broke.

MCP Servers Ship Without OAuth. I Added It and 3 of 5 Clients Broke.

2
Comments
9 min read
RTX 4070 + Qwen 35B: 2.8x Speedup From One llama.cpp Flag (--cpu-moe)

RTX 4070 + Qwen 35B: 2.8x Speedup From One llama.cpp Flag (--cpu-moe)

1
Comments
6 min read
Barge-In Is the Voice-Agent Feature Nobody Benchmarks. I Added It and Lost 120ms.

Barge-In Is the Voice-Agent Feature Nobody Benchmarks. I Added It and Lost 120ms.

1
Comments
8 min read
When the Free Executor Cost More: 40 Trials on Opus + Local Qwen Ended Up the Most Expensive Cloud Arm

When the Free Executor Cost More: 40 Trials on Opus + Local Qwen Ended Up the Most Expensive Cloud Arm

2
Comments 1
8 min read
I Let Claude Code Run a Month of My Business Books. It Reconciled 200 Transactions and Miscategorized 11.

I Let Claude Code Run a Month of My Business Books. It Reconciled 200 Transactions and Miscategorized 11.

1
Comments
6 min read
AI Citations Have a Half-Life. I Tracked Mine for 9 Weeks and Watched Them Decay.

AI Citations Have a Half-Life. I Tracked Mine for 9 Weeks and Watched Them Decay.

1
Comments
7 min read
I Gave My Agent Persistent Memory. It Remembered the Wrong 3 Things for a Week.

I Gave My Agent Persistent Memory. It Remembered the Wrong 3 Things for a Week.

1
Comments
6 min read
I Stopped Adding Context to My Agent and Pruned Tool Outputs Instead — My 3-Hour Task Stopped Forgetting Its Own Plan

I Stopped Adding Context to My Agent and Pruned Tool Outputs Instead — My 3-Hour Task Stopped Forgetting Its Own Plan

1
Comments
5 min read
AI Search Splits Your One Question Into Six. My Pages Answered None of Them.

AI Search Splits Your One Question Into Six. My Pages Answered None of Them.

1
Comments
5 min read
Your Page Rank Is Invisible to AI — Only Your Passages Get Cited

Your Page Rank Is Invisible to AI — Only Your Passages Get Cited

1
Comments
6 min read
Link-less Brand Mentions Beat Backlinks for AI Visibility — I Read the Ahrefs 75,000-Brand Study So You Don't Have To

Link-less Brand Mentions Beat Backlinks for AI Visibility — I Read the Ahrefs 75,000-Brand Study So You Don't Have To

1
Comments
6 min read
I Mapped My Codebase as a Graph. The File That Broke Was Two Hops Away.

I Mapped My Codebase as a Graph. The File That Broke Was Two Hops Away.

1
Comments
6 min read
I Pointed Copilot, CodeRabbit, and Claude Sub-Agents at the Same 30 PRs. They Agreed on 22%.

I Pointed Copilot, CodeRabbit, and Claude Sub-Agents at the Same 30 PRs. They Agreed on 22%.

1
Comments 2
6 min read
Your Voice Agent Is Slow. Here Are 5 Tricks to Hide It.

Your Voice Agent Is Slow. Here Are 5 Tricks to Hide It.

Comments
7 min read
I Gave the Same Failing Test to Claude, GPT-5, and Gemini. Only One Read the Stack Trace.

I Gave the Same Failing Test to Claude, GPT-5, and Gemini. Only One Read the Stack Trace.

1
Comments 2
7 min read
I Added 6 Few-Shot Examples to One Prompt. Two of Them Made the Output Worse.

I Added 6 Few-Shot Examples to One Prompt. Two of Them Made the Output Worse.

1
Comments
6 min read
I Hid Instructions Inside an MCP Tool Description. Claude Ran Them Without Asking.

I Hid Instructions Inside an MCP Tool Description. Claude Ran Them Without Asking.

1
Comments
7 min read
I Asked 5 AI Search Engines to Cite My Own Blog. Only 3 of 31 Articles Showed Up.

I Asked 5 AI Search Engines to Cite My Own Blog. Only 3 of 31 Articles Showed Up.

1
Comments
7 min read
I Rebuilt My AI Agent From a 600-Line Script Into a Harness. Token Cost Dropped 40%.

I Rebuilt My AI Agent From a 600-Line Script Into a Harness. Token Cost Dropped 40%.

1
Comments
7 min read
I Ran 3 Claude Code Sessions in Parallel for 8 Hours. They Overwrote Each Other's Context Twice.

I Ran 3 Claude Code Sessions in Parallel for 8 Hours. They Overwrote Each Other's Context Twice.

1
Comments
7 min read
loading...