<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Dev on yoav.blog</title><link>https://yoav.blog/categories/dev/</link><description>Recent content in Dev on yoav.blog</description><image><title>yoav.blog</title><url>https://yoav.blog/og-image.png</url><link>https://yoav.blog/og-image.png</link></image><generator>Hugo -- 0.155.1</generator><language>en-us</language><lastBuildDate>Thu, 23 Jul 2026 22:54:12 +0300</lastBuildDate><atom:link href="https://yoav.blog/categories/dev/feed.xml" rel="self" type="application/rss+xml"/><item><title>Recent projects update</title><link>https://yoav.blog/2026/07/23/recent-projects-update/</link><pubDate>Thu, 23 Jul 2026 22:54:12 +0300</pubDate><guid>https://yoav.blog/2026/07/23/recent-projects-update/</guid><description>&lt;p&gt;I&amp;rsquo;ve been announcing new projects on LinkedIn and X, but forgot to update my own blog. Since the last update, I shipped:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ringbreak.app"&gt;RingBreak&lt;/a&gt; — a macOS menu-bar app for quick exercise breaks using a Nintendo Ring-Con.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://usecontinuo.dev"&gt;Continuo&lt;/a&gt; — a macOS menu-bar app for moving coding sessions between Claude Code, Codex, and OpenCode.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jst.sh"&gt;jst&lt;/a&gt; — a CLI that turns plain-English requests into shell commands and runs them.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All three are open source. Source links and a little more detail are on the &lt;a href="https://yoav.blog/projects/"&gt;projects page&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Claude Code sessions should be encrypted</title><link>https://yoav.blog/2026/01/09/claude-code-sessions-should-be-encrypted/</link><pubDate>Fri, 09 Jan 2026 12:07:08 +0200</pubDate><guid>https://yoav.blog/2026/01/09/claude-code-sessions-should-be-encrypted/</guid><description>&lt;p&gt;Claude Code is exploding in popularity right now, and people are using it for &lt;strong&gt;much more than writing code&lt;/strong&gt;.&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;Everyone should be using Claude Code more&lt;br&gt;&lt;br&gt;PMs, marketers, designers, founders, parents. Everyone.&lt;br&gt;&lt;br&gt;The trick is to forget that it’s called Claude Code and instead think of it as Claude Local or Claude Agent. It’s essentially a super-intelligent AI running locally, able to do… &lt;a href="https://t.co/F6iDwYPMRY"&gt;pic.twitter.com/F6iDwYPMRY&lt;/a&gt;&lt;/p&gt;&amp;mdash; Lenny Rachitsky (@lennysan) &lt;a href="https://x.com/lennysan/status/1978130461596745856?ref_src=twsrc%5Etfw"&gt;October 14, 2025&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="https://platform.x.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;
&lt;p&gt;Whether it&amp;rsquo;s to &lt;a href="https://harper.blog/2025/12/03/claude-code-email-productivity-mcp-agents/"&gt;manage your email&lt;/a&gt;, write &lt;a href="https://x.com/GergelyOrosz/status/1939940353617920038"&gt;peer performance feedback&lt;/a&gt;, or even be your &lt;a href="https://x.com/DanielleMorrill/status/2007508036584341899"&gt;Chief of Staff&lt;/a&gt;—people are putting sensitive, personal information into Claude Code. And the more we use it for non-coding work, the more the session files are &lt;strong&gt;valuable and private&lt;/strong&gt;&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;</description></item><item><title>AI Sessions - an excercise in 0-to-1</title><link>https://yoav.blog/2025/11/18/ai-sessions-0-to-1/</link><pubDate>Tue, 18 Nov 2025 14:00:00 +0300</pubDate><guid>https://yoav.blog/2025/11/18/ai-sessions-0-to-1/</guid><description>&lt;p&gt;A few weeks ago I released &lt;a href="https://aisessions.dev"&gt;aisessions.dev&lt;/a&gt;, a site where you can share your Claude Code / Codex / Gemini CLI sessions with others. In some ways this is an extension of the &lt;a href="http://localhost:1313/2025/10/04/ai-sessions-mcp/"&gt;MCP server&lt;/a&gt; of the same name I created.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://aisessions.dev"&gt;&lt;img decoding="async" src="ai-sessions.png" alt="AI Sessions - https://aisessions.dev" width="480" style="border-radius:10px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This was a fun zero-to-one project and an opportunity to think through a number of challenges:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Safely accepting user generated data (security, PII scrubbing, etc)&lt;/li&gt;
&lt;li&gt;Building a privacy conscious service&lt;/li&gt;
&lt;li&gt;Designing for long-term low-maintenance operation&lt;/li&gt;
&lt;li&gt;Developer experience - CLI tools, onboarding, and good defaults ()&lt;/li&gt;
&lt;li&gt;UI, design, and simplicity&lt;/li&gt;
&lt;li&gt;Keeping everything &lt;a href="https://github.com/yoavf/ai-sessions"&gt;open source&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The stack this time was next.js + postgres (neon) + redis (upstash) + GCP Sensitive Data Protection. Hosted on Vercel.&lt;/p&gt;</description></item><item><title>Sharing context between AI coding agents</title><link>https://yoav.blog/2025/10/04/ai-sessions-mcp/</link><pubDate>Sat, 04 Oct 2025 14:00:00 +0300</pubDate><guid>https://yoav.blog/2025/10/04/ai-sessions-mcp/</guid><description>&lt;p&gt;I&amp;rsquo;ve been switching between Claude Code and Codex a lot lately, and losing context each time was getting annoying.&lt;/p&gt;
&lt;p&gt;So I built &lt;a href="https://github.com/yoavf/ai-sessions-mcp"&gt;AI Sessions MCP&lt;/a&gt; - a small local server that lets any MCP-compatible AI agent read your coding sessions from Claude Code, Codex, Gemini CLI, and opencode.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/yoavf/ai-sessions-mcp"&gt;&lt;img decoding="async" src="ai-sessions-mcp.png" alt="ai-sessions-mcp - https://github.com/yoavf/ai-sessions-mcp" width="480" style="border-radius:10px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Install it once, point your agents at it, and they can all access your session history. Search past conversations, find solutions to similar problems, or resume work in a different tool.&lt;/p&gt;</description></item><item><title>pair.guide</title><link>https://yoav.blog/2025/10/01/pair.guide/</link><pubDate>Wed, 01 Oct 2025 14:00:00 +0300</pubDate><guid>https://yoav.blog/2025/10/01/pair.guide/</guid><description>&lt;p&gt;I&amp;rsquo;ve been working with AI coding agents a lot lately, and learning a lot in the process. I&amp;rsquo;ve noticed patterns: things that work well, things that don&amp;rsquo;t, and small tricks that make the whole experience better.&lt;/p&gt;
&lt;p&gt;This led to &lt;a href="https://pair.guide"&gt;pair.guide&lt;/a&gt; (previously humans.md) - a collection of short, practical notes on pair-coding with AI. Just things I wish I&amp;rsquo;d figured out sooner.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pair.guide"&gt;&lt;img decoding="async" src="og-image.png" alt="pair.guide - notes on pair-coding with AI" width="600" style="margin:40px" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re working with Claude Code or similar tools, maybe you&amp;rsquo;ll find something useful. And if you have tips of your own, contributions are welcome.&lt;/p&gt;</description></item><item><title>Comparing AI coding agents</title><link>https://yoav.blog/2025/06/10/comparing-ai-coding-agents-with-a-real-task/</link><pubDate>Tue, 10 Jun 2025 20:30:04 +0000</pubDate><guid>https://yoav.blog/2025/06/10/comparing-ai-coding-agents-with-a-real-task/</guid><description>&lt;p&gt;I threw an issue from a side project at 6 AI tools today: &lt;a href="https://www.anthropic.com/claude-code"&gt;Claude Code&lt;/a&gt;, OpenAI Codex (the &lt;a href="https://github.com/openai/codex"&gt;CLI version&lt;/a&gt;), &lt;a href="https://www.factory.ai/"&gt;Factory.ai&lt;/a&gt;, &lt;a href="https://devin.ai/"&gt;Devin&lt;/a&gt;, &lt;a href="https://jules.google.com/"&gt;Jules&lt;/a&gt;, and &lt;a href="https://www.all-hands.dev/"&gt;All Hands&lt;/a&gt;.&lt;figure class="wp-block-image size-large has-lightbox has-lightbox"&gt;&lt;/p&gt;
&lt;p&gt;&lt;img decoding="async" src="images/Screenshot-2025-06-10-at-22.48.16-1024x324.png" alt="screenshot of a list of 6 pull requests in a Github project. Each PR was created by a different AI tool to address the same ISSUE" class="wp-image-3914" /&gt; &lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;The task was a bug fix + feature. The tricky part: it required setting the browser to offline mode for testing.&lt;/p&gt;</description></item></channel></rss>