Should You Use Toon?

A new data format for LLMs called TOON (Token-Oriented Object Notation) has been getting some crazy attention in the last couple of weeks. First - I think it’s a very cool concept and it looks like there’s an impressive engineering effort in a very short time here. And having said that - I think it’s worth trying to understand what are the use cases where TOON is actually the best option. ...

November 18, 2025 · Shai Geva

Moving past vibe-coding? AI-First Design Patterns and Frameworks (blog post series)

(first post in a series) Like many others, I spent a lot of time thinking about AI and software development. I belong to the camp that believes that AI is a total paradigm shift - it’ll redefine the ecosystem and what it means to create software, and it’ll be the deepest change we have seen to date. My own “flavor” of thinking about this is to try, from an engineering / implementation perspective, to understand what that change could look like. This blog series will dig into this and share my thoughts and conclusions from experimentation. I’ll talk about both: ...

June 20, 2025 · Shai Geva

AI-first design patterns - CRUD backend fundamentals

this post is part of a series about creating production-grade maintainable AI-first projects, using AI-first design patterns and frameworks. One of the best ways to help our AI agent work on our code is to set it up with a solid feedback loop so it can “plan -> do -> verify” on its own. We define the design, and the agent follows our conventions to create code and tests that enable the feedback loop. (that’s the premise of this post; earlier posts in the series go deeper on the rationale). ...

November 4, 2025 · Shai Geva

What an AI Feedback Loop Looks Like

this post is part of a series about creating production-grade maintainable AI-first projects, using AI-first design patterns and frameworks. In the previous post I mentioned that an internal AI feedback loop will be central to all our AI-first design patterns. But “AI feedback loop” might mean different things to different people - so this lightweight post focuses on giving an example to make it concrete. We will implement a small (but realistic) project. The project is set up so the agent has an internal feedback loop - it has instructions that tell it to use a loop, and it has a clear way to create effective tests and run validations (the tests it creates, type-checking, linter). We’ll see how it makes mistakes, finds them and self-heals. ...

October 4, 2025 · Shai Geva