<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Creating Saalo]]></title><description><![CDATA[Notes on building Saalo, as a product and a way of life.]]></description><link>https://creating.saalo.co</link><image><url>https://substackcdn.com/image/fetch/$s_!NBuE!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6d23f3e-cec9-4497-a1a3-8e8c0060526b_1024x1024.png</url><title>Creating Saalo</title><link>https://creating.saalo.co</link></image><generator>Substack</generator><lastBuildDate>Mon, 15 Jun 2026 01:59:55 GMT</lastBuildDate><atom:link href="https://creating.saalo.co/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Tommy]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[creatingsaalo@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[creatingsaalo@substack.com]]></itunes:email><itunes:name><![CDATA[Tommy]]></itunes:name></itunes:owner><itunes:author><![CDATA[Tommy]]></itunes:author><googleplay:owner><![CDATA[creatingsaalo@substack.com]]></googleplay:owner><googleplay:email><![CDATA[creatingsaalo@substack.com]]></googleplay:email><googleplay:author><![CDATA[Tommy]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Customer Obsession, in the age of AI]]></title><description><![CDATA[How to use Claude to give you 24/7 access to your ideal customer.]]></description><link>https://creating.saalo.co/p/customer-obsession-in-the-age-of</link><guid isPermaLink="false">https://creating.saalo.co/p/customer-obsession-in-the-age-of</guid><dc:creator><![CDATA[Tommy]]></dc:creator><pubDate>Mon, 25 May 2026 00:49:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NBuE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6d23f3e-cec9-4497-a1a3-8e8c0060526b_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Knowing who you&#8217;re making something for matters. That&#8217;s been gospel forever, whether you&#8217;re building a product, writing a substack, leading a team, or just trying to show up for the people in your life. Steve Blank&#8217;s old line for it in startup-land was &#8220;get out of the building,&#8221; meaning go meet real customers instead of guessing about them in a conference room. The trouble has always been cost. Real customer research has historically meant weeks of interviews, scripts, spreadsheets, sometimes a consulting budget, sometimes a small team. Always humility and willingness to feel awkward and to be wrong.  In short, it&#8217;s hard.  </p><p>In my recent work, AI has been changing that. A pass that used to take hours or weeks, can now run in an afternoon.</p><p>I recently read <a href="https://taylaburrell.substack.com/p/claude-got-me-3674-new-followers">a post from Tayla Burrell on her publication Dangerously Educated</a> about using deep research as an audience research tool. Her method is clever. You run the same research prompt through the four AI tools that have deep research modes (Claude, ChatGPT, Perplexity, Gemini), then feed all four outputs back to Claude with a synthesis prompt that merges them into one definitive brief. You get four independent reads and let the overlap be the signal. Go read her original post for the full thinking.</p><p>I didn&#8217;t do the whole method. I only had an afternoon, so I just ran the prompt in Claude&#8217;s deep research mode. I figured I&#8217;d come back and do the full version if the single-model output felt thin. It didn&#8217;t.</p><p>I have two sections on this Substack, Work and Life, with pretty different readers, so I wrote a separate research prompt for each. Eight questions per section, things like: who the reader is, what they want, what&#8217;s stopping them, the exact language they use, what they&#8217;ve paid for and what they bounced off of, where they read, who they trust, and what &#8220;this is working&#8221; actually feels like for them in a given week. I kicked each one off in Claude&#8217;s deep research mode and went and made coffee.</p><p>The Work brief basically rewrote who I thought I was writing to. I&#8217;d been picturing other hobbiest builders like me. The brief pointed at a much wider audience of non-engineer professionals who are using AI every day at work and are tired of hype. Side-project builders are part of that audience, just a slice of it. That changes who I picture when I open a post.</p><p>The Life brief pulled back specific phrases the audience rolls its eyes at (&#8221;digital detox,&#8221; &#8220;dopamine fast,&#8221; &#8220;mindful moment&#8221;) and phrases they actually use themselves. One line from an r/nosurf post said: &#8220;I feel like I&#8217;m in slow motion while everyone is running at hyperspeed.&#8221; That alone made the pass worth running. This was &#8220;getting out of the building&#8221;</p><p>I filed both briefs as internal reference docs and set up the skill I use to get audience feedback on what I&#8217;m writing. </p><p>What I hadn&#8217;t fully realized when I started is how much the same brief does. The picture you get back is who your customer is, which is the input to anything you&#8217;re going to put in front of them next, whether that&#8217;s a substack post, a homepage copy rewrite, an ad test, the next product feature, a cold email, pricing options, or an onboarding flow. Writing was just where I needed it first.</p><h2>If you want to try this yourself</h2><p>The simple version for what I did was one research prompt; run it in Claude&#8217;s deep research mode, file the output somewhere your work will actually pick it up. The fuller version is Tayla&#8217;s: run the same prompt in Claude, ChatGPT, Perplexity, and Gemini, then feed all four outputs back to Claude with a synthesis prompt that merges them. You&#8217;ll get more confidence the results aren&#8217;t specific to one model&#8217;s blind spots. I&#8217;ll probably do that on the next pass.</p><p>A few things worth knowing either way. Push the prompt to demand direct quotes, named communities, and exact vocabulary instead of generic personas.  If your publication or business has more than one audience, run a brief for each. And put the output somewhere your workflow will actually pick it up. </p><p>Here&#8217;s a prompt you can paste into Claude to get started. It&#8217;ll interview you first and then give you a research prompt you can use on your own publication or business.</p><blockquote><p>I want to write an audience research brief for something I&#8217;m publishing or selling, and I&#8217;d like to use Claude&#8217;s deep research mode to do it. Before we start, please ask me five or six questions, one at a time, so you have the context to do this well. Things you&#8217;d probably want to know: what I&#8217;m publishing or selling, who I think my audience or ICP is right now, what the through-line across what I publish or how I position is, which communities and sources my audience likely lives in, and what outputs I want back from the research (direct quotes, named communities, exact vocabulary, language to use and language to avoid, competitor positioning).</p><p>Once I&#8217;ve answered, draft me a research prompt I can paste into deep research mode. The prompt should ask for eight dimensions: who the reader or buyer is, what they want, what&#8217;s stopping them, the language they use, what they value and pay for, how they consume content or research vendors, the competitive landscape, and what success feels like in their week or month. It should demand direct quotes and real named communities rather than generic marketing personas.</p><p>If I say I want to run the fuller multi-model version, also draft me a synthesis prompt I can use later in a fresh chat after I&#8217;ve gotten outputs back from Claude, ChatGPT, Perplexity, and Gemini. That prompt should tell you to lead with findings that appear across multiple briefs, flag single-source findings, preserve direct quotes verbatim, cut generic advice, and end with a day-in-the-life, top five insights, and language-to-use and language-to-avoid lists.</p><p>Two rules: Don&#8217;t write the brief yourself from training data. And push for specificity and verbatim language, not summaries of what the audience &#8220;probably&#8221; thinks.</p></blockquote><p>After I filed my two briefs, I got thinking how much this could help other people I work with or know - regardless of function or industry. I had been talking to a friend with a mid-sized 3PL company - a warehouse, kitting, shipping operation behind a lot of brands. We had been talking about how they use Claude, and so I wondered if the audience research would work for them. Who should they be selling, what they should put on their site, how do they compare to or compete with main industry players, without spending what they spend on ads.</p><p>So I went through the exercise -if I paste that opener into Claude with the prompt above, the first thing it does is interview me, not to fill in a form but to get the context it needs to write a research prompt that&#8217;s actually about my business. What size brands am I set up to handle well, what&#8217;s the throughline I want every piece of content and every sales call to point at, which communities and publications do these founders actually read, what&#8217;s my specialty, and what&#8217;s the one thing I wish prospects already knew about me by the time they hit the contact page. Six questions or so, one at a time. Then Claude drafts the actual deep research prompt I&#8217;d paste into research mode, the same eight dimensions from before tuned for B2B services: who the buyer is, what they want, what&#8217;s stopping them from switching, the language they use, what they value and what they pay for, how they research and choose a fulfillment partner, the competitive landscape, and what &#8220;this is working&#8221; feels like in a given month.</p><p>After I let the run as deep research, I went to do something else&#8230;</p><p>What comes back was much more specific than my mental model of who buys 3PL services. It told me about the triggers that cause most companies to switch, the forums they live in, the trade press they ignore, the verbatim quotes from founders venting on actual switching moments, and the worry that runs through almost every one of those stories (that nobody picks up the phone during Black Friday week).</p><p>So, what changes once a brief like that sits in a file in your Claude system?  </p><p>Now your homepage can get specific. The same logic carries to a paid ad, the language, and who to target. Every piece of customer-facing language, from the support reply to the cold email to the onboarding flow, runs through the brief before it goes out.</p><p>The brief also turns out to be the most useful thing I&#8217;ve seen feed an SEO and GEO effort. The exact-vocabulary section is the keyword list. The trigger moments are the question-shaped queries somebody runs the week they decide to switch (&#8221;when to move from in-house fulfillment to a 3PL,&#8221; &#8220;questions to ask before signing a 3PL contract&#8221;). </p><p>It works as a product input too. The pain points customers feel sharply enough to talk about, in their own words, become a candidate list for what to build, prioritize, or kill. None of this overrides the call on what&#8217;s feasible next quarter. It just narrows the list of feasible bets to the ones a customer would actually notice.</p><p>And then there&#8217;s the move I&#8217;ve been most curious about, which is what happens when you stop treating the brief as a document and start treating it as something you can query. </p><p>I&#8217;ve actually run a version of this end-to-end on a recent project. Claude wrote a PRD, I took it into Chrome to multiple tabs, each a separate chat with different Ideal Customer Profile (ICP) agents and asked for a critique. Claude improved the PRD and took it to another Chrome tab with Lovable, where Claude asked Lovable to build a prototype.  Then back and forth - Claude would check in with the ICP agents, and then go back to Lovable.  That loop ran several days, with almost zero input from me. I&#8217;d check in a few times a day, approve or nudge something, and walk away. After a few days, what came out was nearly flawless, and I&#8217;d barely had to interface with it along the way.</p><p>For revising a blog post:</p><blockquote><p>Revise the attached blog post against the customer research brief saved in this project. Flag every phrase that uses vocabulary the brief lists as language-to-avoid. Surface every passage where I&#8217;m being abstract when the brief tells me to be specific. Rewrite the headline and the opening hook to match the angles the brief identifies as pulling my ICP in. Leave the middle of the post for me unless something has to be cut. Show your work in the margins.</p></blockquote><p>For optimizing a landing page, where I want the work to do two jobs at once, brand fit and conversion:</p><blockquote><p>Score the attached landing page against the customer research brief in this project and against landing-page conversion best practice. On the brief side: flag any vocabulary the brief lists as language-to-avoid, identify where the page is abstract when the brief says to be specific, and check whether the page addresses the signature worries the brief surfaces. On the conversion side: assess above-the-fold clarity, headline specificity, social proof quality, the primary call to action, and objection handling. Return a prioritized list of changes from highest expected impact to lowest, then draft the rewrites for the top three.</p></blockquote><p>For an SEO and GEO audit:</p><blockquote><p>Use the customer research brief in this project to run an SEO and GEO audit on my site. Pull the exact-vocabulary section of the brief and turn it into a prioritized keyword set, marked by intent. Generate twenty question-shaped queries my ICP is probably typing into Google the week they decide to switch, and another ten they&#8217;re likely typing into ChatGPT, Claude, and Perplexity. For each one, tell me whether a page exists on my site that should rank for it today, and if not, what page I should create. End with the five highest-leverage moves I should make this quarter.</p></blockquote><p>For pressure-testing a product roadmap:</p><blockquote><p>Use the customer research brief in this project to pressure-test the attached product roadmap. For each item on the roadmap, score one to five on how directly it addresses a pain the brief surfaces, and explain in one line. Flag any item that doesn&#8217;t trace back to the brief. Suggest three features the brief implies I should be building that aren&#8217;t on the roadmap, with the verbatim customer language behind each one.</p></blockquote><p>And for setting up the ICP agent itself&#8230;</p><p>The hard part of the original pass was admitting I&#8217;d been working for weeks without a real picture of my audience. What I keep coming back to now is that the brief only earns its keep once it actually changes what a customer sees, hears, or signs up for. Running the research is the clever afternoon. The more valuable part is everything that comes after, when the language from the brief actually shows up on the homepage, in the product copy, on the roadmap, and inside the agent that triages ideas and opportunities.</p><p>If you give something like this a try, let me know how it goes. If you&#8217;ve already got an approach for getting a real picture of your audience, deep research prompts of your own, or a clean way to turn a brief into an ICP agent, I&#8217;d love to hear them. And if this kind of post is useful to you, subscribing would mean a lot. I&#8217;ll keep sharing what I&#8217;m picking up as I build Saalo.</p>]]></content:encoded></item><item><title><![CDATA[The Inner Game: Work, Life, Family, and AI]]></title><description><![CDATA[How a book about Tennis is helping me be a better person, professional, and parent.]]></description><link>https://creating.saalo.co/p/the-inner-game-work-life-family-and</link><guid isPermaLink="false">https://creating.saalo.co/p/the-inner-game-work-life-family-and</guid><dc:creator><![CDATA[Tommy]]></dc:creator><pubDate>Sun, 26 Apr 2026 11:51:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NBuE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6d23f3e-cec9-4497-a1a3-8e8c0060526b_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Earlier this year, I read The Inner Game of Tennis by Tim Gallwey. It was recommended by a childhood friend who I happened to run into in unusual circumstances, so I thought it would be worth following the green light. So glad I did - it's been a source of ideas and questions and thoughts since I finished it! Some on life, some on work, some on parenthood, and some even on the future of AI&#8230;</p><p>Gallwey's argument is that you have two selves in your mind at all times. He uses Tennis as the vehicle to explain, but here's my tldr: Self 1 is the loud one. The judge, the manager, the corrector. The voice that says elbow up, watch the toss, you missed that one because you weren't paying attention. Self 2 is the quiet one. The body. The pupil. Self 2 already encompases the potential and the capacity - it already knows how to do what you're trying to do. A baby is pure Self 2 as it learns to toddle and talk.</p><p>Self 2 thrives when Self 1 gets out of its way. Self 1 has to trust Self 2. Self 2 has to feel empowered to do its work. The whole human animal learns this way. Nobody has ever learned to walk or talk by being carefully coached through it. The inherent pupil just needs to visualize and a bit or room to figure it out.</p><p>There's a passage in the book about surfers I keep thinking about. Gallwey gets into an aregument wiht his dad about the nature of competition. In the moment, he thinks competition - mano a mano - is bad. And he points to surfers and more pure. But then he realizes, if the goal of the surfer was to get to shore on a wave, they'd basically ride any wave that comes along. But they don't. They wait, they watch, they pick the wave that's going to draw out the thing they've trained for. In that moment, Gallwey had the realiztion that this is what competition actually is. You want the wave. You want the conditions that pull your full capacity forward. Hoping your opponent double-faults is the opposite of competing. It's hoping the day collapses so you don't have to bring anything out of yourself.</p><p>Which, when you sit with it, is a much bigger idea than tennis. We all have waves we're waiting for.</p><p>Around the same time, I was listening to a podcast and Dan Quinn, head coach of the Washington Commanders, said something that stuck me. He doesn't call his players 'professional athletes'. He calls them professional competitors. Which, in Gallwey's sense, turns out to be the whole game. In some sense, we all are professional competitors, whether we call ourselves that or not. The question is just what match we think we're playing, and which wave we're waiting for.</p><p>Fast forward, to a couple of months ago, I was watching my five-year-old daughter try to learn how to jump rope for the first time.</p><p>As she kept tripping on the rope, I had a strong instinct to tell her to 'wait for the rope to come in front of you before you skip' or 'Hands lower.' or 'Just step over it first' I kept coaching. She kept getting more frustrated. The more I narrated, the worse the jumps got. Eventually she looked up at me, screamed, and stormed off&#8230;</p><p>It sucks being Self 1&#8230;</p><p>No trust. No learning. I knew this intellectually from the book, but watching it happen with me as the villian was humbling.</p><p>It got me thinking about how Self 1 and Self 2 don't always live in the same cranium&#8230; There's implicatons for family, for teams, as well as for self-building. They all seem to want the same thing. Trust, empowerment, and achievement. I've been wondering if Gallwey's idea hold for cognitive and social tasks the way it holds for physical ones? How do we build trust on teams so that real learning can happen, and eventually excellence? How does a family become a place where Self 2 thrives as kids get older?</p><p>And given that I'm dealing with AI most every day - I started to wonder about prompting, and agentic architecture. What are the implications of Self 1 and Self 2 here. Does AI have a Self 2? Am I Self 1? Or is the AI just a monolithic Self 1&#8230;</p><p>We're building agentic systems that have to learn and, at their best, have to excel. Can an orchestrator agent be a healthy Self 1, a good manager that doesn't drown out the thing it's supposed to draw out? Or, the more uncomfortable version of the question, are we Self 1 to the AI's Self 2? Is it the other way around? I don't have a clean answer. I don't think the question is a gimmick.</p><p>Back to humans for a bit&#8230; One thing I've learned in life is to control what I can control. When I'm at my best, mentally and professionally, I have focus and creativity. It's because I've managed to keep the loud Self 1 out of the quiet Self 2's way. However, I've noticed that on mornings when I pick up my phone as soon as I get out of bed, it puts me straight into Self 1. To-do list. Action items. Project status. By the time the coffee is done, I'm already deep into work. My Self 2 is alrwady being bossed around. I've lost agency. The day's first decent attention already spent in a reactive state&#8230;</p><p>Conversely, when I head to the kitchen in the morning without a phone, and start to make coffee, things are different&#8230; At first, it feels uncomfortablly quiet. Like Ricky Bobby "I dont know what to do with my hands." I feel like I should be checking in for&#8230; something. Responses, updates, whatever. After a few minutes the discomfort got unbearable and I needed to try something new. So I created this little ritual. I walked around the kitchen and named shapes and colors of things I noticed. 'That plate is a circle.' and 'The fridge is a shiny rectangle' It's ridiculous. I'm a grown man. What is this?</p><p>But after a minute something clicked. I was present. And attentive. My Self 1 shut up and my Self 2 woke up. And then real thoughts start showing up. Ideas. Questions. Fun plans. They actualy started arriving too fast, and I lost most of them. So I would grab paper and a pencil and jot things down. A sentence, a doodle, an idea for work, an idea for the yard.</p><p>These days, I've build Saalo to carve out 30 or 45 minutes every morning sans phone. It works for the morning, or for dinner time. It helps me set goals and track when I put my phone away. When I let Self 2 step up and lead the way. I use Saalo for this. It's been really helpful.</p><p>Whether in tennis, or teaching, or work, or in your mornings, Self 2 already knows. The job is to be quiet enough to listen and pay attention.</p><p>My sense is that somewhere in there, you can sense when the wave are you're waiting for is approaching.</p>]]></content:encoded></item><item><title><![CDATA[Letting Claude Loose in Chrome]]></title><description><![CDATA[Three tasks I walked away from, and all the Chrome tabs Claude opened while I was gone.]]></description><link>https://creating.saalo.co/p/letting-claude-loose-in-chrome</link><guid isPermaLink="false">https://creating.saalo.co/p/letting-claude-loose-in-chrome</guid><dc:creator><![CDATA[Tommy]]></dc:creator><pubDate>Fri, 24 Apr 2026 12:09:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NBuE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6d23f3e-cec9-4497-a1a3-8e8c0060526b_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For a while I was cruising along with Claude, and things were cool.  Occasionally, I&#8217;d get some guidance from Claude, jump over to Chrome to take care of something, and just jump and back and forth whenever I hit a wall. Claude was an awesome helper in those moments, but it was a lot of back and forth. It worked, but a lot of the time I was just sort of playing middle-man. Is that just me?</p><p>A few weeks ago I started using Claude in Chrome. It's a browser extension that lets Claude see and use the tabs I have open. Once it's on, it can read the page I'm on, scroll around, click buttons, fill out forms, etc. At first, it&#8217;s wild to watch.  Caveat: it&#8217;s super slow, but I&#8217;ve been enjoying figuring out what it can do, especially when I walk  away.</p><p>So, I want to share three things I've used it for in the last month, because each one surprised me, and none of them needed me to be a specialist in what I was doing.</p><h2>Setting up saalo.co</h2><p>A recently decided to buy the saalo.co domain on GoDaddy, and needed to do a few things with it. Make the website live at the new domain, and get email working so messages sent to hello@saalo.co or support@saalo.co would actually reach me (and be able to send from them, and make sure the web app, OAuth flows, etc. all pointed to the right places. Each of those involves a different service: GoDaddy for the domain registration, Firebase for the website, Cloudflare for DNS and email routing. None of them talk to each other unless you go to each one's dashboard and tell it about the others. And if you&#8217;re like me, you have NO CLUE what any of them mean&#8230;</p><p>I started out going back and forth with claude getting instructions and doing Q&amp;A.  Eventually, the lightbulb went off, and I told Claude to just go into Chrome and do it all for me&#8230; Claude had me log into each site, like GoDaddy. It moved the nameservers from GoDaddy over to Cloudflare, set up the records on Cloudflare that pointed the domain at Firebase, went over to Firebase to authorize the new domain there, then back to Cloudflare to set up email forwarding for three inbound addresses. Again, I still have no clue what any of that means&#8230; But it was done, the site came up at saalo.co and the email started arriving.</p><h2>ElevenLabs</h2><p>I've been playing with ElevenLabs to build a small voice project. Its builder uses concepts I didn't recognize: tools, system prompts, knowledge bases, evaluation criteria. So, I opened Claude in Chrome on the ElevenLabs documentation and asked it to read through the Elevenlabs docs with me, and then go configure the thing.</p><p>It read the docs, set everything up, and even wrote automated testing. The whole loop felt like asking a coworker who already knows the platform to set it up for me. It&#8217;s incredible to watch. Sidenote: it was funny to watch Claude pick &#8220;the best&#8221; model from a drop down, and &#8230; surpise, it picked an Anthropic model.</p><h2>Genealogy, this one surprised me!</h2><p>I&#8217;ve always been into ancestry, and a few months ago, I enlisted Claude&#8217;s help. I wanted to apply for membership in the Sons of the American Revolution, which requires you to prove a direct line of descent from a Revolutionary War patriot. I gave it what I already knew about my family tree and told it I wanted it to triangulate each generation to prove that each generation&#8217;s parents were clearly documented in original documents.</p><p>Then I wen to the kitchen to make dinner.</p><p>When I came back, Claude had seventeen tabs open! FamilySearch archives, state historical society pages, regimental rosters, scanned baptism records from churches in 17th century New Amsterdam! It had proven all the links and found my revolutionary war ancestor. Fun fact: most of these docs are all sitting on the public internet on sites I&#8217;d never heard of - FamilySearch, 3Fold, etc. And, thanks to Claude, I now have my SAR membership.</p><h2>Where it falls down</h2><p>None of these runs were clean all the way through. Claude in Chrome mis-clicks. It gets stuck in loops. It&#8217;s slow. Every now and then it heads in a direction you didn't ask for and you have to back it up. As usual, Trust but verify.</p><h2>If you want to try this yourself</h2><p>Claude in Chrome is a browser extension you install on top of regular Claude. Once it's on, you point it at a tab and tell it what you want done. The thing that took me a while to internalize is that you don't need to know how to do the task. You only need to know what you want the outcome to be.</p><p>A few things that helped me. Be specific about the goal and what counts as success. If the task touches an account or record you care about, you&#8217;ll have to log in first, then watch the first few clicks before you walk away. Give it space to ask you questions before it starts. And read the recap at the end.</p><p>The other thing worth knowing is that it's slow. It reads the page, decides what to click, waits for things to load, then does it again on the next page. So, the best things to give it are tasks you can walk away from. The genealogy run was the cleanest version of this: I gave it the task, went to dinner, and came back two hours later to work that would have taken me a week of evenings to do by hand.</p><p>Here's a prompt you can paste into Claude in Chrome on whatever site you've been meaning to figure out but kept not figuring out.</p><blockquote><p>I want you to help me get something done on the website I have open in this tab. I'm not an expert in this area, so don't wait for me to tell you which buttons to click. You drive.</p><p>Before you start, ask me a couple of questions in plain English so you understand what I actually want. Things like what I'm ultimately trying to accomplish, and what success would look like to me. Once I've answered, read the current page and just go. Open whatever other tabs you need. Use whatever resources you find.</p><p>A few things to keep in mind as you work.</p><p>Don't change account, billing, or security settings without checking with me first. If something on the page looks wrong, or you're unsure whether to proceed, stop and ask. And if you find yourself doing the same thing over and over without making progress, stop and tell me, instead of trying it again.</p><p>One more thing. These browser sessions are slow, so I might not be sitting here watching the whole time. If I've stepped away, that's by design. Get as far as you can on your own. When I come back I want to see what you found and where things stand, not a long list of questions you held off on.</p></blockquote><p>Since I started using Claude in Chrome I find myself wishing more of the things I work in had a web interface. Native apps have been amazing for years, but now with Substack, ElevenLabs, ancestry sites, the Google Search Console dashboard, even creating drafts in Gmail. Vendor dashboards, admin portals, app consoles, maybe the procurement tool nobody in your company understands. Just keep a human in the loop for one way doors. Anywhere there's a webpage Claude can read and click around in, it can do most of the work. Where it can't help is the stuff that doesn't live in a browser. Xcode, terminal, etc. That still needs me at the keyboard (for now&#8230;).</p><p>If you try Claude in Chrome on something you've been putting off, I'd love to hear what worked and what didn't. And if these posts are useful to you, subscribing would mean a lot.</p>]]></content:encoded></item><item><title><![CDATA[A folder I wish I'd built sooner]]></title><description><![CDATA[One attempt to help Claude remember things and get smarter over time.]]></description><link>https://creating.saalo.co/p/a-folder-i-wish-id-built-sooner</link><guid isPermaLink="false">https://creating.saalo.co/p/a-folder-i-wish-id-built-sooner</guid><dc:creator><![CDATA[Tommy]]></dc:creator><pubDate>Sun, 19 Apr 2026 19:30:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NBuE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6d23f3e-cec9-4497-a1a3-8e8c0060526b_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>For the past few months, I&#8217;ve been using Claude in the evenings to build this project called <a href="http://saalo.co">Saalo</a>. It&#8217;s been incredible how much I can build without being an engineer, but one thing has been driving me a little crazy: Claude doesn&#8217;t really remember anything between sessions. I&#8217;ll build something on a Tuesday night, come back Wednesday morning, and have to re-explain what we did. Or worse, Claude will confidently tell me we haven&#8217;t done it yet. I wasn&#8217;t sure if this was happening to other people or if I was just doing something wrong, but it was bugging me enough that on Saturday I blocked a chunk of time to try to fix it.</p><p>There are plenty of guides floating around on how to give AI agents long-term memory, but I&#8217;m not an engineer and most of them either went over my head or felt like overkill for a side project. So I kept looking for something I could actually set up myself.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://creating.saalo.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Creating Saalo! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>I started with Andrej Karpathy&#8217;s recent post about giving an agent a kind of wiki. The idea, as I understood it, is that you give the model two folders to read alongside whatever you&#8217;re working on. One folder holds raw source material, meaning your own words, transcripts, things you&#8217;ve written, and it never changes. The other is a folder the model can edit, where it keeps a running summary of what&#8217;s true about the project right now. You then add a short protocol telling the model to read the summaries at the start of every session and update them at the end. That was the whole idea, just two folders and a rule.</p><p>I spent Saturday setting that up for Saalo. I called the summary folder a &#8220;cortex&#8221; because calling it a wiki made me think of Wikipedia and that didn&#8217;t feel right. I added a one-page file answering the question &#8220;where is Saalo right now&#8221; across the app, the website, the hardware, and the Substack, along with a few pages for each of those areas. I also set up a log that Claude appends to at the end of every session, one line per session, so I can scan what&#8217;s happened without re-reading anything.</p><p>The most useful thing I did all day was ask Claude to go back and read every past Cowork task I&#8217;d ever done on Saalo and write a short note on each one, covering what I was working on, what actually worked, and where things had gotten stuck. There&#8217;s a tool inside Cowork that can pull up past tasks, and in a couple of hours I had a folder of notes covering months of weekend work that I&#8217;d otherwise have forgotten.</p><h2>If you want to try this yourself</h2><p>The setup has two folders: one for raw source material you maintain yourself (your own writing, transcripts, anything you&#8217;ve published), and one where the AI keeps a running summary of where the project is right now. The AI reads the summary at the start of every session and updates it at the end.</p><p>A few things to keep in mind. The raw folder needs to stay untouchable by the AI, or else your own convictions quietly get paraphrased back to you and you stop being able to tell the original from the summary. The AI also cannot be the source of anything in that folder. If it writes a summary of something you said, and then later pulls from that summary as if it were primary, the truth drifts pretty quickly. And resist the urge to design an elaborate structure up front. Start with one summary page and add more pages only when you catch yourself re-explaining the same thing across different sessions.</p><p>If you&#8217;ve got any history of past chats or sessions sitting around, it&#8217;s also worth having the AI go back and write a short note on each one before you move forward. You&#8217;ll be surprised how much of your own work is already in there.</p><p>If you want a shortcut, here&#8217;s a prompt you can paste into Claude or another AI tool to get this set up without building it all by hand. It&#8217;ll interview you first, then do the setup based on your answers.</p><blockquote><p>I want to set up a simple knowledge system for a project I&#8217;m working on with you, so that you can hold context across our sessions instead of starting from zero every time we talk.</p><p>The setup is two folders. The first is for raw source material that only I edit, meaning my own writing, transcripts, and anything I&#8217;ve already published. The second is a living summary that you maintain, describing where the project stands right now. You read the summary at the start of every session and update it at the end.</p><p>Before we build this, please ask me five or six questions, one at a time, so you have the context to set it up well. Things you&#8217;d probably want to know: what the project is, what AI tool I&#8217;m using you in, where the folders should live on my computer, what areas or domains the project spans, and what source material I already have that could seed the raw folder.</p><p>Once I&#8217;ve answered, create the two folders and seed the summary folder with a one-page file answering &#8220;where is this project at right now&#8221; in my own words based on what I&#8217;ve told you. Also create a log.md file inside that folder that we&#8217;ll use as an append-only record of what changes over time.</p><p>Then write me a short instruction I can paste into your project settings so you&#8217;ll follow this routine in every future session: at the start, read the summary folder for context. At the end, update any summary pages whose claims have changed, add a dated line to log.md summarizing what we did, and create new pages for any new concepts or areas that came up during the session. If I tell you about something that affects more than one page, check the related pages and update those too.</p><p>Two rules to hold onto. Never edit the raw folder, it&#8217;s read-only from your side. And if at any point I say something that should live in the raw folder, tell me to paste it in myself instead of transcribing it yourself.</p></blockquote><p>Honestly, this post is sort of a test of the whole thing. I asked Claude for a Substack draft using one line (&#8221;write me a post about the cortex we built Saturday&#8221;) and let everything else come from the folder we set up. How well it worked probably depends on how much I had to rewrite.</p><p>If you give something like this a try, let me know how it goes. If you&#8217;ve already figured out an approach that works better for keeping Claude or another AI agent on the same page across sessions, or just have tips of your own, I&#8217;d love to hear them. And if this kind of post is useful to you, subscribing would mean a lot. I&#8217;ll keep sharing what I&#8217;m picking up as I build Saalo.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://creating.saalo.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Creating Saalo! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Creating Saalo]]></title><description><![CDATA[I&#8217;m Tommy, and I am Creating Saalo.]]></description><link>https://creating.saalo.co/p/creating-saalo</link><guid isPermaLink="false">https://creating.saalo.co/p/creating-saalo</guid><dc:creator><![CDATA[Tommy]]></dc:creator><pubDate>Sat, 18 Apr 2026 14:52:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NBuE!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa6d23f3e-cec9-4497-a1a3-8e8c0060526b_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m Tommy, and I am Creating Saalo.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://creating.saalo.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Creating Saalo! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Saalo is an app that tracks the time you spend away from your phone. I&#8217;m also building a Saalo box that automatically logs that time.</p><p></p><p>The idea is simple. Unlike screentime, which tracks the amount of time you&#8217;re looking at your phone, Saalo tracks the time you create the intention to put your phone away, and actually do it.</p><p></p><p>Like many people, I&#8217;ve struggled with this, and I&#8217;m looking for a solution. So now I&#8217;m creating one.</p><p></p><p>I&#8217;m not a developer and I&#8217;ve never built hardware. So I&#8217;m learning as I go, using Claude as a helper. Whether it&#8217;s building an iOS app, designing a printed circuit board, or filing for patents, I&#8217;m stumbling my way through it and want to share some of the practical lessons I&#8217;m learning.</p><p></p><p>The publication is called Creating Saalo for two reasons. I want to learn how to create the time and space away from my phone. And I want to learn how to create a product to help with that. Both are acts that don&#8217;t happen on their own. Both reward patience and presence.</p><p></p><p>So there are two sections to this: Life and Work.</p><p></p><p>Life is reflections on intention, attention, technology, presence. It&#8217;s the territory Saalo is made for. Some posts expand the answers on /questions at saalo.co. Some arise from my own experience. I want to explore how to be more present in a world constantly filled with more distractions, so I can focus on what matters most.</p><p></p><p>Work is a notebook of what and how I&#8217;m building. Mainly lessons learned around how to prioritize, how to learn, what Claude is good at, and what it isn&#8217;t. There are too many blogs out there on how to set up AI. I haven&#8217;t found many on how to put it into practice. This is about practical ways I&#8217;m using it, and what&#8217;s working. If you&#8217;ve wondered what someone without an engineering background, and without much spare time, can actually build with modern AI tools, this is my attempt at an honest answer, week by week.</p><p></p><p>If you want only Work or only Life, you can pick which. If you want both, welcome aboard.</p><p></p><p>Thanks for being here.</p><p></p><p>Tommy</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://creating.saalo.co/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Creating Saalo! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>