I recently launched [ailight.app](https://ailight.app) - a desktop application which allows you to transform content (text and screenshots) anywhere on your screen with ai. this post is about my current dev flow using agentic ai as well as inline ai editing, what is missing and how ailight solves for this. ## coding fast i have been using agentic coding tools like [claude code](https://www.anthropic.com/claude-code) a lot in the past half year and with them producing code is incredibly fast. you can get a working prototype for a lot of things up within a few hours. ![[Pasted image 20250708170625.png]] the dev loop here looks like: 1. **plan** (maybe do some [[#coding 'slow']]) 2. **prompt & wait** (try to either plan ahead or get ready to verify) 3. **verify** (maybe do some [[#coding 'slow']] to correct details) for **planning**, i typically draw something up in mermaid if it's complex enough, or jot down some bullet points in a markdown file, or, if the feature is simple enough, just directly plan as i write the prompt. what is important here is thinking ahead to 4. - how you are going to **verify**. this could mean one or all of describing a test, thinking about how to visually or manually check the change, or designing the code to make it easily grokable. one thing i've found useful in this is trying to design public interfaces such that you can ignore more internals ("don't show/test your privates" style). when the cost of changing internals is lower, the main consideration should be the cognitive load of understanding what some interface is trying to do so that you can **verify** that it does. ## coding 'slow' there is still a very important place for coding, and writing, in a more controlled and thoughtful way. as part of **plan** there are often some key pieces of logic you want to ensure are properly implemented, tests you want to precisely specify, or core interfaces you want to design thoughtfully. as part of **verify** there may be edits to make or implementation details you dislike; for these, i have been using [zed](https://zed.dev/) with (in particular) its ergonomic [inline assistant](https://zed.dev/docs/ai/inline-assistant) as well as more traditional refactor/find & replace/manual edits. ![[Screenshot 2025-07-09 at 00.03.58.png]] ### flows i've found less effective #### verifying each step verifying each step of the output of the agent and accepting, while it feels like it could shorten the loop described above, i find there a bit of a **[garden path](https://en.wikipedia.org/wiki/Garden-path_sentence) effect**. > "Time flies like an arrow; fruit flies like a banana" - a garden path sentence you start off with different ideas about implementation details and don't see the full picture of the output unless you don't intervene, in which case you've just slowed yourself down! while this may seem more akin to traditional [pair programming](https://martinfowler.com/articles/on-pair-programming.html) - i think it ends up making you both navigator (rightly so) and backseat driver, where it's more efficient to see the agentic coding tool as a very fast driver - close your eyes, then have a look around, and have another look at the satnav! it also gives you a temptation to focus less on the **plan** and **verify** portions as you feel you have done parts of both of those during your time in the agentic loop. #### agentic coding in the editor zed also supports an agentic mode in the editor. at first glance this would seem like the better option; however, i feel it has the effect of not distinguishing enough between the two modes. if i am in the editor i am [[#coding 'slow']], if i am in the full screen terminal with claude code i am [[#coding fast]]. ## what's missing and why i built **ailight** getting used to this flow, i have found it frustrating not having access to similar tools when working in other applications - for example when reading a pdf or writing an email. many applications do now have their own ai integrations but each works slightly differently and with varying levels of effectiveness. for example, in bigquery i have to use their gemini integration with a few extra clicks and no inline support; in obsidian i have to use a chat style plugin; editing a supabase email template i have to copy out to somewhere else and paste back in manually. not only is this inconvenient, but enabling these capabilities often means paying for a bunch of subscriptions or add-ons for the many tools i use in a given day (e.g. notion/slack). in particular, in other tools i find i typically want more of a [[#coding 'slow']] mode - if i'm writing a message or a document i want to think what i am writing, but maybe make some bulk edits to it or get some feedback, prompting myself to think in different directions. **ailight** works at the os level grabbing text or screenshots from any app, which i have found a really useful extra tool in my toolkit - bringing inline editing to anything i am working on without the context switch and cognitive load from having to copy and paste into some chat interface. a single catch-all for any app which doesn't have an ai integration which meets your needs better to such a degree that it makes it worth using. check out the video below to see **ailight** in action! <div style="text-align: center;"> <iframe width="560" height="315" src="https://www.youtube.com/embed/Cybk4T3SevQ?si=77iKH2tO3xbB0A1P" title="Tube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> </div> **you can read more about it and download it at [https://ailight.app](https://ailight.app).** one of the features i have planned for **ailight** is an agentic mode where with a `!` prefixed prompt the agent takes control of your machine to execute a given task using which could potentially fill some of the [[#coding fast]] gap for non coding tasks i hope!