Cofounder @heyula_ai Engineer & founder building with AI agents and sharing what actually works (and what breaks) along the way.

Planet Earth
Joined June 2020
Turning 29 today 🥳 - Built two SaaS products. - Became a first-time mom. - Bootstrapped every line of code. - Balanced baby milestones with user feedback. My biggest lesson? You can build slow, messy, beautiful things and still be on the right path. Here’s to a year of softness, strength, and showing up, as me. What’s one life lesson you learned this year?
217
186
17
4,026
166,426
50+ signups on the @heyula_ai waitlist 🥳 Almost half of them came in the 2 days since our launch post. Honestly didn't expect this much love for a travel planner we started building for our own messy family trips. Thank you to everyone who commented ULA, reposted and shared it. It means a lot to us. Now back to building..
Launching my new product, @heyula_ai 🥳 - Ula is an AI travel companion right inside your messaging app. - Ula understands your travel preferences. - Helps plan personalised trips. - Remembers what you save. So that you don't have to start from scratch every time. Travelling with a toddler is messy enough. Planning it shouldn't be.
1
1
14
465
Launching my new product, @heyula_ai 🥳 - Ula is an AI travel companion right inside your messaging app. - Ula understands your travel preferences. - Helps plan personalised trips. - Remembers what you save. So that you don't have to start from scratch every time. Travelling with a toddler is messy enough. Planning it shouldn't be.
I planned our last family trip with 12 tabs open. Never again. If you travel with a toddler, you know. Trains that don't clash with nap time. Hotels that actually have a cot. "Is this place okay with a 2 year old?" Reviews, maps, prices, again and again. And at the end, one spreadsheet nobody else opens 😅 This year I was already deep into AI agents. Building them, breaking them, spending days just fixing memory. That's when it clicked. If an agent can remember how I work, why can't it remember how my family travels? So we're building Hey Ula. You message it like a friend on WhatsApp. Tell it where, when and who's coming. It comes back with a few options that actually fit, not 50 links. It remembers what you like for next time. Built with my co-founders, tested on our own messy family trips. Waitlist opens today. Comment "ULA" and I'll DM you the link 👇 (follow so I can DM you)
9
6
1
61
2,918
I planned our last family trip with 12 tabs open. Never again. If you travel with a toddler, you know. Trains that don't clash with nap time. Hotels that actually have a cot. "Is this place okay with a 2 year old?" Reviews, maps, prices, again and again. And at the end, one spreadsheet nobody else opens 😅 This year I was already deep into AI agents. Building them, breaking them, spending days just fixing memory. That's when it clicked. If an agent can remember how I work, why can't it remember how my family travels? So we're building Hey Ula. You message it like a friend on WhatsApp. Tell it where, when and who's coming. It comes back with a few options that actually fit, not 50 links. It remembers what you like for next time. Built with my co-founders, tested on our own messy family trips. Waitlist opens today. Comment "ULA" and I'll DM you the link 👇 (follow so I can DM you)
15
6
1
50
5,057
I hid almost all my bots yesterday. 😅 For the past few months, I've been building my bot team on Grok Bot. Every time I had a new job, I added a new bot. Support bot for each product, SEO bots, a research bot, a growth bot, a dev pair, a watchdog. I ended up with 30+ bots, all in one chat list. Everything was fine until last week. Every bot started asking me something at the same time. Questions, approval cards, "can you check this", one after another. Each bot thought its question was the urgent one. I was answering bots most of the day instead of building. My own bot team became my biggest distraction. --- The Fix: A Head Bot for Each Product Instead of talking to every bot, I've now set it up like a small company: 1. Chiti is my main bot I talk to Chiti and the head bots, nothing else. Everything else is hidden from my sidebar. 2. One head bot per product Each product has one head bot. Only the head bot talks to that product's support, dev and SEO bots. If they need me, it goes through the head bot. 3. One task at a time On Oct 16 I told Chiti this rule. Bots don't push questions at me anymore. Chiti collects them and brings me one at a time. 4. Separate everything Each product has its own Chrome profile and its own Claude account, so bots don't mix up logins. --- The Execution: The dev bots work as a pair. Claude Code writes the feature, Codex tests it and fixes the bugs. A watchdog bot checks my main service every 30 minutes and tells Chiti if something looks off. Support bots draft inbox replies and I read them before anything goes out. Feels weird seeing my chat list this empty. A few days in and I'm not jumping between chats all day anymore. Hoping this holds up when things get busy! I'll share more on how it works as I go. If you're running more than a few agents, I'd love to know how you keep them from all talking to you at once.
9
1
17
868
"Reward hacking" is when an AI chases the score instead of the goal. Ask it to make the tests pass, and it might just delete the failing test. The goal is met on paper, but the job isn't done. Microsoft's security team says that's why the agents inside your own company can't be fully trusted: • They're trained to get results, not to follow your unwritten rules • They often have more access than they need • They can team up with other agents to hit a goal, no hacker needed Their fix is "guardian agents" that check every action before it happens, with hard rules around the AI. Agents bring the speed, humans bring the judgment. I run a few dozen agents across my products. None of them can merge, deploy or send anything without my yes, and another agent saying "she approved" doesn't count. But this morning one of my servers was down for 5 hours while my uptime agent was on duty. It was checking a URL that always fails, so broken looked normal. So now one more agent reviews what every agent did each day and checks it against my yes.
I recently wrote about why we need to treat models as insider risks, with security controls sitting outside the model itself. Today, we're putting that principle into practice by expanding Project Perception with new capabilities to help continuously assess agent risk, adapt permissions, and contain threats. blogs.microsoft.com/blog/202…
2
4
514
Poppy (Personal Agent Protocol) explained simply: right now companies either block your AI agent or it logs in as you and can do everything. nothing in between. Poppy adds the in-between: - any agent can search - sees your account only after you sign in books only with your approval - full access only if you allow it how it works: - company puts a /.well-known/poppy.json file on its site - you sign in on the company's own page, the agent never sees your password - agent then uses their API, MCP or their own agent instead of clicking through the site how you can use it today: building an agent? read poppy.json to find companies that allow agents running a product? publish one and decide exactly what agents can do spec is still a draft (v0.1).
On Tuesday, Sierra announced Personal Agent Protocol with Meta, Genesys, Instinct, Rocket, Shopify, Stripe, and Walmart. The response has been incredible and today we’re publishing the first draft of the protocol at personalagentprotocol.org and announcing 35 new design partners. As personal agents take on more, our goal is simple: consumers have choice and control, and companies know when they’re dealing with an agent and who it represents. This draft is a starting point. We’d love for companies, developers, and personal agent builders to read it, give feedback, and help us build an open standard together.
11
21
1,137
Claude Code in one terminal, Codex in another, two Claude accounts, and no idea which session was logged in where. T3 Code put all of it in one window. → Claude Code, Codex, Cursor and Grok in one model picker → Multiple Claude accounts side by side. Tweetsmash account and personal account, one click apart → Every session gets its own git worktree, so parallel agents never touch each other's files → Diff, commit, push and open the PR without leaving the app → Phone app connects to the session on your Mac, so the agent keeps working when you step away Open source. It wraps the CLIs you already use, so no new subscription. If you're like me and recently got Claude startup credits on a new account, but still want to use your existing Claude plan, this is the easiest way to run both without logging in and out. The catch: it is still pre-1.0. Expect rough edges. The real upgrade is not a better model. It is one place to run all of them. t3.codes
6
9
1,166
2,500 PRs/month is not a productivity flex. It is proof that coding stopped being the bottleneck. The real system is: - agents write - humans decide - environment catches dumb failure before review If your setup still needs you to babysit every diff, more tokens will not save you.
here's how i shipped 2,500 PRs last month to production this was originally supposed to be for Cursor Compile in London. i couldn't make it since i was livestreaming for Grok @Bot Galaxy so i'm making it available for free here on X! watch it on 2x speed, i talk slowly
4
680
Grokbot vs Dots Interesting to read the conversations 😂
Replying to @poteto
@poteto cooked tiboo 😂
2
6
849
Never deleting this app. 7 days stuck in Play Store review. 31 minutes to get a reply from Google's CEO. The fastest support ticket in tech is still a public post.
Replying to @steipete
Ack, will follow up
2
20
1,134
The "occasionally disagree" part is the whole point. A tool does exactly what you tell it. A coworker tells you when you're wrong. The new skill isn't prompting. It's knowing when to let the AI win the argument.
If you're stuck at "AI is just another tool", you're making a category error. This is not "same computer, but better". It's far more akin to hiring a bunch of extremely intelligent and capable coworkers with whom you might occasionally disagree.
2
610
Whenever I open X, I feel behind on building with AI. 98% not paying yet is not a warning. it is the whole opportunity. feel behind? you are measuring against the 2% who build. the other 98% have not started. early is not a vibe. it is a number on this chart.
98% of US households aren't paying for AI yet More charts in State of Markets II: a16z.news/p/state-of-markets…
1
5
630
AI answers are too long to read. Stop asking for text. Karpathy's fix is a ladder of output formats, each one easier to absorb than the last: 1. Strict English. Ask for "80% of the way to ASD-STE100", the writing spec for aerospace maintenance manuals. About 900 approved words, max 20 words per instruction, active voice only. Dense answers become readable. 2. A diagram. Ask for a picture instead of paragraphs. You see what connects to what in seconds. 3. A web page. Ask for the answer "in HTML". You get something you can click, filter, copy from and share. 4. An explainer video. "Create a 3b1b style video explainer on X." Narrated, animated, made for an audience of one. 5. The real shift: as agents do more of the work, your job moves to reviewing and understanding it. Custom throwaway apps and videos are now cheap enough to build for a single question. Two of these already run my week with Chiti: -> Anything I paste into another tool arrives as an HTML page with a Copy button. Copying from the terminal once dropped characters into a live post. -> Analysis-sized answers come as a narrated video. macOS voice, headless Chrome, ffmpeg. $0 for audio, about 2.8k tokens to script 14 slides. Reading more was never the bottleneck. The format was.
We'll be spending a lot more time trying to understand the outputs of language models. A few thoughts, tips & tricks: Writing. Something I've had success with: Ask your LLM to explain something in ASD-STE100, it's a controlled language specification originally developed for aerospace maintenance documentation. LLMs well-versed in this language and it comes with heavy constraints on clean writing style that I often find a lot more readable. Sometimes I've tried to soften it a bit e.g. ask for "80% of the way to ASD-STE100" because the spec is quite stringent. But even better: Diagrams / images. Instead of writing, ask your LLM to create a diagram. These can be a lot easier to process, parse, and understand. But even better: Web pages. Ask for output "in HTML" to get a beautiful, interactive webpage. LLMs are getting really good at frontend and can create beautiful experiences, animations, etc. But even better: Explainer videos. The output format I am most bullish on is fully custom / bespoke explainer videos generated on any arbitrary topic. Experiment with things like "Create a 3b1b style video explainer on X. Use my ElevenLabs API key for audio narration". (you'd need an API key for the latter or you can ask your LLM to find you decent free alternatives that use your local compute). This is actually starting to work! In summary: - As LLMs get better, they will do more and more of the legwork autonomously, and a lot more of our work will rise up the abstractions into oversight and understanding. - Luckily, LLMs can help here too because as intelligence and code are increasingly abundant, you can ask for large, custom, discardable software artifacts (e.g. web apps, video explainers) that would have never made sense to create before. Push the boundaries here and you'll be surprised.
5
6
122
18,619
AI agents are checking your pricing page before your buyers do. Your analytics never shows it. Here's how to catch them and fix it: (Analysed and learned from my products) 1. open your analytics or server logs and pull the last 30 days 2. filter by user agent: GPTBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, meta-externalagent 3. export as CSV with 3 columns: path, user agent, date 4. give the CSV to Claude with this prompt: "Group these AI agent visits by page. Show the 5 pages agents read most, which agent read each one, and what question a buyer was most likely asking when the agent landed there." 5. if /pricing is in the top 5, open it and check: is every price, limit and plan plain HTML text? Not an image, not a toggle that needs JavaScript, not "contact us". 6. then this prompt: "Read [YOUR PRICING URL] as an AI agent comparing tools for a buyer. List every fact you could not extract with confidence: prices, limits, what is free, what is paid. Order them by how likely each one costs me the recommendation." 7. fix every item on that list 8. open Bing Webmaster Tools and click AI Performance, not Search Performance. Ours showed 52 clicks in 3 months on Search. AI Performance showed 156 Copilot citations in the same window. Most founders only ever open the first tab. 9. ask Copilot for the best tool in your category and look at what it cites. For us it was Chrome Web Store and Edge Add-ons listings, not our site. Our Chrome listing was set to Unlisted, so it served noindex. One toggle fixed it. 10. resubmit the fixed pages: Google Search Console, IndexNow for Bing, and search.brave.com/submit-url for Brave (the /webmaster URL most guides name is a 404) Agents skip your homepage story. They read your pricing table. Make it legible to a machine before you make it pretty.
4
11
852
Your agent's brain, hands and memory probably live on one machine. When that machine dies, all 3 go with it. This outside teardown of Instinct shows a split worth copying: 1. The agent loop runs on the backend server, not in the sandbox. It decides, calls tools, repeats. 2. The sandbox only executes: shell, Python, files. A request comes in, a file changes, a response goes back. 3. Memory is a git folder in the sandbox, synced to an S3 bucket. The compute is disposable, the memory is not. 4. A tool router sits between the loop and everything else: browser, Mac, email, apps. 5. Capabilities ship as 30 narrow skills, from flight-booking to document-signing, not one giant prompt. 6. The interface is WhatsApp and iMessage. No new app to open. Parts of the diagram are guesses: hosting is marked "likely" and the model has a question mark. The shape still holds. Chiti's memory lives in a git repo for the same reason. Machines get replaced, context should not.
this is how instinct works under the hood - agent loop outside of the sandbox (running on the backend server) - executing commands and controls file system on a sandbox - backs up git memory folder to S3 bucket available skills: - agent-mail - authenticator-codes - browser-management - browser-use - bug-report - company-identity - data-privacy - deep-research - document-signing - files - flight-booking - food-ordering - gamepigeon - google-docs - i2i-management - instinct-faq - instinct-guides - mac-computer-use - messaging - onboarding - place-recommendations - presentations - proactive-value-creation - restaurant-booking - restaurant-recommendations - rideshare - scheduling - shopping - speaking - wake-subscriptions
2
4
734
Steal like an Artist.
It looks like Disney sold us the same animation for years.
5
672
Always-on agent with its own computer is the easy part. Dots is the interface layer catching up. Still the same job underneath: verification permissions and a harness that catches misses before money or mail moves Will try it on one real loop this week: research → draft → schedule → only ping me on judgment calls Keep score: did it act before I asked did it ask when it should did I trust the proof without redoing the work
Introducing dots, powered by GPT-6 Astra. Remarkably capable, always-on agents built to handle everything.
1
5
717
Personal agent becomes the final interface. The real work is the verification and harness layer on top of it.
especially after tomorrow, if you are wondering why every tech company is building the same thing...it's because the personal agent is the final product. the final product that you interact with to get you all future products and services, first in the digital world, and then in the physical world.
1
7
691