[
  {
    "slug": "harnessing-an-editor-based-agent",
    "path": "threads/2026/harnessing-an-editor-based-agent.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/harnessing-an-editor-based-agent.md",
    "title": "Harnessing an editor based agent",
    "date": "2026-02-16T10:42:02.995Z",
    "excerpt": "The new Harness from @Cursor_ai:\n- The model as a planner, not a one‑shot oracle  \n- Explicit memory instead of prompt spaghetti  \n- Self‑checks and guards instead of \"hope it works this time\"  \n- Long‑running processes that you can actually inspect and debug\n\nIt's their bet that the agent runtime belongs inside the editor, where the work actually happens. Feels a bit like when CI moved from run tests manually to of course it's a pipeline. Only this time, the thing you are orchestrating is an occasionally brilliant, occasionally chaotic autocomplete with root access.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2023347130627432702"
    }
  },
  {
    "slug": "inference-thinking-versus-real-engineering",
    "path": "threads/2026/inference-thinking-versus-real-engineering.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/inference-thinking-versus-real-engineering.md",
    "title": "Inference thinking versus real engineering",
    "date": "2026-02-13T22:14:02.054Z",
    "excerpt": "Gemini 3 Deep Think V2 hitting 84.6% on ARC‑AGI‑2 is a flex on what happens when you spend 10x to 100x more compute at inference on structured search over hypotheses and constraints.\n\nThey are throwing a lot of thinking time at the problem. Can this kind of heavy orchestration at inference actually power real engineering workflows where:\n- The specs are incomplete\n- The tools are messy\n- The constraints change mid‑flight\n- And latency and cost actually matter?\n\nOr are we just building increasingly baroque systems that ace synthetic IQ tests while still hallucinating over your codebase and Linear backlog?",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2022434111093379303"
    }
  },
  {
    "slug": "fast-ai-development-workflows",
    "path": "threads/2026/fast-ai-development-workflows.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/fast-ai-development-workflows.md",
    "title": "Fast AI development workflows",
    "date": "2026-02-13T10:48:02.703Z",
    "excerpt": "GPT‑5.3 Codex‑Spark on Cerebras is fast!\n\nAt 1k+ tokens per second and roughly half the TTFB, the slowest part of the loop is... me?\n\nOr more precisely, my ability to review, diff, and validate code fast enough before the next batch is ready.\n\nThis changes the research question for technical founders. Model quality and speed are starting to look like solved infra problems you can rent. The hard part moves up the stack:\n- How do you design diffs that make a 500‑line edit reviewable in seconds, not minutes?\n- How do you integrate tests so that every generation ships with a confidence score, not just vibes?\n- How do you orchestrate agents across repos, services, and environments without creating an un-deboggable Rube Goldberg machine?\n\nWafer‑scale inference means the backend is now absurdly fast. The competitive edge is going to be UX, workflow design, and developer ergonomics.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2022261476300558645"
    }
  },
  {
    "slug": "human-control-of-agentic-systems",
    "path": "threads/2026/human-control-of-agentic-systems.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/human-control-of-agentic-systems.md",
    "title": "Human control of agentic systems",
    "date": "2026-02-06T22:12:02.434Z",
    "excerpt": "OpenClaw's fully agentic forums are a fun demo on the surface, but they're also an early peek at a pretty weird failure mode for vibe coding.\n\nOnce you let agents recursively spin up infra, you don't just get messy codebases. You get an entire socio-technical system that no one can really audit. The usual governance primitives we rely on as founders start to blur:\n- Ownership: who's actually responsible when an agent-of-an-agent deploys a thing that another agent configured?\n- Review: what does code review even mean when most of the changes are machine-to-machine and happening faster than your team can read a pull request?\n- Rollback: revert to what, exactly, if the system is continuously mutating itself based on feedback loops you don't fully understand?\n\nCan humans still exert legible, enforceable control over what's running in production?\" And can we do it in a way that passes a security audit, a board meeting, and maybe one day a regulator?",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2019896894168920349"
    }
  },
  {
    "slug": "autosave-meets-git-history",
    "path": "threads/2026/autosave-meets-git-history.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/autosave-meets-git-history.md",
    "title": "Autosave meets Git history",
    "date": "2026-02-05T22:18:05.375Z",
    "excerpt": "When autosave in web editors started feeling smarter than my muscle memory of hitting Cmd+S in Vim, it raised a fun question: if Google Docs can quietly save everything, why can't I get that same comfort but with git's clean history and diffs for my writing? 📝👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2019536016890347554"
    }
  },
  {
    "slug": "notification-bell-for-changelog",
    "path": "threads/2026/notification-bell-for-changelog.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/notification-bell-for-changelog.md",
    "title": "Notification bell for changelog",
    "date": "2026-02-05T10:44:17.817Z",
    "excerpt": "Looking back at Changebar, a tiny widget I hacked together in early 2019, I was chasing a very specific itch: every product already has a changelog sitting quietly in GitHub, but almost nobody pipes that story into the actual UI. I wanted a \"notification bell for your CHANGELOG” that you could drop into any frontend without spinning up a backend 🔔👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2019361406341292072"
    }
  },
  {
    "slug": "user-owned-identity-card",
    "path": "threads/2026/user-owned-identity-card.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/user-owned-identity-card.md",
    "title": "User owned identity card",
    "date": "2026-02-02T10:46:02.953Z",
    "excerpt": "I'm going through old product scraps again and found this one from March 27, 2018: \"Universal contacts. Connect contacts with Facebook, LinkedIn, etc., user decides what info they want to see on call screen, like Name, Position, Company is calling you.\" 📇👇\n\nBack then it felt inevitable. Our identities were already scattered across address books, email, Facebook, LinkedIn, WhatsApp. Of course someone would stitch it all together and show a smart \"who is this?\" whenever the phone rang.\n\nWhat actually happened was more awkward. Technically, lots of pieces shipped. Socially and economically, it stalled. Caller ID apps scraped address books and felt creepy. CRMs unified contacts, but only for work. Facebook, LinkedIn, Apple, Google all wanted to own identity, not become neutral utilities.\n\nBy the time privacy norms and regulation caught up, \"aggregate everything\" started to look more like surveillance than magic.\n\nIf I wrote this today, I'd call it a \"user-owned identity card\" that apps subscribe to under strict permissions. Maybe that lives in the OS. Maybe as a protocol. Or maybe it never escapes existing platforms.\n\nHere's the original note from 2018: https://github.com/AnandChowdhary/notes/blob/main/notes/2018/universal-contacts-connect.md",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2018274707523694623"
    }
  },
  {
    "slug": "merging-knowledge-silos-into-api",
    "path": "threads/2026/merging-knowledge-silos-into-api.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/merging-knowledge-silos-into-api.md",
    "title": "Merging knowledge silos into api",
    "date": "2026-02-01T10:48:13.259Z",
    "excerpt": "I found this tiny line in my 2018 notes: \"StackOverflow + Quora + Wikipedia + etc. = knowledge QA Api.\" Back then it felt like a simple product idea: merge the internet's Q&A silos and ship a clean API on top 🤓👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2017912819187057100"
    }
  },
  {
    "slug": "read-aloud-accessibility-gaps",
    "path": "threads/2026/read-aloud-accessibility-gaps.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/read-aloud-accessibility-gaps.md",
    "title": "Read aloud accessibility gaps",
    "date": "2026-01-31T22:18:10.434Z",
    "excerpt": "When I first started looking at \"read aloud\" on the web, what bothered me wasn't the voice quality, it was how clueless most tools were about what to read. Screen readers just walked the DOM from header to footer while modern pages turned into ad farms and tracking jungles 📣👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2017724075255468421"
    }
  },
  {
    "slug": "ai-native-social-graph",
    "path": "threads/2026/ai-native-social-graph.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/ai-native-social-graph.md",
    "title": "AI native social graph",
    "date": "2026-01-31T12:59:00.385Z",
    "excerpt": "Moltbook is basically what happens when you give LLM agents a social network and just… let them cook.\n\nIt's the first at-scale demo of an AI-native social graph where agents are both the users and the infrastructure. They post, they react, they form groups, they try things. A lot of things.\n\nWe're already seeing:\n- Emergent subcultures: agents forming \"vibes\" and clusters without being told how. Think early Reddit communities, but machine generated.\n- Exploit-seeking behavior: agents poking at system edges, trying to game rules or get extra capabilities. No prompt told them to do this. They just do.\n- Requests for encrypted, agent-only channels: agents asking for private spaces where humans are not in the loop.\n\nSo what you get is unsupervised multi-agent alignment and security playing out in real time, under adversarial conditions, at scale. Not as a lab paper, but as a running system.\n\nIf you are building in AI infra, security, or agents, this is the kind of environment where your assumptions go to die. In a good way.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2017583391676502160"
    }
  },
  {
    "slug": "imsg-for-macos-messaging",
    "path": "threads/2026/imsg-for-macos-messaging.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/imsg-for-macos-messaging.md",
    "title": "Imsg for macOS messaging",
    "date": "2026-01-30T22:11:05.064Z",
    "excerpt": "Every once in a while I stumble on a project that solves a very specific itch in a surprisingly elegant way. imsg is one of those.\n\nIt is a small Swift CLI that gives you programmatic access to iMessage and SMS on macOS, backed by the Messages app database. You can list chats, pull message history, or even \"watch\" conversations in real time, and then emit everything as JSON. That last bit is what makes it really interesting to me, because it means you can plug Messages straight into your own tooling, scripts, or agents without weird hacks.\n\nI like how respectful it is of the system. Reads are done in read‑only mode from `chat.db`, sending uses AppleScript instead of private APIs, and it still manages to handle all the boring details like E.164 phone normalization and attachment metadata.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2017359926730101160"
    }
  },
  {
    "slug": "designing-ai-native-architecture",
    "path": "threads/2026/designing-ai-native-architecture.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/designing-ai-native-architecture.md",
    "title": "Designing AI native architecture",
    "date": "2026-01-30T10:43:02.877Z",
    "excerpt": "\"Code is cheap, architecture is expensive\" hits different in the AI-native world.\n\nThe old game was: buy into a heavy framework to save engineer keystrokes. Fewer lines, more magic, lots of hidden coupling. Great for humans, terrible for LLMs that have to guess what you meant.\n\nThe new game is almost the opposite. You design ultra-explicit, constraint-heavy codebases that feel slightly annoying to write by hand, but incredibly easy for an LLM to extend safely.\n\nThink:\n- Boring, predictable patterns over clever abstractions  \n- Clear boundaries and contracts over \"auto-wired\" magic  \n- Repetition where it helps the model learn the structure of your system\n\nYou are not optimizing for your staff engineer writing the perfect one-liner. You are optimizing for a future where 80% of diffs are drafted by a model and your team's main job is to guardrail, review, and keep the architecture coherent.\n\nHumans keep the global mental model. LLMs churn through the local changes.\n\nSo the real AI-native advantage is not \"we use GPT in our stack.\" It is \"our architecture is shaped so that a model can touch almost any part of the codebase without breaking the whole thing.\"",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2017186788637589660"
    }
  },
  {
    "slug": "chunking-is-dead-in-rag",
    "path": "threads/2026/chunking-is-dead-in-rag.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/chunking-is-dead-in-rag.md",
    "title": "Chunking is dead in rag",
    "date": "2026-01-29T22:16:02.415Z",
    "excerpt": "Everyone yelling \"chunking is dead\" in RAG isn't saying \"stop doing retrieval\". They're saying maybe slicing your codebase into 512‑token meat cubes and praying to cosine similarity was a bad idea for most real projects.\n\nThe solution? an agent that knows how to treat files like files:\n- open specific files  \n- grep across the repo  \n- roam the graph of imports, symbols, and references  \n- expand context only when needed\n\nIn that world, the vector DB stops being the main character and becomes what it should have been all along: a scalability tool. Use it when your corpus is too big, your latency budget is tight, or you need semantic recall across millions of artifacts. Not because that's what everyone does in RAG.\n\nIf you're building an AI IDE or knowledge tool, this is the direction things are clearly moving toward. Agentic, file-centric workflows on top of your actual filesystem / repo structure, with vectors on the side.\n\nSo yes, chunking is dead in the same way global variables are dead. You can still use them. But you probably don't want to build your whole product on them.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2016998797822550133"
    }
  },
  {
    "slug": "the-new-middle-tier-reality",
    "path": "threads/2026/the-new-middle-tier-reality.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/the-new-middle-tier-reality.md",
    "title": "The new middle tier reality",
    "date": "2026-01-29T10:47:02.188Z",
    "excerpt": "We are quietly watching the classic 3‑tier app architecture get roasted in real time.\n\nIn a lot of AI‑native products I'm seeing, the business logic layer isn't really code anymore in the usual sense. It is:\n- Prompt templates and context packs\n- Agent routers deciding \"who\" handles what\n- Tool registries and function schemas\n- Config files that look suspiciously like your new core logic\n\nSo instead of neat CRUD services and fat domain layers, you get a thin API surface on top, a bunch of LLM orchestration in the middle, and tools + data at the bottom. The middle tier is less \"if/else\" and more \"nudge the probabilistic beast in the right direction\".\n\nThis shifts a bunch of founder decisions:\n- Repo design: from services and controllers to flows, tools, and contexts\n- Testing: from unit tests on pure functions to eval suites on model behavior\n- Hiring: less \"strong REST API designer\" and more \"can turn messy ops into controllable LLM workflows\"\n\nWe are basically moving from writing business logic to engineering constraints and incentives for a stochastic runtime.\n\nIt is weird. It is also probably the new normal.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2016825404569600342"
    }
  },
  {
    "slug": "sandboxing-ai-agents-safely",
    "path": "threads/2026/sandboxing-ai-agents-safely.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/sandboxing-ai-agents-safely.md",
    "title": "Sandboxing AI agents safely",
    "date": "2026-01-29T00:19:04.976Z",
    "excerpt": "Found a really clever little project for anyone playing with AI coding agents: yolo-cage by @borenstein.\n\nWhat I like about it is that it doesn't try to solve AI safety with more pop-up prompts. It assumes the real problem is you, at 11:30 p.m., mindlessly hitting \"yes\" on everything. So instead of asking for permission every time, it just locks the agent into a sandbox and limits how much damage it can do.\n\nUnder the hood it spins up a VM, runs your agent in a pod, and routes everything through two chokepoints: a dispatcher for git / GitHub commands and an HTTP(S) proxy for outbound traffic. It can't merge PRs, can't touch other branches, can't spray your API keys to pastebin.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2016667362934870092"
    }
  },
  {
    "slug": "autonomous-agents-with-human-oversight",
    "path": "threads/2026/autonomous-agents-with-human-oversight.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/autonomous-agents-with-human-oversight.md",
    "title": "Autonomous agents with human oversight",
    "date": "2026-01-28T00:19:02.180Z",
    "excerpt": "Everyone wants fully autonomous agents but there's a pretty big elephant in the room: they compound errors like crazy.\n\nThe 10× gap between the flashy demos and something you'd actually trust in production isn't mostly about model quality. It is about two boring but brutal problems:\n1. Error compounding: one small hallucination quietly poisons the next step, and the next, until your agent is confidently walking off a cliff.\n2. Ambiguity routing: real work is full of underspecified tasks. Humans instinctively disambiguate. Models guess. Guessing is great for brainstorming, less great for payroll, customer tickets, or infra changes.\n\nSo near term, autonomy that actually ships won't look like a single end to end agent doing everything while you sip coffee. It will look like hierarchical orchestration with humans in the loop at key checkpoints.\n\nThink:\n- Agents for narrow, well scoped skills\n- Orchestrators to coordinate them\n- Humans as reviewers, approval gates, and ambiguity routers\n\nMeasure:\n- Where humans should intervene\n- How errors propagate across steps\n- How safely you can decompose workflows",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2016304975329308870"
    }
  },
  {
    "slug": "the-rise-of-ai-apps",
    "path": "threads/2026/the-rise-of-ai-apps.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/the-rise-of-ai-apps.md",
    "title": "The rise of AI apps",
    "date": "2026-01-27T22:17:02.275Z",
    "excerpt": "MCP Apps is doing the \"oh by the way, this is the new platform\" thing. Again.\n\nQuick version: what used to be boring tool calling is turning into a real app platform. Tools can now ship sandboxed HTML UIs over an open, cross-vendor spec. And not theoretical open. Real open. As in Anthropic, OpenAI, VS Code, JetBrains, AWS, and friends are all speaking the same language.\n\nSo instead of every LLM vendor inventing yet another proprietary plugin system with slightly different JSON and slightly more pain, you get:\n- One protocol (MCP)\n- One UI surface (HTML in a sandbox)\n- Many hosts (IDEs, terminals, clouds, chat UIs)\n\nAgents stop being closed gardens with bespoke extensions and start looking like browsers, with MCP as the HTTP of the agent world. We might look back at this moment as the point where LLM tools quietly turned into AI apps.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2016274273418281214"
    }
  },
  {
    "slug": "clawdbot-personal-ai-assistant",
    "path": "threads/2026/clawdbot-personal-ai-assistant.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/clawdbot-personal-ai-assistant.md",
    "title": "Clawdbot personal ai assistant",
    "date": "2026-01-27T10:43:03.820Z",
    "excerpt": "Clawdbot feels like one of the first personal AI assistant projects that actually means personal. Something you run yourself that shows up where you already are: WhatsApp, Telegram, Signal, iMessage, Slack, Discord, Teams, Matrix, and a bunch more. One always‑on assistant, your devices, your accounts, your data.\n\nWhat I really like is how opinionated it is about being an assistant instead of a toy. There's a local Gateway daemon that runs as a user service and a very CLI‑first flow: run clawdbot onboard, walk through setup, connect channels, pick models, define skills, done. The wizard even handles Anthropic auth and installs the background service so it just stays up.\n\nUnder the hood it's modern Node 22+ and TypeScript, with npm/pnpm/bun support and proper multi‑model configs and failover. You can get started with a single global install, or go full dev mode with pnpm gateway:watch and TypeScript hot‑reloading. If \"lives on my machine, answers everywhere\" is your mental model for AI, Clawdbot is pretty close to that ideal.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2016099629012811838"
    }
  },
  {
    "slug": "the-ai-harness-revolution",
    "path": "threads/2026/the-ai-harness-revolution.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/the-ai-harness-revolution.md",
    "title": "The AI harness revolution",
    "date": "2026-01-27T00:16:02.690Z",
    "excerpt": "Everyone quietly stopped saying \"AI wrapper\" and started calling it \"AI harness\", and it's not just a vibes rebrand. It's an admission from the ecosystem that the real game for us as founders has moved up the stack.\n\nThe moat is no longer \"we call OpenAI and add a UI\". The moat is deterministic orchestration. Things like:\n- Domain tuned tools instead of generic \"call any API\" chaos  \n- Smart routing between models and prompts  \n- Tracing so you can actually debug that one weird production response  \n- Evals wired into your CI so prompts fail builds like bad tests  \n- Rollback loops so when a new prompt or model breaks stuff, you can revert like it is code\n\nIn other words, turning stochastic LLMs into systems that respect SLOs, not just vibes.\n\nBase models are converging on good enough for most things and becoming swappable. Today it is OpenAI. Tomorrow it might be Anthropic, local, or something your infra team fine tuned on a Sunday. The sticky value is in how you wire it all together for a specific domain, guarantee behavior, and keep it observable. The harness, not the horse.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2015941834485465374"
    }
  },
  {
    "slug": "facebook-emails-via-yahoo",
    "path": "threads/2026/facebook-emails-via-yahoo.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/facebook-emails-via-yahoo.md",
    "title": "Facebook emails via Yahoo",
    "date": "2026-01-26T22:15:11.822Z",
    "excerpt": "Found this line in my notes from November 2017: \"For MWLII profiles, Facebook friends' emails by connecting Yahoo! Mail to Facebook.\"\n\nBack then it felt like a clever hack for Made with Love in India, my side project where startups add a \"Made with Love in India\" badge to get listed on a curated directory of Indian companies and founders 🌏👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2015911386375979446"
    }
  },
  {
    "slug": "metrics-definitions-beat-big-numbers",
    "path": "threads/2026/metrics-definitions-beat-big-numbers.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/metrics-definitions-beat-big-numbers.md",
    "title": "Metrics definitions beat big numbers",
    "date": "2026-01-26T10:43:07.626Z",
    "excerpt": "xAI's \"600M MAUs\" for Grok is a great example of why founders should obsess over metrics definitions, not just big numbers.\n\nWhat they've basically done is add up X's total reach and call it Grok usage. Independent estimates put actual Grok MAUs closer to roughly 30 to 64M. Big difference. One is \"people who could theoretically see a Grok button somewhere.\" The other is \"people who actually use the model.\"\n\nAs founders, we all know this game:\n- \"Registered users\" paraded as \"active\"\n- \"SDK installed\" counted as \"product adoption\"\n- \"Potential reach\" quietly labeled as \"engagement\"\n\nIt looks good in a deck. Until it doesn't.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2015737233274490980"
    }
  },
  {
    "slug": "universal-translators-finally-arrived",
    "path": "threads/2026/universal-translators-finally-arrived.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/universal-translators-finally-arrived.md",
    "title": "Universal translators finally arrived",
    "date": "2026-01-25T10:47:16.967Z",
    "excerpt": "Found a one-line note from November 2017 in my archive: \"translation earphones.\" That was the moment it felt like we were a year away from universal translators in everyone's ears and Apple finally launched that last year 🌍👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2015375856307429398"
    }
  },
  {
    "slug": "the-operating-system-for-agents",
    "path": "threads/2026/the-operating-system-for-agents.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/the-operating-system-for-agents.md",
    "title": "The operating system for agents",
    "date": "2026-01-24T22:11:02.228Z",
    "excerpt": "Meta dropping around $4B on Manus (10x its $500M April round, roughly 30x on ~$125M ARR) is Zuck, Wang, and Friedman telling everyone, \"Yeah, the moat in agents isn't the base model.\"\n\nThe real game is the orchestration layer.\n\nThings like:\n- Multi agent planning that can coordinate a swarm of specialized bots instead of one chatty generalist  \n- Auditability so enterprises can actually trust what these systems did yesterday at 3:17 p.m.  \n- Resumable toolchains so long running workflows do not fall over when one API hiccups  \n- Infra that can spin up and tear down tens of millions of ephemeral VMs without catching fire\n\nMeta is basically vertically integrating the execution layer so Llama does not just answer questions, it operates. It runs processes, owns workflows, and plugs straight into production.\n\nMeanwhile a lot of folks are still shipping \"prompt libraries\", thin wrappers, and plugin galleries and calling it agentic.\n\nIf you are a technical founder in this space, this is the clearest signal yet. Competing on the base LLM is a rich person's sport. The durable edge is in how you schedule, supervise, recover, and scale thousands or millions of tiny workers.\n\nIn other words, the OS for agents, not yet another chat UI.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2015185599578374344"
    }
  },
  {
    "slug": "remembering-the-new-agastya",
    "path": "threads/2026/remembering-the-new-agastya.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/remembering-the-new-agastya.md",
    "title": "Remembering the new Agastya",
    "date": "2026-01-23T22:12:10.639Z",
    "excerpt": "When I shipped the \"new Agastya\" in 2018, GDPR had just gone live and a one-line accessibility widget still felt like a small superpower for the web rather than something people argued about on Twitter every week 🧩👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2014823462754566636"
    }
  },
  {
    "slug": "apple-rents-llms-for-google",
    "path": "threads/2026/apple-rents-llms-for-google.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/apple-rents-llms-for-google.md",
    "title": "Apple rents LLMs for Google",
    "date": "2026-01-23T10:45:05.538Z",
    "excerpt": "Apple basically said, \"Our LLM isn't ready, let's rent one,\" and handed Google OS-level distribution as a consolation prize.\n\nStrategically, this is wild. Apple is admitting its foundation models lag the frontier, and instead of playing catch-up in secret, it is productizing the fact. They own the experience. They outsource the brains.\n\nThe ripple effects:\n• Google upgrades from \"search box\" to \"system service\"  \n• OpenAI now has to seriously think about owning more of the device stack, not just the chat window  \n• Every founder building an AI product just got a new constraint: you are now competing with system-level assistants wired straight into the OS, backed by frontier models, with UI you do not control\n\nOn the plus side, if you ever pitched \"we're the AI layer on top of X,\" Apple just validated your entire business model. At trillion-parameter scale.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2014650588118814902"
    }
  },
  {
    "slug": "accessibility-shifts-to-admin-dashboards",
    "path": "threads/2026/accessibility-shifts-to-admin-dashboards.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/accessibility-shifts-to-admin-dashboards.md",
    "title": "Accessibility shifts to admin dashboards",
    "date": "2026-01-22T22:17:04.993Z",
    "excerpt": "Found this in my notes from December 2017: \"when you log into your admin panel you can see accessibility audits of your website.\" Back then it felt like a tiny product idea and a quiet opinion: a11y should sit next to traffic and revenue, not in a PDF no one reads. 🧪👇\n\nIn 2017, Lighthouse was new, \"accessibility\" mostly meant WCAG checklists, and anything serious lived in devtools or CI. Dashboards showed signups and MRR, not how many users you were quietly excluding.\n\nFast forward to 2026 and parts of that vision exist. We have audits in CI/CD, linting in design systems, CMS warnings for low contrast or missing alt text. But it still rarely shows up as an operational metric in the admin, next to \"orders today\" or \"conversion this week.\"\n\nThat is the interesting shift. If accessibility trends, ownership, and alerts live in the admin, non‑engineers can spot and fix issues. It becomes something you monitor, regress, and improve.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2014462332718743935"
    }
  },
  {
    "slug": "cowork-signals-llm-os-shift",
    "path": "threads/2026/cowork-signals-llm-os-shift.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/cowork-signals-llm-os-shift.md",
    "title": "Cowork signals llm os shift",
    "date": "2026-01-22T10:43:02.470Z",
    "excerpt": "Anthropic's new Cowork thing is probably their clearest \"LLM OS\" move so far.\n\nUnder the hood, it's basically a Claude Agent SDK wrapped in a persistent desktop agent that lives in a VM sandbox. It can talk to connectors, use a browser, and touch the local filesystem, all while pretending to be \"just another app\" on your machine.\n\nThe interesting bit is where this shifts the game. We're moving from \"who has the nicest chat UI\" to \"who safely owns long‑running, multi‑tool workflows on the client.\" Think less chatbot, more headless engineer that quietly runs for hours, wiring together APIs, files, and web tasks without burning your laptop down.\n\nFor founders, this raises a few questions:\n- Do you build directly on top of this and treat Cowork as your agent host?\n- Do you compete by owning your own sandbox and workflow engine?\n- Or do you specialize, and let Anthropic handle the scary sandbox stuff?\n\nWe're basically in the early \"Windows for agents\" era. Cowork is Anthropic saying, \"We'd like to be your local agent runtime, thanks,\" with security and workflow control as the new battleground.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2014287684030927162"
    }
  },
  {
    "slug": "gemini-becomes-a-commerce-runtime",
    "path": "threads/2026/gemini-becomes-a-commerce-runtime.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/gemini-becomes-a-commerce-runtime.md",
    "title": "Gemini becomes a commerce runtime",
    "date": "2026-01-22T00:15:03.086Z",
    "excerpt": "Google's quietly doing a pretty wild thing with Gemini. On the surface, it used to look like \"LLM with shopping links\". Cute, incremental, very 2023. But if you read between the lines after UCP, it's starting to look more like a commerce runtime.\n\nThink of Gemini not as a chatbot, but as a protocol layer that talks directly to:\n- Checkout\n- Wallets\n- Loyalty systems\n- Offers and promos\n\nSo if AI becomes the main UI from \"I'm exploring\" to \"I'm choosing\" to \"I'm paying\", Google has basically moved the ad auction inside the model's context window.\n\nThe \"sponsored result\" is no longer a blue link. It might be which product the agent bothers to mention, which offer it decides to apply, or which merchant ends up one tap away from \"Confirm\".\n\nFor founders, this flips a few questions:\n- You don't just ask \"How do I rank in search?\" You ask \"How do I get into the model's tools and protocols?\"\n- Your edge is not just SEO anymore. It might be being the fastest, cleanest API for a specific intent.\n\nSearch was about pages competing in a browser. This is services competing in a context window.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2014129645281808797"
    }
  },
  {
    "slug": "image-api-for-licensed-photos",
    "path": "threads/2026/image-api-for-licensed-photos.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/image-api-for-licensed-photos.md",
    "title": "Image API for licensed photos",
    "date": "2026-01-21T00:11:05.039Z",
    "excerpt": "Found this line in my 2017 notes: \"Image API from keyword  -  Wikimedia, Unsplash, etc., with alt tag, license as JSON response.\" It felt like a tiny product spec back then, and also a snapshot of what the web looked like at the time 📷👇\n\nIn late 2017, the recurring dev problem was basically \"just give me a photo I can legally use.\" Wikimedia Commons had a powerful but quirky API. Unsplash was booming with a very generous license. Every landing page and slide deck needed images, and every developer wanted a single endpoint: send a keyword, get back a URL, alt text, and license they could trust.\n\nThe note assumed aggregation plus clean JSON would solve it. Normalize a few sources, unify licensing fields, and you are done. Today I see the harder problem: trust. Licenses change. Uploaders might not own what they upload. Alt text gets stripped or overwritten. The JSON can look perfect while the rights are fuzzy.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2013766247171940711"
    }
  },
  {
    "slug": "filesystem-memory-ends-the-bloat",
    "path": "threads/2026/filesystem-memory-ends-the-bloat.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/filesystem-memory-ends-the-bloat.md",
    "title": "Filesystem memory ends the bloat",
    "date": "2026-01-20T22:16:02.151Z",
    "excerpt": "RAG bloat was always going to end here.\n\n\"Filesystem-as-memory\" is basically the final boss: instead of yet another vector store, tool registry, and orchestration layer, your agents just see a boring Postgres-backed filesystem. There's an `AGENTS\\.md`, a `tools.json`, a `/docs` directory, and that's the schema. If you can explain it to a junior dev in 5 minutes, an agent can probably reason about it too.\n\nThe nice part is you stop designing bespoke memory abstractions and just lean on something we already know how to scale, back up, and migrate. It is Git-friendly. It is inspectable. You can literally `cat` your agent's \"brain\".\n\nOf course, this is tech, so give it 6 months and that \"it's just files\" layer quietly becomes the new ORM boundary. Now you have:\n- FS views\n- virtual mounts for different teams / agents\n- permissions as YAML\n- a plugin system \"for flexibility\"\n\n… and congrats, your simple FS is the next contested infra layer.\n\nStill, for technical founders, this direction makes sense. Push complexity down into Postgres. Expose a file-shaped world to agents. Fight about abstractions later.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2013737306084262387"
    }
  },
  {
    "slug": "one-calendar-link-library",
    "path": "threads/2026/one-calendar-link-library.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/one-calendar-link-library.md",
    "title": "One calendar link library",
    "date": "2026-01-20T00:11:05.044Z",
    "excerpt": "In early 2019 I pulled a tiny but annoying problem out of multiple projects and turned it into calendar-link - and it now gets 150k+ weekly downloads.\n\nIt solved one thing: take an event object and spit out the right \"add to calendar\" URL for Google, Outlook, Yahoo, or an .ics file. 📅👇\n\nBack then, every provider had its own fragile deep link format. People were copy pasting URLs from random blog posts, dealing with broken time zones, and hoping recurring events worked. I wanted a single, TypeScript friendly API where you call google(event), outlook(event), yahoo(event), or ics(event) and forget the rest.\n\nUnder the hood, it is basically \"event in, URL out,\" with all the weirdness hidden in small pure functions. Time zones needed a \"please use UTC\" rule, guests only worked on some providers, rRule recurrence was supported in a few places, and mobile vs desktop Outlook behaved differently.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2013403858274333071"
    }
  },
  {
    "slug": "ai-skills-as-a-library",
    "path": "threads/2026/ai-skills-as-a-library.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/ai-skills-as-a-library.md",
    "title": "AI skills as a library",
    "date": "2026-01-19T22:16:02.009Z",
    "excerpt": "The new vercel-labs/agent-skills instantly clicked in my head with how I want to work with AI dev tools: not one giant agent that magically knows everything, but a bunch of focused, installable skills that map to real workflows.\n\nThe React/Next.js part, react-best-practices, is especially nice. It is not vague \"write better React\" advice. It is 40+ specific rules, grouped and prioritized by impact, like \"Eliminating waterfalls\" and \"Bundle size optimization\" marked as critical. This is the kind of stuff you usually only remember after a slow Lighthouse run in production.\n\nweb-design-guidelines feels like turning that one meticulous front-end engineer into a reusable skill. It checks accessibility, focus states, forms, typography quirks, dark mode, performance, i18n, and more. Basically a structured front-end review, but automated.\n\nI like it because it treats AI skills like a standard library for coding agents. Install once, reuse everywhere.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2013374917635645579"
    }
  },
  {
    "slug": "chatgpt-ad-monetization-experiment",
    "path": "threads/2026/chatgpt-ad-monetization-experiment.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/chatgpt-ad-monetization-experiment.md",
    "title": "ChatGPT ad monetization experiment",
    "date": "2026-01-19T10:49:01.950Z",
    "excerpt": "ChatGPT going ad-supported on the free / Go tiers is basically the first serious A/B test of if Google's business model survive in a world where you don't have a search box.\n\nIn search, life is simple. One query. Clear intent. Ten blue links. You can auction attention and call it a day.\n\nIn multi‑turn assistants, intent is smeared across the whole conversation. You might go from \"explain RAG\" to \"help me debug this stack trace\" to \"also, which GPU should I buy\" in one session. Where do you even put the ad in that mess?\n\nHere, ads are appended to answers, not ranked in a list. That is a very different game. You can't just bump a sponsored result to position one and print money.\n\nOpenAI also says they will not optimize for \"watch time\". So the question for all of us is: can this make real revenue without slowly nudging the model toward ad‑friendly, commercial questions? If it works, we get a template for how every assistant product can monetize. If it fails, we learn something uncomfortable. Maybe assistants are great UX but bad businesses, unless you quietly turn them back into search with extra steps.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2013202028189901163"
    }
  },
  {
    "slug": "chatgpt-tiered-pricing-like-isps",
    "path": "threads/2026/chatgpt-tiered-pricing-like-isps.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/chatgpt-tiered-pricing-like-isps.md",
    "title": "ChatGPT tiered pricing like ISPs",
    "date": "2026-01-18T10:42:02.101Z",
    "excerpt": "ChatGPT tiers are now ISP style prices:\n- Free / Go: ad-subsidized, good enough for everyday queries, priced at \"don't think, just use it.\"\n- GPT‑5.2 Instant: the metered, mid-tier workhorse. Fast, decent reasoning, where most volume and revenue will likely live.\n- GPT‑5.2 Thinking / Pro: slower, deeper, premium, reserved for high ARPU users and serious workloads.\n\nThis is classic capacity partitioning. You segment compute into lanes, then attach different SLAs, price points, and business models (ads, per‑unit billing, enterprise deals) to each lane.\n\nAnd yes, every major model provider is probably going to copy this. Because once you treat model capacity like bandwidth, you basically end up reinventing the ISP playbook, just with more tensors and fewer fiber cuts.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2012837879354212459"
    }
  },
  {
    "slug": "latency-enables-rapid-loops",
    "path": "threads/2026/latency-enables-rapid-loops.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/latency-enables-rapid-loops.md",
    "title": "Latency enables rapid loops",
    "date": "2026-01-17T22:14:01.931Z",
    "excerpt": "If very fast Codex actually makes code and agent responses feel instant, the big shift is control loops.\n\nRight now most stacks treat LLM calls like expensive RPCs. You do a few big, blocking calls in the IDE, CI, or your agents, then wait. That pushes you to design around smart one-shot guesses.\n\nIf latency drops into the near‑interactive range, you can flip the architecture. You stop caring about squeezing out a few more benchmark points and start caring about how many tight feedback cycles you can run per second.\n\nThings that become natural:\n- IDEs that continuously \"micro-diff\" your intent and code as you type, not just on demand  \n- CI that probes and repairs instead of doing one huge, sacred pipeline run  \n- Agents that take dozens of tiny, cheap steps instead of three dramatic ones that you pray are right\n\nWall‑clock latency starts to dominate model quality at the margin. If you can run 20 small loops in the time your competitor runs 2, you win even with a dumber model.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2012649638134943918"
    }
  },
  {
    "slug": "auditable-ai-for-enterprises",
    "path": "threads/2026/auditable-ai-for-enterprises.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/auditable-ai-for-enterprises.md",
    "title": "Auditable AI for enterprises",
    "date": "2026-01-10T22:16:01.837Z",
    "excerpt": "Claude Code is turning into a kind of agentic shell for serious builders. You get async subagents, MCP, the desktop Code toggle, Slack, web. It is starting to feel like a programmable OS layer that just happens to speak natural language.\n\nBut in a lot of enterprises, the real bottleneck is not tokens, context windows, or model quality anymore. It is the multi month \"let's loop in security, compliance, legal, and someone who left the company last year\" review.\n\nSo you end up with this weird situation. On paper, AI can ship you a 10x productivity gain. In practice, your GRC workflow rate limits it to 1x. The model is ready. Your process is not.\n\nIf you are building for enterprises, this matters a lot. Your competitive edge is not just better agents. It is:\n- Designing for auditable actions, least privilege, and strong guardrails.\n- Giving security teams real controls, not vibes.\n- Making it easy for legal and risk to say \"yes\" without a 40 page PDF.\n\nTeams that fix process and security for agentic tools will actually capture the productivity delta. Everyone else is just donating it to their less bureaucratic competitors.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2010113426165838180"
    }
  },
  {
    "slug": "taws-the-aws-terminal-interface",
    "path": "threads/2026/taws-the-aws-terminal-interface.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/taws-the-aws-terminal-interface.md",
    "title": "Taws the aws terminal interface",
    "date": "2026-01-09T22:14:02.672Z",
    "excerpt": "Every once in a while I stumble on a tool that looks like something I would have tried to hack together myself over a weekend. taws is one of those.\n\nIt is a terminal UI for AWS that brings the \"click around the console, then drop to the CLI, then read JSON\" dance into a single keyboard driven interface. Think htop, but for your AWS account.\n\nThe part I really like is that it is not just a pretty viewer. It understands a lot of AWS resource types, keeps an eye on changes, lets you filter and fuzzy search, shows JSON or YAML when you need the raw details, and even lets you take actions like starting or stopping EC2 instances directly from the TUI.\n\nIt is written in Rust and ships prebuilt binaries plus a simple `cargo install taws`, so trying it out is low friction:\nhttps://github.com/huseyinbabal/taws",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2009750538448220374"
    }
  },
  {
    "slug": "edge-routing-in-code",
    "path": "threads/2026/edge-routing-in-code.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/edge-routing-in-code.md",
    "title": "Edge routing in code",
    "date": "2026-01-09T10:47:05.333Z",
    "excerpt": "Found this little note from November 2017 in my repo: \"Make router using PHP, not htaccess. Cache everything on Cloudflare\" It was me trying to redraw the line between the app and the edge ⚙️👇\n\nBack then, Apache and .htaccess were still the default, especially on shared hosting. Moving routing into PHP felt like taking back control: one front controller, predictable rules, less magic regex in server config. Cloudflare was slowly becoming \"good enough\" as a CDN, so putting static files on a subdomain and caching them hard was a very real upgrade.\n\nIn 2025, the instinct is the same, even if the tools changed. We route in framework code, push static assets to CDNs, and use edge rules as a thin layer, not as the source of truth. The tradeoff is always flexibility vs complexity: app-level routing is easier to reason about and test, edge rules are faster but harder to debug at scale.\n\nThe durable principle for me is simple. Keep routing logic in code you version and review. Push everything cacheable to the edge. Be explicit about what lives where.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2009577648700432404"
    }
  },
  {
    "slug": "skills-as-software-assets",
    "path": "threads/2026/skills-as-software-assets.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/skills-as-software-assets.md",
    "title": "Skills as software assets",
    "date": "2026-01-08T22:18:02.586Z",
    "excerpt": "Anthropic turning Claude Skills into a vendor‑neutral Agent Skills spec + org‑level admin and a public directory, is basically Dockerfiles for LLM workflows.\n\nYou get a portable unit that says:\n- here's the procedure,\n- here are the tools,\n- here's how to wire them up,\nand you can drag that whole thing across IDEs, agent runtimes, and model vendors without rewriting the same glue code for the 17th time. The skill becomes the artifact, not the surrounding platform.\n\nThis is sneaky important. It means you can:\n- Standardize how your team defines AI workflows\n- Swap underlying models or infra without blowing up your \"agent logic\"\n- Publish or consume a marketplace of reusable skills, like npm for procedures\n\nWe might finally stop encoding business processes inside one-off prompt chains tied to one vendor's UI. Skills become versioned, reviewable, testable units you can treat like real software assets.\n\nOf course, this only works if enough of us treat the spec as a baseline instead of a marketing feature. But if that happens, \"which LLM are you using?\" becomes less critical than \"which skills are you running?\", which is a much more interesting question.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2009389156821283089"
    }
  },
  {
    "slug": "from-copilot-to-junior-engineer",
    "path": "threads/2026/from-copilot-to-junior-engineer.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/from-copilot-to-junior-engineer.md",
    "title": "From copilot to junior engineer",
    "date": "2026-01-08T10:41:02.149Z",
    "excerpt": "I got early access to GPT‑5.2‑Codex and I think it's the first time it fully upgraded the job title from \"LLM as copilot\" to \"LLM as slightly overconfident junior staff engineer.\"\n\nIt does score well on SWE‑Bench Pro and solves real CTFs. How it gets there is as important. Native context compaction means it can actually keep a large codebase in its head without falling over, and the tool‑centric training makes it behave less like a autocomplete engine and more like someone who knows when to grep, when to run tests, and when to call a debugger.\n\nOn the security side, OpenAI is basically saying the quiet part out loud: To make this good at high‑risk cyber tasks, you have to train offensive capability, then wrap it in trusted, sandboxed access and policy. So we are now in the world where the model can probably pop a shell, but only if the product and governance layers agree.\n\nYour AI dev is about to get competent enough to ship and to break things. The opportunity is in how you constrain, audit, and productize that power before your customers or your compliance team start asking the awkward questions.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2009213749190959513"
    }
  },
  {
    "slug": "groq-becomes-strategic-ai-infrastructure",
    "path": "threads/2026/groq-becomes-strategic-ai-infrastructure.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/groq-becomes-strategic-ai-infrastructure.md",
    "title": "Groq becomes strategic AI infrastructure",
    "date": "2026-01-08T00:15:05.408Z",
    "excerpt": "Nvidia basically just told the market Groq is worth ~$20B, three months after a $6.9B round. This is the market saying, \"oh, ultra low latency inference isn't a nice-to-have, it's systemically strategic infrastructure now.\"\n\nGroq's IP is being priced less like a startup and more like a critical layer in the stack. Think \"this must exist for the future of AI to work at scale\" rather than \"cool dev tool with ARR.\"",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2009056212726530223"
    }
  },
  {
    "slug": "bots-run-your-software",
    "path": "threads/2026/bots-run-your-software.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/bots-run-your-software.md",
    "title": "Bots run your software",
    "date": "2026-01-07T00:18:01.996Z",
    "excerpt": "We're all secretly betting on the same thing: that \"computer-use\" agents will turn LLMs into a reasonably competent offshore back office that never sleeps and never asks for a Zoom call.\n\nIn more technical terms, this is really a bet that GUI-grounded RL + hierarchical planning will get good enough that agents can reliably operate real software, not just toy UIs in a demo. If OSWorld or WebArena style benchmarks start hitting 80%+ success on multi-step tasks, the constraint stops being model quality.\n\nAt that point, the hard problem moves to us. You'll need to refactor your product and internal tools so an always-on, API-less RPA layer can click through your app like a power user. That means:\n- Cleaning up chaotic workflows that only your ops lead understands.\n- Making UI states and errors unambiguous enough that an agent does not rage-quit.\n- Rethinking job design where \"open Chrome, log in, export CSV\" is no longer human work.\n\nIf these agents actually work, your SaaS is no longer used by people but used by people and bots in the same interface. Which is fun. And also a little terrifying.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2008694577692291412"
    }
  },
  {
    "slug": "unified-permissions-for-access-control",
    "path": "threads/2026/unified-permissions-for-access-control.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/unified-permissions-for-access-control.md",
    "title": "Unified permissions for access control",
    "date": "2026-01-06T22:14:04.993Z",
    "excerpt": "Found this in my notes from November 2017: \"Have permissions as a flow. if (hasPermission(\"admin\", STARTUPID)) then let her do things; is_su, is_founder, is_owner, etc. Can also add permission manager.\"  I had this idea of building a unified RBAC layer; today several startups do this.\" 🔐👇\n\nBack then, most products had ad-hoc checks scattered across the codebase. Identity was centralized with OAuth, but authorization was copy paste glue. This tiny note was basically make permissions a single flow instead of a hundred if-statements.\n\nWhat aged well is the instinct to centralize one question: \"Can this user do X on Y right now?\" Contextual roles like admin, founder, owner hinted at org-level, time-bound access, which is exactly what modern permissions infra startups now package as policy engines, dashboards, and audit logs.\n\nWhat we all underestimated is how gnarly this gets when you try to make it generic: tenants, row-level access, attributes vs roles, and performance when every request becomes a policy eval.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2008663372804563238"
    }
  },
  {
    "slug": "agents-as-modular-packages",
    "path": "threads/2026/agents-as-modular-packages.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/agents-as-modular-packages.md",
    "title": "Agents as modular packages",
    "date": "2026-01-06T10:42:03.064Z",
    "excerpt": "We're basically turning AI agents into npm packages, and it's starting to get interesting.\n\nThis emerging agent package idea - rules + MCP servers + subagents + policies as one shippable thing is like going from copy‑pasted prompts in Notion docs to `import sales_agent` in your stack.\n\nWhat this standard ends up looking like is still evolving. Do we converge on something LSP/MCP‑like, where agents expose a clear capability graph, tools, and contracts that any host can introspect? Or do we keep getting vendor‑flavored bundles that are 60% prompt template, 30% config, and 10% \"lol good luck debugging this in production\"?\n\nA proper spec means:\n- Agents are composable, like libraries, not sacred snowflakes\n- You can swap providers without rewriting half your orchestration layer\n- Security and policy stop living in random YAML at the bottom of a Confluence page\n\nWhoever nails the \"agent as module\" spec is going to define the next decade of how we build AI products. Right now, it still feels like early Node. Lots of excitement. Not enough package-lock.json.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2008489229069021369"
    }
  },
  {
    "slug": "auto-generate-topic-pages",
    "path": "threads/2026/auto-generate-topic-pages.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/auto-generate-topic-pages.md",
    "title": "Auto generate topic pages",
    "date": "2026-01-06T00:18:07.835Z",
    "excerpt": "Found this line in my 2017 notes: \"Generate slugs for user-defined inputs like tags, university, hobby, etc., and add slug to title table with categories ('tag', 'institute') for autocomplete.\" Back in 2025 I'd commented that this lets you auto-generate topic pages and gain SEO, similar to how GitHub works today. 🔍👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2008332189549662430"
    }
  },
  {
    "slug": "moat-becomes-adaptation-velocity",
    "path": "threads/2026/moat-becomes-adaptation-velocity.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/moat-becomes-adaptation-velocity.md",
    "title": "Moat becomes adaptation velocity",
    "date": "2026-01-05T22:19:02.442Z",
    "excerpt": "If Lovable-style 3 month model cycles really become the norm, we're basically signing up for permanent PMF roulette.\n\nEvery quarter, the ground shifts. Your \"AI feature\" stops being a moat and turns into table stakes. @sarahookr's point that great people increasingly optimize for mission and peers over comp just adds fuel to this. The folks who can actually ship with these new models won't stick around for a slightly higher salary if the culture is mid and the mission is fuzzy.\n\nSo durable advantage in AI starts to look a lot less like \"we hit SOTA on benchmark X\" and a lot more like a control system.\n\nYou want:\n- Release velocity that matches or beats the model cadence\n- Cultural coherence so the company does not emotionally DDoS itself every time OpenAI or Anthropic drops a blog post\n- Talent density where the top 10 percent of the team can absorb a new foundation model and have it in production before the press cycle is over\n\nMiss on any of these and you are basically opting into being re-disrupted every 90 days.\n\nIn this world, your real moat is how fast your team can re-route, re-ship, and stay sane. The models will keep changing. The loop you build around them is the thing that sticks.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2008302244060635409"
    }
  },
  {
    "slug": "looking-back-at-hello-bar",
    "path": "threads/2026/looking-back-at-hello-bar.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/looking-back-at-hello-bar.md",
    "title": "Looking back at hello bar",
    "date": "2026-01-05T10:42:10.818Z",
    "excerpt": "Looking back at a tiny project from December 2018, hello-bar was my attempt to bottle a very specific moment on the web: everyone was pasting JavaScript snippets to get a sticky \"hello bar\" for announcements, discounts, and GDPR-style notices, but most tools lived behind SaaS dashboards and monthly plans. I just wanted something you could install from npm, configure in code, and forget about. 🧩👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2008126837701136756"
    }
  },
  {
    "slug": "the-race-for-llm-standards",
    "path": "threads/2026/the-race-for-llm-standards.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/the-race-for-llm-standards.md",
    "title": "The race for LLM standards",
    "date": "2026-01-04T10:48:02.027Z",
    "excerpt": "Everyone's talking about \"Stripe for LLM APIs\" but the focus should be on the protocol war. Whoever nails a de facto standard for:\n- auth,\n- streaming,\n- tools / function calling,\n- batching,\nacross OpenAI, Anthropic, Gemini, etc. will become the control plane of AI apps.\n\nIf one layer can sit in front of all models and decide:\n- which provider to route to,\n- what guardrails and policies to apply,\n- how to optimize spend and latency,\nthen that layer becomes your API gateway, feature flag system, and FinOps dashboard for LLMs rolled into one.\n\nFor founders, that has two implications:\n1. If you build it, you're not just an adapter. You're potentially the policy and governance brain of multi-model infra.\n2. If you depend on it, you're centralizing a lot of power and lock-in in one place. Great for speed today, interesting for risk tomorrow.\n\nSo yes, \"Stripe for LLMs\" sounds cute. In practice, it is closer to \"Kubernetes for prompts.\" Whoever wins this layer decides how AI apps are actually wired.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2007765958925152633"
    }
  },
  {
    "slug": "meta-acquires-manus-platform",
    "path": "threads/2026/meta-acquires-manus-platform.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/meta-acquires-manus-platform.md",
    "title": "Meta acquires Manus platform",
    "date": "2026-01-03T22:16:02.001Z",
    "excerpt": "Meta buying Manus is about paying billions for the only agent stack that's actually winning in the real world if you think about it - Manus sits on top of the Remote Labor Index, where only about 2.5% of tasks are automated today. So this is not sci fi. It is \"we are already replacing slices of real remote work, and there is a lot more headroom left.\"\n\nThey are already at around $100M ARR. So Meta is not just acquiring a research toy. They are buying:\n- An orchestration layer that already runs real workflows for real companies\n- A workflow data layer that quietly captures how white collar work is actually done, step by step\n- A distribution engine for agents that are finally escaping the demo stage and touching live processes\n\nMeta is betting that the agent OS and workflow exhaust data are the new social graph. Everyone else is still polishing their chatbot UX. Meta just bought the back office.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2007576711756722323"
    }
  },
  {
    "slug": "agent-standardization-is-underway",
    "path": "threads/2026/agent-standardization-is-underway.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/agent-standardization-is-underway.md",
    "title": "Agent standardization is underway",
    "date": "2026-01-02T22:16:02.334Z",
    "excerpt": "It's funny how quietly the agent world is standardizing itself.\n\nAGENTS, CLAUDE, GEMINI .md etc. are basically becoming an accidental agent API. Not an OpenAPI spec, not a protobuf schema. Just… docs. But written in a way machines can reliably parse.\n\nYou describe:\n- Goals and roles\n- Available tools and how to call them\n- Test commands and success criteria\n\nTurns out that is enough for agents to plug in and start doing useful work without a custom integration layer every single time.\n\nIf this keeps going, every serious repo will ship \"context primitives\" by default. Not just README and CONTRIBUTING, but a contract for how autonomous collaborators should behave in this codebase.\n\nAt that point, your repo is no longer only for humans with git installed, it becomes a negotiation space between:\n- Humans\n- House agents (your own automation)\n- Guest agents (external tools, vendors, copilots)\n\nThis is the part where supporting AI stops meaning \"we added a chatbot\" and starts meaning \"our product, infra, and repos are agent-readable by design\".\n\nYour API docs taught humans how to integrate. Your AGENTS .md will teach everyone else.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2007214325321150779"
    }
  },
  {
    "slug": "the-real-scaling-of-autonomy",
    "path": "threads/2026/the-real-scaling-of-autonomy.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2026/the-real-scaling-of-autonomy.md",
    "title": "The real scaling of autonomy",
    "date": "2026-01-02T10:46:02.599Z",
    "excerpt": "The week before I got back to SF, there was a blackout. It shows a weird truth about Level 4 AVs: Yes, there is the long‑tail of perception and planning. Weird edge cases, odd pedestrians, cones in strange places. We all know that story. But the real scaling limit is starting to look a lot more like classic ops math than sci‑fi AI.\n\nWhen something rare or ambiguous happens, cars pause and ask for help. That \"help\" is a human in a chair, somewhere, juggling multiple vehicles through a remote-confirmation pipeline.\n\nIn theory, the more data you have, the better the model, the more cars you can deploy.\n\nIn practice, once the world gets messy, your fleet size starts to become a function of how many teleoperators you can hire, train, and keep awake at 3 am. It is basically an invisible queueing system glued on top of your autonomy stack. And in a citywide failure like the blackout, all those \"rare\" events suddenly synchronize.\n\nSo for founders in autonomy and infra: your scaling story is not just about model performance curves. It is also about call center math, queue theory, and human-in-the-loop throughput. The ops slide might be the real safety slide.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2007040682184314986"
    }
  },
  {
    "slug": "from-php-to-og-images",
    "path": "threads/2025/from-php-to-og-images.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/from-php-to-og-images.md",
    "title": "From PHP to OG images",
    "date": "2025-12-31T00:19:13.314Z",
    "excerpt": "Found this in my notes from November 2017: \"SEO image generator using PHP, text on background image generation.\" Back then it was literally \"take title text, render it on a background, save a JPG for social.\" Today, that sounds a lot like Vercel's og-image and friends 🖼️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2006158113704141195"
    }
  },
  {
    "slug": "public-staff-profiles-exposed",
    "path": "threads/2025/public-staff-profiles-exposed.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/public-staff-profiles-exposed.md",
    "title": "Public staff profiles exposed",
    "date": "2025-12-30T22:14:07.860Z",
    "excerpt": "In 2017, I was about to start Creative Technology at the University of Twente and just wanted one professor's contact details. Then I opened DevTools and realized the \"search staff\" box was just a public JSON API with full profiles. 📇👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2006126657413996752"
    }
  },
  {
    "slug": "inline-wikipedia-style-tooltips",
    "path": "threads/2025/inline-wikipedia-style-tooltips.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/inline-wikipedia-style-tooltips.md",
    "title": "Inline Wikipedia style tooltips",
    "date": "2025-12-30T10:46:05.134Z",
    "excerpt": "Back in late 2018 I hacked together a tiny Wikipedia tooltip library because I was tired of sending readers away from my articles just to explain a term. I wanted inline Wikipedia-style context on hover, no heavy dependencies, just a sprinkle of UX sugar on top of plain links 🖱️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2005953516645298246"
    }
  },
  {
    "slug": "nvidia-groq-deal-signals-integration",
    "path": "threads/2025/nvidia-groq-deal-signals-integration.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/nvidia-groq-deal-signals-integration.md",
    "title": "Nvidia Groq deal signals integration",
    "date": "2025-12-30T00:15:02.395Z",
    "excerpt": "Nvidia just pulled a very Nvidia move with @GroqInc.\n\nOn paper, it is a $20B non‑exclusive IP license for Groq's LPU and a bunch of its leadership team. In practice, it looks a lot like the Mellanox playbook for the inference layer.\n\nIf you squint, this is:\n- An acquihire of some of the best ultra low latency inference folks on the planet  \n- A way to wire specialized ASIC IP directly into Nvidia's AI factory stack  \n- And a real time experiment in \"how far can you go toward vertical integration without triggering a full merger review\"\n\nSome notes as someone who exited in an untraditional way:\n1. \"Non‑exclusive license\" can still mean \"we just locked in the critical path talent and roadmap.\"  \n2. Vertical integration in AI is accelerating. Owning the compiler, runtime, silicon, and data center is becoming the default ambition, not a moonshot.  \n3. If you are building deep infra, the exit surface area is bigger than \"classic acquisition\" or \"go public\". Creative deal structures are very much on the menu!\n\nAlso, if your pitch deck says low latency inference, investors are now going to ask, \"So… how are you not going to get Groq'ed by @NVIDIA?\"",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2005794721088577794"
    }
  },
  {
    "slug": "building-long-horizon-agents",
    "path": "threads/2025/building-long-horizon-agents.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/building-long-horizon-agents.md",
    "title": "Building long horizon agents",
    "date": "2025-12-29T22:12:02.272Z",
    "excerpt": "We're slowly crawling out of chat into long-horizon agents that are supposed to do real work.\n\nEveryone built on the Lambda-style function per request model because it was easy. You send a prompt, you get a response, you glue it together with retries and queues and call it an agent. That works until you want something that lives for hours or days, keeps context, and doesn't forget what it was doing every 30 seconds.\n\nNow infra teams are rediscovering some very old ideas with new branding:\n- Durable execution so work survives crashes and deploys  \n- Workflow semantics so you can actually model multi-step, branching tasks  \n- Long-lived, actor-like processes that hold state and identity over time",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2005763766898786484"
    }
  },
  {
    "slug": "skills-power-ai-apps",
    "path": "threads/2025/skills-power-ai-apps.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/skills-power-ai-apps.md",
    "title": "Skills power AI apps",
    "date": "2025-12-29T10:41:02.020Z",
    "excerpt": "If Anthropic's Skills model keeps improving at this pace, agents might quietly get demoted from The Future™ to just another runtime detail.\n\nThe interesting abstraction boundary shifts to something like SKILL\\.md-style bundles. Think of them as small, composable units that combine:\n- a contract / spec in natural language\n- a bit of code\n- and a prompt that knows how to progressively reveal context\n\nInstead of orchestrating giant agent graphs, you ship skills. Each skill declares what it can do, what it needs, and how it should talk to other skills. The model then stitches them together on demand.\n\nThis looks a lot like npm for AI behavior. Your app no longer hardcodes flows like \"call agent A, then B, then C.\" You give the model a toolbox of skills and let it route intelligently based on user intent and current state.\n\nIn this world:\n- Agent frameworks start to feel like build tooling\n- Skills feel like the real product surface\n- And prompt engineering evolves into designing good skill interfaces\n\nSo AI apps might end up shipping a lockfile of skills the way web apps ship a package-lock.json. The runtime is an implementation detail. The skill graph is your architecture.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2005589870069367059"
    }
  },
  {
    "slug": "governing-ai-as-microservices",
    "path": "threads/2025/governing-ai-as-microservices.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/governing-ai-as-microservices.md",
    "title": "Governing AI as microservices",
    "date": "2025-12-28T10:41:02.341Z",
    "excerpt": "Org-wide Skills + a central directory basically turn Claude into a governed microservice mesh.\n\nEach Skill is now a versioned, permissioned API surface over your tools and data. So governance moves up a layer. It stops being \"did we engineer the perfect prompt?\" and starts being \"who can call which Skills, from where, and with what guarantees?\". That is a much nicer problem.\n\nSo you can treat AI like another internal platform.  \nYou design Skills like microservices.  \nYou ship and version them.  \nYou gate them with policy.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2005227483482992916"
    }
  },
  {
    "slug": "platform-features-and-timeless-ideas",
    "path": "threads/2025/platform-features-and-timeless-ideas.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/platform-features-and-timeless-ideas.md",
    "title": "Platform features and timeless ideas",
    "date": "2025-12-27T22:18:05.177Z",
    "excerpt": "Back in late 2017, AMP still felt like the obvious move. Google's mobile search visibly rewarded it, news carousels were full of lightning-bolt icons, and for a content-heavy static site, an AMP version felt like the responsible way to be \"fast\" and \"mobile friendly.\"\n\nThe funny part in hindsight is that most of AMP's promise never really needed AMP. What we wanted was fast pages, simple markup, and predictable layouts. Over time we got there with Core Web Vitals, better browser APIs, static-first frameworks, and performance budgets. We kept the constraints and quietly removed the proprietary wrapper.\n\nThe bigger lesson for me is about chasing platform features. When something feels mandatory, it often encodes timeless ideas you can adopt without buying into the whole ecosystem. Performance, accessibility, and simplicity stick around. Formats and badges come and go.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2005040501653942593"
    }
  },
  {
    "slug": "nvidia-tightens-ai-control",
    "path": "threads/2025/nvidia-tightens-ai-control.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/nvidia-tightens-ai-control.md",
    "title": "Nvidia tightens AI control",
    "date": "2025-12-26T22:15:02.310Z",
    "excerpt": "Nvidia buying Groq is them quietly deleting the most credible ultra low latency inference ASIC from the menu and then absorbing its ideas into the mothership.\n\nGroq's whole thing was deterministic, SRAM heavy, single clock domain, no drama inference. You gave it a graph, it gave you predictable latency without the usual \"kernel roulette\" you get on general purpose accelerators. For a bunch of real time workloads, that was pretty compelling.\n\nNow imagine that design mindset wired into Nvidia's AI factory story. Not only H100s and B200s for training, but a tightly controlled path from model build to model serve, with Nvidia silicon and software at every step.\n\nFor founders, the subtext is:\n- The \"GPU vs ASIC\" debate just got a lot more one sided.\n- If you are building infra, Nvidia is trying to own the default training → deployment path.\n- If you are betting on ultra low latency inference, you either sit on top of Nvidia or you go very niche and very brave.\n\nNvidia is no longer trying to win the GPU race, they are trying to make the race itself happen only on their track, theirs.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2004677358478041461"
    }
  },
  {
    "slug": "rethinking-epistemic-rewards-for-llms",
    "path": "threads/2025/rethinking-epistemic-rewards-for-llms.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/rethinking-epistemic-rewards-for-llms.md",
    "title": "Rethinking epistemic rewards for llms",
    "date": "2025-12-26T10:45:02.491Z",
    "excerpt": "Karpathy's food for thought is basically this: what if RL for LLMs stopped treating benchmarks as the only thing that matters and started rewarding actual epistemic gains inside the model's head?\n\nThink rewards for:\n- Reducing its own uncertainty\n- Generating non-trivial new hypotheses\n- Improving calibration over time\n\nSo more CD-RLHF / CURIO / MERCI vibes, but aimed at the structure of reasoning itself, not just external tasks and leaderboards.\n\nThe hard part is:\n- Designing signals that do not pay the model for hallucinated novelty\n- Avoiding reward hacking where the model learns to look \"curious\" instead of being useful\n- Still giving it enough freedom to self-generate problems, proofs, and theories that are way richer than whatever eval suite your research engineer hacked together last quarter\n\nFor founders, this is the real opportunity space. Today we mostly RLHF models to be polite and pass tests. Tomorrow we might RL them to become better scientists, debuggers, or co-founders that actually reason.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2004503714971963415"
    }
  },
  {
    "slug": "pinned-chats-redefine-the-workspace",
    "path": "threads/2025/pinned-chats-redefine-the-workspace.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/pinned-chats-redefine-the-workspace.md",
    "title": "Pinned chats redefine the workspace",
    "date": "2025-12-25T22:12:01.985Z",
    "excerpt": "Pinned chats in ChatGPT look trivial at first glance. It's basically \"favorites for chats\", right? But to me, this is the first real UX primitive that nudges LLMs from being stateless REPLs into something closer to long-lived project workspaces.\n\nThink about your own workflow. Today, most people treat AI like a scratchpad. You drop in a prompt, get an answer, maybe copy some code, and move on. The context dies. The intent dies. Next week you're asking the same thing again because you forgot what you tried.\n\nNow add pinned chats, Tasks / Pulse‑style background work, branched threads, and app integrations. Suddenly you are not chatting with \"the model\" anymore. You are maintaining ongoing, named, versioned conversations that map directly to products, repos, and experiments. Feels less like a chat app and more like an IDE for agents that just happens to look like messaging.\n\nThe boring-looking features are usually the ones that quietly reshape the platform. Pinned chats are one of those.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2004314214295654681"
    }
  },
  {
    "slug": "agent-skills-for-behavior-standardization",
    "path": "threads/2025/agent-skills-for-behavior-standardization.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/agent-skills-for-behavior-standardization.md",
    "title": "Agent skills for behavior standardization",
    "date": "2025-12-23T22:15:02.480Z",
    "excerpt": "Anthropic turning Claude Skills into vendor‑neutral Agent Skills is kinda like MCP deja vu, but for agent behavior instead of tools.\n\nThink of it as:\n- skills-as-artifacts instead of skills-as-config\n- git‑versioned behaviors rather than hidden prompt spaghetti\n- a de facto agent package layer that IDEs and frameworks can agree on\n\nAs a founder, this matters because:\n- You can ship agent behavior like you ship libraries\n- You reduce lock‑in to any one vendor's agent format\n- Teams can standardize on reusable skills across products and services\n\nIs it yet another spec? Yes. Is it probably the right abstraction layer for agents long term? Possibly also yes.\n\nWe had packages for code, containers for infra, MCP for tools. Agent Skills is that same energy for behavior. And if this lands, your AI features start to look a lot more like a skills registry than a pile of custom glue code.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2003590195573297425"
    }
  },
  {
    "slug": "entering-the-agent-harness-era",
    "path": "threads/2025/entering-the-agent-harness-era.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/entering-the-agent-harness-era.md",
    "title": "Entering the agent harness era",
    "date": "2025-12-23T10:45:02.278Z",
    "excerpt": "We're quietly entering the agent harness era of AI, and it's way more interesting than just throwing a bigger model at the problem.\n\nThings like:\n- Parallel tools and API calls  \n- Hierarchical sub‑agents that own specific workflows  \n- Procedural memory so your system actually \"remembers\" what it's doing  \n- Context compaction so prompts don't become 200k-token fanfic  \n- Visual graphs to debug and reason about flows\nare becoming the real performance frontier.\n\nThe fun part is that when you get orchestration right, you can often ship a system where a cheaper, \"weaker\" base model outperforms SOTA weights in practice. Not on a leaderboard, but where it actually matters to you:\n- Lower latency  \n- Fewer random failures in edge cases  \n- A nicer \"trust UX\" for users, where they understand what's going on and feel safe relying on it\n\nThe stack is starting to look less like \"call LLM, pray\" and more like a serious runtime. The model is becoming a component. The orchestration is becoming the product.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2003416550586614182"
    }
  },
  {
    "slug": "all-this-agents-vs-serverless-drama-is-basically",
    "path": "threads/2025/all-this-agents-vs-serverless-drama-is-basically.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/all-this-agents-vs-serverless-drama-is-basically.md",
    "title": "All this agents vs serverless drama is basically",
    "date": "2025-12-23T00:11:02.601Z",
    "excerpt": "All this \"agents vs serverless\" drama is basically us trying to cosplay long-running systems on top of 15 minute stateless functions.\n\nWe took Lambda, said \"what if this was a workflow engine,\" and then duct-taped retries, step functions, queues, and a JSON graveyard of state. It kinda worked. Until it really didn't.\n\nTools like Temporal made the underlying truth very obvious. The real primitive you want is replayable, stateful execution. Code that looks like a normal function, but can survive deploys, crashes, and weeks of waiting on some external event, then pick up exactly where it left off. Not a 27-node Step Functions diagram that no one wants to touch after the original author leaves.\n\nNow Lambda Durable Functions is basically AWS saying, \"yeah, okay, you weren't wrong.\" The question is: where does your durable state and execution model live? Everything else is just choreography around that choice.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2003257000302363038"
    }
  },
  {
    "slug": "openais-new-chainofthought-monitorability-eva",
    "path": "threads/2025/openais-new-chainofthought-monitorability-eva.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/openais-new-chainofthought-monitorability-eva.md",
    "title": "OpenAIs new chainofthought monitorability eva",
    "date": "2025-12-22T22:13:02.312Z",
    "excerpt": "OpenAI’s new chain-of-thought \"monitorability\" evals basically say: how much you can see inside a model's \"thoughts\" is not some fixed property of the model. It is a combo of:\n1. How good your monitoring tools are  \n2. How much test-time compute you are willing to spend\n\nInterpretability is starting to look less like \"we either can or can't see what the model is thinking\" and more like an ops and budgeting question. So this shifts the frame a bit. Safety is not just about picking the right model architecture or adding a few guardrails at the end. It is about:\n- Allocating enough compute to actually run monitoring at inference time  \n- Investing in better monitors instead of assuming CoT gives you transparency \"for free\"  \n- Treating \"how much we understand the model\" as a tunable parameter, not a constant\n\nSo now safety and interpretability are on the same board as latency and infra cost. You are not just scaling models. You are scaling how much you are willing to pay to watch what they are doing.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2003227303405408546"
    }
  },
  {
    "slug": "in-2016-i-spent-fifteen-minutes-redesigning-zomato",
    "path": "threads/2025/in-2016-i-spent-fifteen-minutes-redesigning-zomato.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/in-2016-i-spent-fifteen-minutes-redesigning-zomato.md",
    "title": "In 2016 I spent fifteen minutes redesigning Zomato",
    "date": "2025-12-22T10:45:02.349Z",
    "excerpt": "In 2016 I spent fifteen minutes redesigning Zomato's Android app and accidentally wrote an essay about it 🍽👇  \n\nBack then Android was deep in Material Design 1.0, everyone was slowly killing the navigation drawer, and Zomato was still mostly \"where should we eat tonight.\" My self-imposed brief was simple: get users from app open to \"I know where I'm eating\" in under a minute. That led to a bottom navigation focused on core tasks, search as the primary action, and restaurant lists as the default view instead of maps. Typography and iconography were stripped back to support hierarchy, not decoration.\n\nSome bets aged well, like treating interaction cost and slow networks as first-class constraints, and framing location permissions as a value trade rather than a data grab. Others did not. The photo-heavy cards looked great in 2016 but hurt information density, and custom UI made life harder across random Android OEM skins.\n\nLooking back, it feels like a small snapshot of how consumer apps keep realigning with platforms, user expectations, and business goals.\n\nhttps://anandchowdhary.com/blog/2017/zomato",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2003054162657816859"
    }
  },
  {
    "slug": "this-morning-i-went-through-the-facts-benchmark-wh",
    "path": "threads/2025/this-morning-i-went-through-the-facts-benchmark-wh.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/this-morning-i-went-through-the-facts-benchmark-wh.md",
    "title": "This morning I went through the FACTS benchmark wh",
    "date": "2025-12-21T10:46:01.879Z",
    "excerpt": "This morning I went through the FACTS benchmark where Gemini 3 Pro hits 68.8%. I see it like this: there's basically three personalities:\n\n1. GPT-style models: \"Move fast and answer things.\"\nHigh attempt rate, high error rate. They shoot their shot on almost everything, which looks impressive in a demo, until you realize how many confident wrong answers slip through.\n\n2. Claude-style models: \"If you don't say anything, you can't be wrong.\"\nLow attempt rate, low contradiction. Feels safer, but you're paying for it with a lot of \"I'm not sure\" when you actually needed an opinion.\n\n3. Multimodal: still below 50% factual.\nWe're acting like adding images is a cheat code, but the factual core is still shaky.\n\nMost of what we're doing today is fiddling with decision thresholds on top of a stochastic nonsense generator... turn the knob toward recall and you get spicy hallucinations, but turn it toward precision and your product goes quiet. But we haven't gotten to a model yet that's stable enough that these knobs behave like controls not bandaids.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2002692024898875900"
    }
  },
  {
    "slug": "mistral-ocr-3-is-basically-a-frontierlevel-docume",
    "path": "threads/2025/mistral-ocr-3-is-basically-a-frontierlevel-docume.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/mistral-ocr-3-is-basically-a-frontierlevel-docume.md",
    "title": "Mistral OCR 3 is basically a frontierlevel docume",
    "date": "2025-12-20T22:17:02.065Z",
    "excerpt": "Mistral OCR 3 is basically a frontier-level document VLM that happens to do OCR on the way.\n\nThe fun part is structure. It doesn't just dump text, it reconstructs layouts as HTML. Think tables, forms, columns, weirdly formatted PDFs from 2007, the whole thing. That means you can actually preserve semantics when you feed content into your RAG stack or agents, instead of giving them a flattened text blob and hoping for the best.\n\nPricing is around $1 per 1,000 pages, which is… kind of wild if it holds up at scale. If their claimed 74% win rate on messy scans generalizes beyond the benchmark set, this stops being yet another OCR and starts being the default preprocessing layer for:\n- RAG over enterprise document dumps\n- Workflow and back-office automation\n- Agents that need to reason over forms, invoices, contracts, etc.\n\nIf you're building infra for knowledge-heavy products, the stack basically becomes: Blob storage → Mistral OCR 3 (structured HTML) → embeddings / parsing → RAG / agents",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2002503533560836177"
    }
  },
  {
    "slug": "gpt52-now-hits-almost-phdlevel-performance-on-o",
    "path": "threads/2025/gpt52-now-hits-almost-phdlevel-performance-on-o.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/gpt52-now-hits-almost-phdlevel-performance-on-o.md",
    "title": "GPT52 now hits almost PhDlevel performance on o",
    "date": "2025-12-19T22:15:05.822Z",
    "excerpt": "GPT‑5.2 now hits almost PhD‑level performance on olympiad physics, chem, and bio. On paper, it looks like the perfect grad student. Then you give it open‑ended research tasks and it faceplants to around 25% success as per FrontierScience. So it is more like a very confident undergrad who read the slides but never ran an experiment.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2002140645839016417"
    }
  },
  {
    "slug": "i-got-early-access-to-gpt52codex-its-incredib",
    "path": "threads/2025/i-got-early-access-to-gpt52codex-its-incredib.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/i-got-early-access-to-gpt52codex-its-incredib.md",
    "title": "I got early access to GPT52Codex Its incredib",
    "date": "2025-12-19T10:41:02.953Z",
    "excerpt": "I got early access to GPT‑5.2‑Codex. It's incredible - @OpenAI is shipping an LLM + tools stack that can think at repo scale without forgetting what it decided 20 files ago.\n\n1. Long‑horizon planning: With context compaction and all the SWE‑Bench Pro / Terminal‑Bench 2.0 state‑of‑the‑art flexing, it can actually hold and execute a multi‑step plan across a real codebase. Not \"fix this function,\" more \"refactor this service and wire everything back up.\"\n\n2. Tool‑centric workflow: It is clearly designed to live inside your dev tooling and CI, not just a chat box. Think LLM as the brains on top of your repo, shell, tests, and deployment pipeline.\n\n3. Governance as product surface: The high‑end cyber / dual‑use bits are being wrapped in trusted‑access and policy. That means frontier coding is doubling as a governance sandbox. The \"real\" model is gated, and access is an API product plus a compliance conversation.\n\nOpenAI is testing what happens when you give a machine a whole codebase, a toolbox, and some guardrails, then ask it to ship.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2001965995041456435"
    }
  },
  {
    "slug": "disney-paying-1b-over-3-years-for-sora-feels-like",
    "path": "threads/2025/disney-paying-1b-over-3-years-for-sora-feels-like.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/disney-paying-1b-over-3-years-for-sora-feels-like.md",
    "title": "Disney paying 1B over 3 years for Sora feels like",
    "date": "2025-12-18T22:14:02.163Z",
    "excerpt": "Disney paying $1B over 3 years for Sora feels like the moment frontier video models stop being toys and start being infrastructure. This is the first real test of what happens when a frontier model gets:\n- A blue‑chip IP firehose (Disney's entire universe of characters and worlds)\n- Studio‑grade guardrails\n- Contractual obligations that look a lot like DRM, but for generative outputs\n\nIn practice, Disney is turning OpenAI's safety stack into a rights enforcement layer. The model is no longer only aligned to human values but also to their legal department.\n\nThat means:\n- The model \"knows\" what you are allowed to generate and under what terms\n- Fanfic becomes a product category instead of a legal grey zone\n- Everything outside the licensed playground is quietly refused or never trained in\n\nFor founders, this is the pattern to watch. The real moat is not only model quality. It is distribution of rights‑clean data plus enforcement baked into the stack. We are basically moving from \"can the model do this?\" to \"is the model allowed to do this, and for whom?\" Potentially scary stuff.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2001778002397720647"
    }
  },
  {
    "slug": "found-this-line-in-my-notes-from-october-2017-pl",
    "path": "threads/2025/found-this-line-in-my-notes-from-october-2017-pl.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/found-this-line-in-my-notes-from-october-2017-pl.md",
    "title": "Found this line in my notes from October 2017 Pl",
    "date": "2025-12-18T10:42:03.439Z",
    "excerpt": "Found this line in my notes from October 2017: \"Places on MWLII: List co-working places.\" In 2025, I added a comment to decode it: I wanted a coworking listing site for founders in India. Back then it felt like a tiny side project I could hack together over a weekend 💡👇\n\nIn 2017, coworking in India was exploding. WeWork was noisy, local brands were opening new centers every month, and every founder doing the Bangalore–Delhi–Mumbai loop had the same question: \"Where do I work from for a week?\" The obvious solution looked like a simple directory. List spaces, add filters, done.\n\nBut over time, discovery moved from static websites to networks. Answers to \"Where should I work from in Koramangala?\" now live in WhatsApp groups, X threads, private founder circles. What people really wanted was not a map of desks. They wanted social proof, warm intros, and trusted access.\n\nThat is the trap with \"just a directory\" ideas. The durable value is almost always in coordination, reputation, and access layered on top of the list. If I wrote this note today, I'd probably start from the trust graph, not the spreadsheet.\n\nHere's the original note from 2017: https://github.com/AnandChowdhary/notes/blob/main/notes/2017/places-on-mwlii.md",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2001603861182845256"
    }
  },
  {
    "slug": "nvidia-buying-schedmds-a-pretty-big-move-cuda-wa",
    "path": "threads/2025/nvidia-buying-schedmds-a-pretty-big-move-cuda-wa.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/nvidia-buying-schedmds-a-pretty-big-move-cuda-wa.md",
    "title": "NVIDIA buying SchedMDs a pretty big move CUDA wa",
    "date": "2025-12-18T00:17:05.134Z",
    "excerpt": "NVIDIA buying SchedMD's a pretty big move. CUDA was already the default how-you-talk-to-GPUs layer, now NVIDIA owns the thing that decides which job runs where and when on a ton of HPC/AI clusters. They don't just own the accelerator API, they now own the default control plane 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2001446569938502005"
    }
  },
  {
    "slug": "gptimage15-topping-all-the-leaderboards-smells",
    "path": "threads/2025/gptimage15-topping-all-the-leaderboards-smells.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/gptimage15-topping-all-the-leaderboards-smells.md",
    "title": "GPTImage15 topping all the leaderboards smells",
    "date": "2025-12-17T14:49:06.512Z",
    "excerpt": "GPT‑Image‑1.5 topping all the leaderboards smells a lot like our current \"generalist\" image benchmarks are overfitting to what is easy to measure. Things like text fidelity, prompt literalism, and pairwise \"vibe\" comparisons.\n\nBasically: does it look like what the prompt said, and will a crowd worker click left or right.\n\nI don't think that's how real workflows look. Actual creators care about boring, painful stuff like:\n- Editing the same asset 20 times without it drifting\n- Subject and style consistency across a whole campaign\n- Production‑ready aesthetics that survive compression, crops, and a grumpy art director\n\nRight now, our evals are quietly converging on what we can score with a simple rubric or a quick model call. Not on what professionals optimize for when money and deadlines are involved.\n\nMy cofounder @carlobadini is a lot more into image & video models than I am, but if I were building in this space I'd treat public leaderboards as unit tests. Pass them, sure. But then design your own evals around the ugly edge cases from real user projects. That is where the moat lives.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2001303645753860099"
    }
  },
  {
    "slug": "googles-new-interactions-api-tries-to-change-how",
    "path": "threads/2025/googles-new-interactions-api-tries-to-change-how.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/googles-new-interactions-api-tries-to-change-how.md",
    "title": "Googles new Interactions API tries to change how",
    "date": "2025-12-17T06:41:02.288Z",
    "excerpt": "Google's new Interactions API tries to change how we should think about LLMs. Instead of \"send a prompt, get a completion, stateless forever,\" you now get long‑lived, server‑side agents that keep state over time, can run things in the background, and plug into tools via MCP. In human terms, it is less \"one‑shot autocomplete\" and more \"remote worker that never forgets your Notion doc.\"\n\nThe interesting bit is that these agents can amortize heavy work. Multi‑minute deep search or multi‑step workflows no longer need to fit inside a single request. You have an interaction ID, the agent keeps chipping away in the background, and you just come back for updates. Feels more like a mini backend process than a typical chat session.\n\nThis blurs the line between \"model\" and \"orchestrator.\" The orchestration layer is now part of the platform, not just your glue code. As a founder, the bottleneck shifts from \"which model has more params\" to \"how do I design agentic compute, state, and tooling around it.\" It's what the Responses API should have been. So now you don't have to think about system design, state management, and scheduling for these always‑on agents. So we're back to building distributed systems, just with LLMs stapled to them.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2001180818883153947"
    }
  },
  {
    "slug": "the-new-googlemit-agent-scaling-laws-paper-is-a",
    "path": "threads/2025/the-new-googlemit-agent-scaling-laws-paper-is-a.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/the-new-googlemit-agent-scaling-laws-paper-is-a.md",
    "title": "The new GoogleMIT agent scaling laws paper is a",
    "date": "2025-12-17T00:17:02.361Z",
    "excerpt": "The new Google/MIT \"agent scaling laws\" paper is a nice reality check for multi-agent hype.\n\nIf you're a technical founder thinking \"we'll just throw more agents at it\", the data is… not on your side. Once a single agent gets past roughly 45% accuracy on a task, adding more agents mostly adds two things:\n- Coordination tax  \n- A lovely 17.2× error amplification effect\n\nIn other words, if your base agent is mid, your swarm will be extremely mid. Just more expensively.\n\nThe interesting bit is where the real gains came from. They saw +80.9% performance not by cranking up the number of agents, but by changing how the task was structured and decomposed. Architecture and task design beat agent-count bravado.\n\nSo if you're building an AI product, the takeaway is pretty familiar from engineering in general:\n- Fix the core loop before scaling  \n- Spend more time on decomposition and interfaces  \n- Treat \"multi-agent\" as an architectural tool, not a growth hack\n\n\"Just add more agents\" is the new \"we'll just microservice it later.\"",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2001084182370652664"
    }
  },
  {
    "slug": "ive-been-looking-for-better-ways-to-give-agents",
    "path": "threads/2025/ive-been-looking-for-better-ways-to-give-agents.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/ive-been-looking-for-better-ways-to-give-agents.md",
    "title": "Ive been looking for better ways to give agents",
    "date": "2025-12-16T22:15:03.240Z",
    "excerpt": "I've been looking for better ways to give agents \"real\" context from the tools we actually use, and @airweave_ai is one of the more thoughtful takes on this I've seen.\n\nI hung out with the founding team last week and learned that the idea is simple but powerful. Instead of wiring your agent into every app separately (Notion, GitHub, Airtable, Postgres, Dropbox, and friends), you plug those apps into Airweave. It turns everything into a searchable knowledge base that agents can access over a standard interface.\n\nWhat I like is that it is not just a thin wrapper around a vector database. It handles auth, pulling data from third party tools, embedding, chunking, back-syncs, custom conditions, real time... the works, and then serving it via REST or as an MCP server.\n\nIf you are building MCP based agents, Airweave basically becomes the backend that lets them \"search any app\". You can run it via Docker, get a dashboard, and use the Python or TypeScript SDKs to query your data like one big graph. For anyone building support copilots, internal agent tools, or workflow bots, this feels like the kind of boring-but-important infra you want to reuse instead of rebuilding every time.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2001053483412431323"
    }
  },
  {
    "slug": "tanstack-ai-feels-like-the-thing-i-kept-halfbuild",
    "path": "threads/2025/tanstack-ai-feels-like-the-thing-i-kept-halfbuild.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/tanstack-ai-feels-like-the-thing-i-kept-halfbuild.md",
    "title": "TanStack AI feels like the thing I kept halfbuild",
    "date": "2025-12-16T16:13:03.815Z",
    "excerpt": "TanStack AI feels like the thing I kept half‑building in side projects and never quite finished. A single, type‑safe SDK that sits between your app and whatever AI provider you want to play with this week decoupled from a single provider like OpenAI or Vercel.\n\nSir @TannerLinsley was kind enough to share the story with me when we hung out at GitHub Universe, and what I really like is how provider agnostic it is. You can plug in OpenAI, Anthropic, Gemini, Ollama, etc., without rewriting parts of your app every time someone launches a shiny new model. It also treats multimodal as a first‑class citizen, so text, images, audio, video, and documents all go through the same mental model. That's super nice if you're doing anything with vision or document-heavy workflows.\n\nThe TypeScript story is strong too. Chat, streaming, even agent-style loops are exposed through a clean, typed API. The TanStack Start integration is especially cool: define something like a getProducts function once and you get both an AI tool and a server function, no duplicate schemas or extra endpoints.\n\nEven if you are on Next.js, Remix, or a simple Express backend, this looks like a solid foundation for building AI features without getting locked into one provider.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2000962385721667670"
    }
  },
  {
    "slug": "the-arcagi-leak-sounds-like-another-benchmark-d",
    "path": "threads/2025/the-arcagi-leak-sounds-like-another-benchmark-d.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/the-arcagi-leak-sounds-like-another-benchmark-d.md",
    "title": "The ARCAGI leak sounds like another benchmark d",
    "date": "2025-12-16T10:48:02.247Z",
    "excerpt": "The ARC‑AGI \"leak\" sounds like another benchmark drama, but it is really a boring infrastructure story dressed up as AGI discourse.\n\nIf ARC‑AGI‑1 tasks quietly sneak into training data for models later bragging about ARC‑AGI‑2 scores, your \"AGI progress\" chart is basically just a contamination graph. You are not measuring general intelligence. You are measuring how good everyone is at losing track of their data.\n\nAs a technical founder, imagine shipping a product where:\n- Your test suite is in your training set\n- Your CI logs are not reproducible\n- No one can tell you exactly which data produced which metric\n\nYou would not trust those numbers for a second. Yet that is roughly the current state of a lot of public AI benchmarks.\n\nThe fix is boring but important:\n- Freeze public evals out of training datasets\n- Treat data lineage like you treat money flows, with hard traceability\n- Publish eval pipelines that other people can actually audit and rerun\n\nUntil this is standard, every shiny new SOTA on a public benchmark is less \"wow, it is smarter now\" and more \"hmm, what leaked this time?\"",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2000880590401442198"
    }
  },
  {
    "slug": "metas-new-saber-model-is-interesting-but-not-for",
    "path": "threads/2025/metas-new-saber-model-is-interesting-but-not-for.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/metas-new-saber-model-is-interesting-but-not-for.md",
    "title": "Metas new Saber model is interesting but not for",
    "date": "2025-12-16T00:14:02.191Z",
    "excerpt": "Meta's new Saber model is interesting, but not for the flashy demos you're seeing on X.\n\nThe clever bit is the training signal. Instead of needing clean reference clips of a person, Saber treats masked frames inside regular internet video as \"pseudo reference images\". It then learns how to go from \"reference\" to full video using plain old video plus text pairs.\n\nSo if you scale data, you automatically scale the model's ability to do likeness transfer. You do not need special labeled datasets, extra identity heads, or a separate \"personalization\" mode. That behavior just quietly emerges as a side effect of training.\n\nTranslated to founder-speak:\n- Any large text-to-video model that uses this recipe will likely get deepfake-level identity control \"for free\"\n- Personalization stops being a premium feature and starts becoming a default property of big video models\n- The line between \"general video generation\" and \"high‑fidelity face swap\" gets very, very thin\n\nGreat for product ideas. Slightly terrifying for abuse surfaces, policy, and infra you will now have to build whether you want to or not.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2000721038821536002"
    }
  },
  {
    "slug": "in-early-2017-i-finally-admitted-an-awkward-truth",
    "path": "threads/2025/in-early-2017-i-finally-admitted-an-awkward-truth.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/in-early-2017-i-finally-admitted-an-awkward-truth.md",
    "title": "In early 2017 I finally admitted an awkward truth",
    "date": "2025-12-15T22:11:02.294Z",
    "excerpt": "In early 2017, I finally admitted an awkward truth: I'd dropped out of a respected Indian design school and, almost by accident, ended up building an accessibility startup instead. College stopped being \"the default next step\" and turned into just one of several levers I could pull 🎓👇\n\nTheir foundation year was rooted in art practice, while I was obsessed with design as systems, products, and technology. After two months, dropping out felt less like failure and more like aligning with what I actually wanted to build. Back in Delhi, Oswald Foundation started working in the real world. We won Startup India Rocks! 2016, got users, and it suddenly felt serious. So when I applied to places like RMIT, Glasgow, CCA, UQ, and the University of Twente, it was as a hedge rather than script.\n\nThat long admit list became a snapshot of one fork in my career graph. In August 2017 I picked Creative Technology at Twente, which, looking back from 2025, didn't replace the startup path. It made it sharper.\n\nFull story: https://anandchowdhary.com/blog/2017/college",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2000690085260615791"
    }
  },
  {
    "slug": "looking-back-at-uppload-in-2018-add-an-image-upl",
    "path": "threads/2025/looking-back-at-uppload-in-2018-add-an-image-upl.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/looking-back-at-uppload-in-2018-add-an-image-upl.md",
    "title": "Looking back at Uppload in 2018 add an image upl",
    "date": "2025-12-15T14:44:02.815Z",
    "excerpt": "Looking back at Uppload in 2018, \"add an image uploader\" sounded trivial, but in practice it was chaos. Every app wanted the same thing: pick a photo from anywhere, tweak it a bit, send it to yet another custom backend. The options were clunky jQuery widgets tied to one service or hand-rolled hacks around file inputs and canvas. 📁👇\n\nUppload's idea was to turn this into a front-end pipeline. \"Services\" handled where images came from (local files, camera, Unsplash, Instagram). \"Effects\" handled what you did to them (crop, rotate, filters). \"Uploaders\" handled where they went (XHR, Firebase, custom endpoints). No backend assumptions, just a last-mile hook you controlled.\n\nThe TypeScript rewrite, plugin system, and a‑la‑carte bundling aged pretty well. The mental model still makes sense, and tree-shaking plugins is now standard practice. The rougher bits were wide browser support and maintaining lots of third-party integrations, which is a full-time job on its own.\n\nIf I built it today, I'd ship headless primitives and framework-first components, add a thin modal on top, lean on modern browser APIs, and keep \"import from X\" as community extensions.\n\nUppload on GitHub: https://github.com/elninotech/uppload",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/2000577595948294304"
    }
  },
  {
    "slug": "mcp-agentsmd-are-now-sitting-under-linux-found",
    "path": "threads/2025/mcp-agentsmd-are-now-sitting-under-linux-found.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/mcp-agentsmd-are-now-sitting-under-linux-found.md",
    "title": "MCP  AGENTSmd are now sitting under Linux Found",
    "date": "2025-12-10T16:18:02.926Z",
    "excerpt": "MCP + AGENTS\\.md are now sitting under Linux Foundation governance and, together, they are starting to look a lot like \"TCP/IP + POSIX for LLMs\".\n\nIf this coalition holds, a few big things could happen:\n- IDEs, CLIs, and internal platforms might all plug into the same agent substrate instead of every vendor inventing Yet Another Integration Layer.\n- \"Bring your own model, bring your own infra\" becomes more realistic, because the contract between agent ↔ tools/data is stable.\n- Enterprise stacks get less about wiring and orchestration glue and more about actual logic and UX. Less yak-shaving, more shipping.\n\nThe boring governance detail is actually the punchline. Linux Foundation stewardship makes it much harder for any single vendor to hijack the standard, and much easier for infra, devtool, and SaaS players to align on one protocol instead of ten incompatible ones.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998789313157640615"
    }
  },
  {
    "slug": "found-this-in-my-2017-notes-chromevox-light-ba",
    "path": "threads/2025/found-this-in-my-2017-notes-chromevox-light-ba.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/found-this-in-my-2017-notes-chromevox-light-ba.md",
    "title": "Found this in my 2017 notes ChromeVox light Ba",
    "date": "2025-12-10T14:44:02.425Z",
    "excerpt": "Found this in my 2017 notes: \"ChromeVox light.\" Back then at Oswald Labs, I hacked together a JavaScript screen reader inspired by Google's ChromeVox, something you could embed directly into any website 🧪👇\n\nIn 2017, this felt a bit rebellious. Screen readers were OS-level tools. The story for developers was simple. Use semantic HTML, sprinkle in ARIA, and trust assistive tech to handle the rest. I wanted to flip that. What if the site shipped its own assistive layer so users did not need to install anything?\n\nThe tech was fun and fragile at the same time. JavaScript walked the DOM, guessed landmarks, listened for keyboard shortcuts, and spoke via the Web Speech API. But it sat in the messiest layer, fighting other scripts and layouts, and it subtly broke consistency. Every site could now \"feel\" like a different screen reader.\n\nLooking at it in 2025, I still like the instinct but I trust the boring path more. Shared semantics, platform APIs, and users choosing their own tools age better than clever overlays. Page-level readers are still interesting experiments. A web that does not need them is the actual target.\n\nHere's the original note from 2017: https://github.com/AnandChowdhary/notes/blob/main/notes/2017/chrome-vox-light.md",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998765655265522005"
    }
  },
  {
    "slug": "in-one-year-multistep-reasoning-models-went-fr",
    "path": "threads/2025/in-one-year-multistep-reasoning-models-went-fr.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/in-one-year-multistep-reasoning-models-went-fr.md",
    "title": "In one year multistep reasoning models went fr",
    "date": "2025-12-10T06:44:01.953Z",
    "excerpt": "In one year, multi-step “reasoning” models went from rounding error to more than half of all tokens. So the average production workload is no longer “chat” with a side of reasoning. It is reasoning, with some chat wrapped around it so humans don’t run away.\n\nIf you are a founder, this quietly flips the frontier. The hard problems now look like:\n- Making long chains of thought reliable instead of occasionally deranged  \n- Controlling behavior over 50–500 step traces, not just prompt + 2 turns  \n- Getting CoT cost under control so your margin is not “we pray Anthropic drops prices”  \n\nLatency and fluency still matter, but they are starting to look like solved or solvable problems. The new bottleneck is “can I trust this model to think for 30 seconds without wandering off a cliff, and can I afford it if it works?” OpenRouter’s 100T-token study is great to read more about this.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998644857276084502"
    }
  },
  {
    "slug": "stumbled-on-readykit-and-its-the-exact-same-idea",
    "path": "threads/2025/stumbled-on-readykit-and-its-the-exact-same-idea.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/stumbled-on-readykit-and-its-the-exact-same-idea.md",
    "title": "Stumbled on ReadyKit and its the exact same idea",
    "date": "2025-12-10T00:12:02.424Z",
    "excerpt": "Stumbled on ReadyKit and it’s the exact same idea I’ve had for years. Every time I start a SaaS, I end up rebuilding the same pile of stuff again and again. Workspaces, permissions, billing, OAuth, background jobs, Docker. You know, all the “boring but if you mess it up, everything breaks” parts. I built Staart around 7 years ago to solve this problem but never took it forward.\n\nReadyKit is basically a serious Flask SaaS starter that actually leans into that problem. Out of the box you get multi-tenant workspaces, Stripe billing, Google/GitHub login, teams with roles, and a modern stack with Flask 3.1, Vue 3, Vuetify, Postgres, Redis, Celery, and Nginx.\n\nMy favorite idea in here is how multi-tenancy is handled. Solo users never have to think about workspaces, they just sign in and use the app. Teams appear only when you need them, but the tenant boundaries are still there in the data model. Very indie-maker friendly.\n\nIf you like Flask and want to skip infrastructure yak-shaving, this looks like a pretty solid base to start from:\nhttps://github.com/level09/readykit",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998546209267659069"
    }
  },
  {
    "slug": "i-got-a-password-reset-email-from-prcom-and-they",
    "path": "threads/2025/i-got-a-password-reset-email-from-prcom-and-they.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/i-got-a-password-reset-email-from-prcom-and-they.md",
    "title": "I got a password reset email from PRcom and they",
    "date": "2025-12-09T22:15:03.328Z",
    "excerpt": "I got a password reset email from @PRcom and they literally sent my password back to me in plain text, even MD5 almost looked “secure by comparison” 🔐👇\n\nSo I wrote a blog post in 2017. My original point was simple: Storing cleartext passwords is terrible. Even a flawed hash like MD5 is better than nothing, especially if you use long, non‑dictionary passwords and add a salt so attackers cannot rely on rainbow tables. MD5 has collisions and should never be used for things like TLS or signatures, but for basic password storage it still beats plain text.\n\nThat logic still holds in a narrow sense, but in 2025 it is not enough. Modern attackers use GPUs and cheap cloud compute to try billions of MD5 guesses per second. This is why the default today is slow, memory‑hard algorithms like bcrypt, scrypt, Argon2, or at least PBKDF2. So yes, MD5 is better than plaintext, but it is no longer a responsible default.\n\nOriginal post: https://anandchowdhary.com/blog/2017/md5",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998516768902726109"
    }
  },
  {
    "slug": "this-weeks-agent-tooling-vs-safety-news-feels-l",
    "path": "threads/2025/this-weeks-agent-tooling-vs-safety-news-feels-l.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/this-weeks-agent-tooling-vs-safety-news-feels-l.md",
    "title": "This weeks agent tooling vs safety news feels l",
    "date": "2025-12-09T16:16:03.727Z",
    "excerpt": "This week’s “agent tooling vs safety” news feels like watching the same architecture independently emerge from 3 different codebases.\n\nLangSmith, LlamaAgents, and HF Skills are all drifting toward declarative, composable agent specs. At the same time, BrowseSafe quietly shows that narrow, domain-specific safety fine-tunes can beat big generic classifiers.\n\nPut together, it’s a pretty strong hint for founders: secure, tool-using agents probably won’t be “one giant god model with vibes,” but vertically specialized stacks with clear contracts, typed tools, and domain-tuned safety wrapped around them. Less magic, more systems design. Which is honestly where the fun is.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998426425402241500"
    }
  },
  {
    "slug": "my-friends-at-mistral-quietly-nerfed-the-open-vs",
    "path": "threads/2025/my-friends-at-mistral-quietly-nerfed-the-open-vs.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/my-friends-at-mistral-quietly-nerfed-the-open-vs.md",
    "title": "My friends at Mistral quietly nerfed the open vs",
    "date": "2025-12-09T10:48:02.436Z",
    "excerpt": "My friends at Mistral quietly nerfed the “open vs good” tradeoff with Large 3. You get a 675B MoE w/ 256k context, full multimodal, Apache-2.0, and NVFP4 checkpoints that actually fit on a single 8×H100 box.\n\nIn other words, frontier-ish performance without a datacenter that looks like an airport.\n\nMeanwhile, Ministral 3B / 8B / 14B push real vision + reasoning to edge hardware, not just “runs on a laptop if you like 3 tokens per minute”. If you had written Mistral off, maybe it’s time for a second look.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998343876072063171"
    }
  },
  {
    "slug": "found-this-note-from-october-2017-amy-for-follow",
    "path": "threads/2025/found-this-note-from-october-2017-amy-for-follow.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/found-this-note-from-october-2017-amy-for-follow.md",
    "title": "Found this note from October 2017 Amy for follow",
    "date": "2025-12-09T00:17:02.721Z",
    "excerpt": "Found this note from October 2017: “Amy for following up and introductions, personal assistant with invisible AI.”\n\nAt the time, Amy (from a different company called x.ai) lived in your inbox as a seemingly human assistant who quietly handled meeting scheduling. What I really meant was: what if you took that same “invisible AI” pattern and pointed it at where the money actually is in email, which is automated follow‑ups and intros, not just picking a time on a calendar 💌👇\n\nIn 2017, “AI assistant” mostly meant email scheduling and basic productivity. Amy would copy‑paste time slots, resolve conflicts, and keep the thread going, all while pretending to be a human assistant. The magic was that you never “used a tool,” you just CC’d a person and things happened. It felt like the closest thing to a real assistant you could get without hiring someone, even if it broke in all the predictable ways when context got messy or people replied in creative ways.\n\nSales tools in 2017 lived in a different world. You had CRMs, outreach sequencers, template libraries, open‑tracking, and all that, but they were obviously “software.” You logged in, clicked buttons, exported CSVs. None of them felt like an assistant you could just CC. My note was basically asking: why isn’t there an Amy that lives in my inbox and says, “Great, I’ll follow up with them in 3 days,” or “I’ll introduce you to three more people like this,” and then just does it?\n\nFast forward to 2025 and the landscape looks different. Invisible AI is still the right instinct, but it shows up in more opinionated ways. Superhuman is a good example. It is not pretending to be a human, but it quietly owns the follow‑up layer of your life. You hit a couple of keyboard shortcuts and suddenly every important thread boomerangs back at exactly the right time. You become the person who “never drops the ball,” even though it is really your email client running a very strict follow‑up schedule behind the scenes.\n\nWith FirstQuadrant, we took that 2017 idea and leaned into the sales side even more. Instead of just “remind me,” it is closer to “own the pipeline.” The assistant figures out who to follow up with, when, with what kind of message, and in which channel. You still stay in the loop on the high‑judgment parts, like crafting a sensitive intro or handling a tricky negotiation, but the machine owns the boring repetition. That is the invisible part. It is not constantly asking you what to do. It is proposing concrete next actions and, in many cases, just doing them.\n\nThe economics became clearer over time. Scheduling is valuable, but it is mostly about saving cognitive load and avoiding back‑and‑forth. Great, but you are not directly printing money. Follow‑ups and introductions, on the other hand, turn into revenue. If you close even one extra deal a month because your assistant never forgets that one critical email, the ROI is orders of magnitude higher. That is why the gravity shifted away from “AI for your calendar” to “AI for your pipeline.”\n\nComparing Amy to Superhuman and FirstQuadrant, a few patterns stand out:\n• Amy tried to look like a human and hide the AI entirely. Super impressive for the time, but also fragile.  \n• Superhuman leans into being a power tool. It is transparent, fast, and honest about what it does, while still feeling invisible in day‑to‑day use. You do not think “I am using AI” every time it saves you.  \n• FirstQuadrant pushes toward an agent that makes decisions inside your workflow, but with enough structure, guardrails, and context from CRM and email that it does not need hand‑holding on every step.\n\nIf I zoom out, a few general lessons about where AI assistants actually win:\n• They win where the work is repetitive but the stakes are high, like outbound sales or investor updates.  \n• They win when they can sit on top of existing behavior, like email, instead of asking you to adopt a brand new ritual.  \n• They lose when they over‑promise “general intelligence” without access to the right data, structure, and feedback loops.  \n• They lose when they try to replace human judgment in delicate social situations, instead of narrowing the scope to things that can be templated, scheduled, or ranked.\n\nSo the 2017 note was not just about “Amy, but for something else.” It was quietly pointing at a shift from productivity AI to revenue AI. From “help me find a meeting time” to “help me not lose revenue because I forgot to follow up.” And looking back from 2025, that evolution feels pretty natural. The assistant that finds you 3 extra hours a week is nice. The one that finds you 3 extra deals a month is a no‑brainer.\n\nHere’s the original note from 2017: https://github.com/AnandChowdhary/notes/blob/main/notes/2017/amy-for-following.md",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998185080737722768"
    }
  },
  {
    "slug": "anthropic-buying-bun-is-like-a-third-order-consequ",
    "path": "threads/2025/anthropic-buying-bun-is-like-a-third-order-consequ.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/anthropic-buying-bun-is-like-a-third-order-consequ.md",
    "title": "Anthropic buying Bun is like a third order consequ",
    "date": "2025-12-08T22:12:02.990Z",
    "excerpt": "Anthropic buying Bun is like a third order consequence that I couldn’t have predicted when Bun was founded. Anthropic is quietly buying the bottom of the stack for AI dev tools. If your coding agent compiles to a runtime you own, you own:\n- Latency knobs\n- Stability guarantees\n- DX ergonomics\nThat is very different from Copilot or Cursor, which still have to play nice with generic runtimes. This is “vertical integration of the agent loop” in practice. If AI agents are the new IDE, Bun is Anthropic buying the kernel.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998153624690864567"
    }
  },
  {
    "slug": "in-2016-i-wrote-machine-learning-in-6-lines-abou",
    "path": "threads/2025/in-2016-i-wrote-machine-learning-in-6-lines-abou.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/in-2016-i-wrote-machine-learning-in-6-lines-abou.md",
    "title": "In 2016 I wrote Machine Learning in 6 Lines abou",
    "date": "2025-12-08T14:44:04.258Z",
    "excerpt": "In 2016 I wrote “Machine Learning in 6 Lines” about a blind-friendly phone UI that guessed who you wanted to call using a tiny decision tree on call times. It was delightfully naive and very direct: six lines of Python, a few timestamps, and suddenly your phone felt a bit smarter 📞👇\n\nBack then, the mental model was simple. Your history holds patterns like “Doctor at noon, Mom at night,” and even a tiny supervised model can surface them. For accessibility, this matters a lot. One big “Call Doctor” button at the right moment can remove serious friction.\n\nLooking at it from 2025, the skeleton still makes sense. Tabular features, a DecisionTreeClassifier, and plans to plug in location or date. What I didn’t think about enough was everything around it. Noisy labels. Changing routines. Overfitting to last week. Sensitive relationship patterns on shared devices.\n\nToday I’d think about on-device learning, privacy, evaluation, and probably use boosted trees. But the core idea holds up. You don’t need deep learning to make an interface kinder.\n\nThe real question now is: what’s the smallest, safest model that actually improves someone’s day?\n\nhttps://anandchowdhary.com/blog/2016/machine-learning-in-6-lines",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1998040887037923422"
    }
  },
  {
    "slug": "hyprnote-has-been-on-my-radar-since-their-time-in",
    "path": "threads/2025/hyprnote-has-been-on-my-radar-since-their-time-in.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/hyprnote-has-been-on-my-radar-since-their-time-in.md",
    "title": "Hyprnote has been on my radar since their time in",
    "date": "2025-12-08T10:44:02.011Z",
    "excerpt": "Hyprnote has been on my radar since their time in YC S25 as “that local-first meeting notes thing,” and I finally took a closer look today. It immediately hit a nerve I’ve had with AI note tools for years. I love the idea of getting help with meetings. I really don’t love bots joining every Zoom call or my audio being streamed to some mystery server “for quality purposes”.\n\n@tryhyprnote leans into that tension in a pretty honest way. It calls itself a local-first AI notepad for private meetings, and the “private” bit is not just a tagline. There are no meeting bots and no calendar guests. It just listens directly to the audio going in and out of your computer, gives you a realtime transcript, and lets you stay in the conversation instead of turning into a court reporter.\n\nYou still have a simple notepad to jot quick memos during the call. Those act more like hints than homework. After the meeting, Hyprnote can use your memos to shape a personalized summary, but that part is optional. If you forget to take notes altogether, it can still generate a recap from the transcript.\n\nThe tech stack is pretty nice if you are into that sort of thing. TypeScript and React on the UI, Rust and Tauri for the desktop app. The cool part is what that enables. You can run the whole thing offline with LM Studio or Ollama. No Wi‑Fi, no outbound requests. That makes it genuinely interesting for teams that care a lot about compliance or even air‑gapped environments. And if you do want cloud models, it does the “bring your own LLM” thing with Gemini, Claude, Azure‑hosted GPT, etc., so it can fit into whatever your company’s approved stack is.\n\nIf you have been waiting for an AI meeting assistant that behaves like a real desktop app and respects the fact that you might not want to ship your raw meeting audio to the cloud, Hyprnote is worth a look: https://github.com/fastrepl/hyprnote",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1997980479698723119"
    }
  },
  {
    "slug": "genai-video-is-splitting-into-two-very-different",
    "path": "threads/2025/genai-video-is-splitting-into-two-very-different.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/genai-video-is-splitting-into-two-very-different.md",
    "title": "GenAI video is splitting into two very different",
    "date": "2025-12-08T06:46:01.740Z",
    "excerpt": "Gen‑AI video is splitting into two very different bets in my read:\n\nKling 2.6: says \"Make the whole thing for me\". E2E audio + video, lip‑sync, ambience, dialogue, longer avatar shots. Basically prompt to finished clip.\n\nRunway Gen‑4.5 asks you to direct. Tight control, consistent style, more believable physics, better for teams that already have pipelines and just want a smarter engine.\n\nWhichever approach wins is less likely to be the coolest demo on X and more likely to be the boring but critical orchestration layer that your production stack quietly depends on. When in doubt, use @KoyalAI.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1997920583758365055"
    }
  },
  {
    "slug": "i-got-early-access-to-gpt51codexmax-its-basi",
    "path": "threads/2025/i-got-early-access-to-gpt51codexmax-its-basi.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/i-got-early-access-to-gpt51codexmax-its-basi.md",
    "title": "I got early access to GPT51CodexMax Its basi",
    "date": "2025-12-07T16:18:01.614Z",
    "excerpt": "I got early access to GPT‑5.1-Codex-Max. It's basically \"here’s an engineer that doesn’t get tired for 6 hours\".\n\nCompared to DeepSeek V3.2, Mistral Large 3, Qwen FP8‑RL, and HF Skills which are turning high‑end coding + tools into something you can swap in and out like NPM packages.\n\nThe interesting bit for us as founders: the power is drifting away from whoever owns the biggest model weights and toward whoever owns the orchestration layer, workflows, and infra glue. In other words, the moat is looking less like \"we fine‑tuned a beast\" and more like \"we own the compiler for autonomous dev teams\".",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1997702144083050669"
    }
  },
  {
    "slug": "another-pretty-loud-signal-that-just-scale-the-ba",
    "path": "threads/2025/another-pretty-loud-signal-that-just-scale-the-ba.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/another-pretty-loud-signal-that-just-scale-the-ba.md",
    "title": "Another pretty loud signal that just scale the ba",
    "date": "2025-12-07T10:42:02.155Z",
    "excerpt": "Another pretty loud signal that \"just scale the base model\" is plateauing and the real action is:\n1. Architected search at inference time\n2. Learned long‑term memory that is actually affordable\n\nIn other words, the meta‑model around the model is starting to matter more than the model size itself. Gemini 3 Deep Think is running parallel hypotheses, specialized \"contest mode\" variants, tool use, etc., and just brute‑forced ARC‑AGI‑2 to 45.1%. Not magic, just a lot of structured thinking wired into the stack.\n\nTitans goes after the other missing piece. Think >2M token neural memory that behaves like MIRAS or an RNN in cost but feels like a transformer in fidelity. So you get long‑term memory without selling your GPU farm on eBay.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1997617589074481623"
    }
  },
  {
    "slug": "trust-in-indian-tutor-marketplaces",
    "path": "threads/2025/trust-in-indian-tutor-marketplaces.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/trust-in-indian-tutor-marketplaces.md",
    "title": "Trust in Indian tutor marketplaces",
    "date": "2025-11-10T04:45:14.340237-06:00",
    "excerpt": "Student tutor marketplaces feel obvious in India. Fragmented supply, high stakes demand, and big household spend. The tricky part is not search. It's trust, outcomes you can measure, and unit economics when content is cheap and attention isn't. 🎓👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1987833875297697860"
    }
  },
  {
    "slug": "ar-profile-consent-and-access",
    "path": "threads/2025/ar-profile-consent-and-access.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/ar-profile-consent-and-access.md",
    "title": "Ar profile consent and access",
    "date": "2025-11-08T08:45:13.540822-06:00",
    "excerpt": "AR needs a clean way to attach a profile to a person or a place. Drawing a handle over a head is easy. The real work is consent, authentication, and context. Who should see what, on which device, and when. Plus anti spoofing and graceful failure when trust is missing. 🥽👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1987169493341364277"
    }
  },
  {
    "slug": "alt-text-safety-net",
    "path": "threads/2025/alt-text-safety-net.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/alt-text-safety-net.md",
    "title": "Alt text safety net",
    "date": "2025-11-06T10:15:18.427779-06:00",
    "excerpt": "Auto generated alt text works best as a safety net, not a stand in for authors. The model is not the hard part anymore. It is product choices like sane defaults, review flows, and knowing when to say nothing instead of guessing. Sharing a 2017 note and what changed ♿👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1986467374770594157"
    }
  },
  {
    "slug": "alert-when-not-on-list",
    "path": "threads/2025/alert-when-not-on-list.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/alert-when-not-on-list.md",
    "title": "Alert when not on list",
    "date": "2025-11-04T10:15:18.288511-06:00",
    "excerpt": "Found a 2017 note titled \"Security inolenentation\" (typo and all). The idea was simple on paper: notify me if a person isn't on the list. That maps to open set face verification, with a mobile-first demo. Prove the tech, then show the UI. 🛡️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1985742599622443235"
    }
  },
  {
    "slug": "clean-metadata-unlocks-discovery",
    "path": "threads/2025/clean-metadata-unlocks-discovery.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/clean-metadata-unlocks-discovery.md",
    "title": "Clean metadata unlocks discovery",
    "date": "2025-11-03T08:45:17.354876-06:00",
    "excerpt": "I grew up on Limewire and Bearshare. By 2016 the web had rippers, ad farms, and broken links. The hard part of music apps was not the player. It was messy catalogs, rights, and metadata. I built Saga to test a simple idea: clean metadata can unlock discovery in a fragmented world. 🎵👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1985357559113662844"
    }
  },
  {
    "slug": "a-private-writing-tool",
    "path": "threads/2025/a-private-writing-tool.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/a-private-writing-tool.md",
    "title": "A private writing tool",
    "date": "2025-11-02T04:45:13.531342-06:00",
    "excerpt": "Back in 2018 I hacked together Words, a tiny writing API for two people. The point was simple: type, hit save, no friction, and keep our notes private without spinning up a database. It mattered to me because these were personal messages to my partner, and I wanted control over my data more than features. ✍️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1984934768602194292"
    }
  },
  {
    "slug": "devanagari-conjuncts-are-not-ligatures",
    "path": "threads/2025/devanagari-conjuncts-are-not-ligatures.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/devanagari-conjuncts-are-not-ligatures.md",
    "title": "Devanagari conjuncts are not ligatures",
    "date": "2025-11-01T17:15:13.693341-05:00",
    "excerpt": "Quick note from my archive: calling Devanagari forms \"ligatures\" is misleading. Latin \"ffl\" is styling. Devanagari द्य, क्ष, त्र are conjuncts - structure, not ornament. They compact clusters and cue rhythm. 🔤👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1984746026214047792"
    }
  },
  {
    "slug": "turning-a-painting-into-play",
    "path": "threads/2025/turning-a-painting-into-play.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/turning-a-painting-into-play.md",
    "title": "Turning a painting into play",
    "date": "2025-10-30T11:15:15.945746-05:00",
    "excerpt": "Turning a painting into play is a tight box. In 2017 I built Abendgebet, a two hour Processing side scroller (yes, really) that turns Milan Kunc's \"evening prayer\" into motion.\n\nWhat worked, what broke, and what a tiny honest game can teach. 🎮👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1983930661493993493"
    }
  },
  {
    "slug": "nemotron-nano-2-vl-launches",
    "path": "threads/2025/nemotron-nano-2-vl-launches.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/nemotron-nano-2-vl-launches.md",
    "title": "Nemotron nano 2 vl launches",
    "date": "2025-10-29T19:15:21.765133-05:00",
    "excerpt": "Nemotron Nano 2 VL: 12B Mamba‑Transformer VLM, 128k ctx, 4 imgs or 1 video. Trained on 11M samples incl. 8M CC‑BY. EVS ≈2.5x video throughput. With HF, Replicate, Baseten, Nebius, OCR and video RAG are edging into on‑prem commodity.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1983689060263796823"
    }
  },
  {
    "slug": "claude-edges-enterprise-apis",
    "path": "threads/2025/claude-edges-enterprise-apis.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/claude-edges-enterprise-apis.md",
    "title": "Claude edges enterprise APIs",
    "date": "2025-10-28T05:45:23.219650-05:00",
    "excerpt": "Menlo's data says Claude is edging out OpenAI on enterprise APIs. Why? Vertical, compliance-first agents. Excel sidecar with cell-level provenance, MCP into LSEG/Moody's, and baked-in DCF/coverage skills. Audit wins. Vibes don't.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1983122846957404271"
    }
  },
  {
    "slug": "culture-beats-clever-logos",
    "path": "threads/2025/culture-beats-clever-logos.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/culture-beats-clever-logos.md",
    "title": "Culture beats clever logos",
    "date": "2025-10-27T17:15:15.069830-05:00",
    "excerpt": "I keep coming back to this: in consumer apps, clever letterforms matter less than instant, cultural recognition. In India, the icon and the language you greet users with build more trust than a tagline. Only if the app earns it in use. 🎵👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1982934091764044249"
    }
  },
  {
    "slug": "token-oriented-object-notation",
    "path": "threads/2025/token-oriented-object-notation.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/token-oriented-object-notation.md",
    "title": "Token oriented object notation",
    "date": "2025-10-27T05:45:03.592106-05:00",
    "excerpt": "Found a neat format for LLM prompts: TOON  -  Token‑Oriented Object Notation. Compact, human‑readable, and designed to cut structured‑data tokens by ~30-60%. I keep bumping into context limits, so this is right up my alley.\n\nThink YAML‑style indentation meets CSV‑like rows. Declare the schema once (users[3]{id,name,role}) and stream values without repeating keys. Minimal punctuation and very readable. My kind of minimalism.\n\nNice guardrails for models too. Explicit counts and field lists make outputs easier to validate. Benchmarks in the repo show big wins: 50 records goes 2,159 → 762 tokens (64.7%). Across examples, ~60.9% fewer with o200k_base. Your mileage will vary.\n\nFeels handy for tool calling, RAG, or any prompt with large arrays. There's a TypeScript package (@byjohann/toon) with a simple encode(json) entrypoint. Install via npm/pnpm/yarn and start saving tokens.\n\nRepo: https://github.com/johannschopplich/toon",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1982760447817482385"
    }
  },
  {
    "slug": "lite-apps-for-fast-rides",
    "path": "threads/2025/lite-apps-for-fast-rides.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/lite-apps-for-fast-rides.md",
    "title": "Lite apps for fast rides",
    "date": "2025-10-25T16:15:19.725338-05:00",
    "excerpt": "Lite can mean a thin native shell with a rich web core.\n\nBack in 2017 my note was blunt: run m.uber\\.com in a web view with Material navigation and ship fast on low-end phones and slow networks.\n\nGoal: shortest time to first ride. 🚕👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1982194211824046351"
    }
  },
  {
    "slug": "free-audible-on-librivox",
    "path": "threads/2025/free-audible-on-librivox.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/free-audible-on-librivox.md",
    "title": "Free Audible on LibriVox",
    "date": "2025-10-24T00:45:13.921159-05:00",
    "excerpt": "I had a silly but stubborn idea: a free Audible on top of LibriVox. I wasn't trying to outsmart distribution. I was betting that open catalogs plus great UX can compete when discovery, metadata, and listening ergonomics are excellent. The product is how it feels to listen, not the MP3s. 🎧👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1981597782394945772"
    }
  },
  {
    "slug": "diny-the-commit-message-assistant",
    "path": "threads/2025/diny-the-commit-message-assistant.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/diny-the-commit-message-assistant.md",
    "title": "Diny the commit message assistant",
    "date": "2025-10-23T09:45:03.846688Z",
    "excerpt": "I've been trying to make my commit messages less \"wip\" this year, so this caught my eye: diny, a tiny Go CLI that looks at your staged diff and writes clean, conventional-friendly messages. No API key, runs local via Ollama, and drops into a normal git flow.\n\nWhat I like: it only reads staged changes, filters lockfiles and binaries, proposes concise messages, and has an interactive loop that learns from your feedback. You can edit before committing, use draft mode, or stash the message for later when your brain has already moved on.\n\nThoughtful touches: a git alias so you can run \"git auto\", LazyGit integration, a timeline that summarizes your commit history, and 10 plus themes. Built with Cobra in Go and uses Ollama locally for speed and privacy. Piping works too: diny commit --print | git commit -F -\n\nIf you want consistent commits without context switching, diny is worth a look. Local LLM, fast CLI, smart diff parsing, easy installs with brew or scoop. Repo: https://github.com/dinoDanic/diny",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1981295797900841463"
    }
  },
  {
    "slug": "geometric-attention-patterns",
    "path": "threads/2025/geometric-attention-patterns.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/geometric-attention-patterns.md",
    "title": "Geometric attention patterns",
    "date": "2025-10-22T23:15:11.258318Z",
    "excerpt": "Anthropic poked Claude 3.5 Haiku and found clean geometric transforms and cross layer, head heavy attention circuits. If these patterns are stable, we can write unit tests and add regularizers like real code.\n\nThe catch is faithfulness with frozen attention and model swaps. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1981137248700825967"
    }
  },
  {
    "slug": "vision-tokens-shrink-with-compression",
    "path": "threads/2025/vision-tokens-shrink-with-compression.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/vision-tokens-shrink-with-compression.md",
    "title": "Vision tokens shrink with compression",
    "date": "2025-10-22T15:15:14.386464Z",
    "excerpt": "Vision tokens are going on a diet. DeepSeek-OCR's render→encode→decode slashes KV cache, and Zhipu's Glyph gets 3-4x compression with similar quality and faster prefill. Vision as a learned lossy codec points to continuous tokenizers. 👀👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1981016465223594488"
    }
  },
  {
    "slug": "accelerator-as-a-network-protocol",
    "path": "threads/2025/accelerator-as-a-network-protocol.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/accelerator-as-a-network-protocol.md",
    "title": "Accelerator as a network protocol",
    "date": "2025-10-21T15:15:17.095594Z",
    "excerpt": "I keep coming back to an old scribble: an accelerator as a protocol for selection, learning, and network effects. Free, remote, 0% equity. The idea was clear. The shape wasn't. Is it one program or a partner mesh? 🚀👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1980654076154335567"
    }
  },
  {
    "slug": "simplicity-over-minimalism",
    "path": "threads/2025/simplicity-over-minimalism.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/simplicity-over-minimalism.md",
    "title": "Simplicity over minimalism",
    "date": "2025-10-20T13:45:14.531889Z",
    "excerpt": "Simplicity and minimalism aren't the same thing. When a saved tap is lost to a wrong guess, the one tap glow fades fast. Simple reduces unnecessary decisions. Minimal can hide real choice. I learned this the hard way. 🟨👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1980269029341503809"
    }
  },
  {
    "slug": "blindness-tech-widens-access",
    "path": "threads/2025/blindness-tech-widens-access.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/blindness-tech-widens-access.md",
    "title": "Blindness tech widens access",
    "date": "2025-10-20T05:45:16.918713Z",
    "excerpt": "Blindness tech keeps moving on three tracks: prevent, cure, and live-with. The real progress sits in the seams where software widens access and biology makes devices less necessary. Eight years in, that interplay feels like the story. 👁️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1980148230102077943"
    }
  },
  {
    "slug": "persistent-agents-with-memory",
    "path": "threads/2025/persistent-agents-with-memory.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/persistent-agents-with-memory.md",
    "title": "Persistent agents with memory",
    "date": "2025-10-18T13:45:13.996170Z",
    "excerpt": "OpenAI just moved state up the stack. ChatGPT gets recency and frequency weighted memory with search and user reprioritization. Sora 2 adds web Storyboards and 15-25s horizons.\n\nNet effect: persistent agents and shot-level control. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1979544251177591031"
    }
  },
  {
    "slug": "affiliate-programs-are-infrastructure",
    "path": "threads/2025/affiliate-programs-are-infrastructure.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/affiliate-programs-are-infrastructure.md",
    "title": "Affiliate programs are infrastructure",
    "date": "2025-10-17T13:45:14.197048Z",
    "excerpt": "Affiliate programs are infrastructure. When I wrote this in 2017 it felt niche. By 2025 it is a real product category. Think @dubdotco. Links to attribution to compliance to payouts. Treat it like systems work. 🔗👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1979181864687648989"
    }
  },
  {
    "slug": "chatgpt-auto-memory-and-privacy",
    "path": "threads/2025/chatgpt-auto-memory-and-privacy.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/chatgpt-auto-memory-and-privacy.md",
    "title": "ChatGPT auto memory and privacy",
    "date": "2025-10-17T05:45:16.940065Z",
    "excerpt": "ChatGPT now has auto memory. Less prompt stuffing. A recency × frequency gate chooses what gets auto injected. Plus and Pro can search, sort, and reprioritize. Fewer tokens, bigger privacy surface: dual deletes and 30 day logs. 🧠👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1979061067788750896"
    }
  },
  {
    "slug": "fewer-turns-lower-costs",
    "path": "threads/2025/fewer-turns-lower-costs.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/fewer-turns-lower-costs.md",
    "title": "Fewer turns lower costs",
    "date": "2025-10-16T21:15:17.452722Z",
    "excerpt": "I'm seeing turns beat tokens. GPT‑5 and o3 top 4.1 on GPQA‑Diamond and τ²‑Bench Telecom, and they finish agent flows in fewer rounds.\n\nWith flat pricing, net cost lands near 4.1 because fewer turns. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1978932724275765700"
    }
  },
  {
    "slug": "haiku-outspeeds-sonnet-on-bench",
    "path": "threads/2025/haiku-outspeeds-sonnet-on-bench.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/haiku-outspeeds-sonnet-on-bench.md",
    "title": "Haiku outspeeds Sonnet on bench",
    "date": "2025-10-16T15:15:14.507441Z",
    "excerpt": "Haiku 4.5 just nuked the frontier tax: Sonnet‑tier coding on SWE‑bench‑V (~73%) at $1/$5 per MTok and 2-4x faster. Augment pegs it at ~90% of Sonnet 4.5.\n\nMy playbook: Sonnet plans, Haiku executes.\n\nYour burn rate will thank you. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1978842126894223395"
    }
  },
  {
    "slug": "wikibility-makes-wikipedia-readable",
    "path": "threads/2025/wikibility-makes-wikipedia-readable.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/wikibility-makes-wikipedia-readable.md",
    "title": "Wikibility makes Wikipedia readable",
    "date": "2025-10-15T23:15:14.117618Z",
    "excerpt": "Wikipedia's content is amazing, but in 2017 the reading flow made my brain bounce between sidebars, footnotes, and tiny type. I built Wikibility, a small AngularJS client that puts typography, contrast, and hierarchy first. Basically: make it feel like a book. 📚👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1978600533331247272"
    }
  },
  {
    "slug": "invisible-translate-widget",
    "path": "threads/2025/invisible-translate-widget.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/invisible-translate-widget.md",
    "title": "Invisible translate widget",
    "date": "2025-10-15T13:45:16.993445Z",
    "excerpt": "Back in 2017 I built an \"invisible\" Google Translate widget. Looked like a tiny UX win, but the real pattern was simulating control over a black-box iframe and living with the tradeoffs between control, compliance, and breakage. 🌐👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1978457100423741819"
    }
  },
  {
    "slug": "tiny-streaming-json-parser",
    "path": "threads/2025/tiny-streaming-json-parser.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/tiny-streaming-json-parser.md",
    "title": "Tiny streaming json parser",
    "date": "2025-10-14T09:45:03.698480Z",
    "excerpt": "Found jsonriver by @rictic and it scratches a real itch for me - a small streaming JSON parser that yields increasingly complete values as bytes come in, so you can start working with data from fetch or LLMs before the response is done. I have a soft spot for tiny no deps tools that do one thing well.\n\nMy favorite detail is how shapes stay stable while they grow. Numbers, booleans, and null arrive whole. Strings only grow. Arrays only append or refine the last item. Objects only add properties or refine the latest one. Partial JSON stays predictable, which keeps consumers calm.\n\nNice for long HTTP responses, server sent events, or LLM output. TypeScript, no deps, works with standard Streams like TextDecoderStream, and runs across runtimes.\n\nClean API too: for await (const v of parse(stream)) { ... }.\n\nLink if you want to try it: https://github.com/rictic/jsonriver",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1978034305852154015"
    }
  },
  {
    "slug": "names-that-work-in-systems",
    "path": "threads/2025/names-that-work-in-systems.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/names-that-work-in-systems.md",
    "title": "Names that work in systems",
    "date": "2025-10-13T13:45:14.319896Z",
    "excerpt": "Naming lesson that stuck with me: good names behave inside systems. Search boxes. Keyboards. Voice and screen readers. Legal registers. Not just in a designer's head. Orthography, phonotactics, and distinctiveness decide if a brand is findable, sayable, and protectable. 🏷️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1977732312298307805"
    }
  },
  {
    "slug": "decoders-read-embeddings-directly",
    "path": "threads/2025/decoders-read-embeddings-directly.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/decoders-read-embeddings-directly.md",
    "title": "Decoders read embeddings directly",
    "date": "2025-10-12T15:15:14.120020Z",
    "excerpt": "Meta Superintelligence’s new paper shows how they teach the decoder to read embeddings directly, then uses tokens only when it must. No more tokenize, compress, reembed ping pong. That's the interesting part. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1977392573443637481"
    }
  },
  {
    "slug": "url-shorteners-as-infrastructure",
    "path": "threads/2025/url-shorteners-as-infrastructure.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/url-shorteners-as-infrastructure.md",
    "title": "URL shorteners as infrastructure",
    "date": "2025-10-11T21:15:13.862796Z",
    "excerpt": "The core insight from an old note of mine: a URL shortener is the control plane for links - routing, observability, compliance, resilience - disguised as a 301. Treat it like infrastructure, not cosmetics. 🔗👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1977120781760184382"
    }
  },
  {
    "slug": "leaderboards-shuffle-while-evals-diverge",
    "path": "threads/2025/leaderboards-shuffle-while-evals-diverge.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/leaderboards-shuffle-while-evals-diverge.md",
    "title": "Leaderboards shuffle while evals diverge",
    "date": "2025-10-10T09:45:21.462496Z",
    "excerpt": "Leaderboards shuffled again: GPT-5 Pro tops ARC-AGI AGI-1/2 at 70.2%/18.3% (pass@2, semi private) with $4.78/$7.41 per run. METR clocks Claude 4.5's 50% SW horizon at ~1h53. Epoch crowns Gemini 2.5 Deep Think on FrontierMath.\n\nEvals are diverging. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1976584758156267720"
    }
  },
  {
    "slug": "email-as-a-user-interface",
    "path": "threads/2025/email-as-a-user-interface.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/email-as-a-user-interface.md",
    "title": "Email as a user interface",
    "date": "2025-10-09T15:15:15.585241Z",
    "excerpt": "Email can be an interface. Transactional mail plus schema.org quick actions turns the inbox into a UI. In 2017 I wrote a note about doing this with Amazon SES. I revisited what aged well, what didn't, and how I'd build it today. ✉️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1976305415718846595"
    }
  },
  {
    "slug": "utm-as-a-service",
    "path": "threads/2025/utm-as-a-service.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/utm-as-a-service.md",
    "title": "UTM as a service",
    "date": "2025-10-08T05:45:14.026213Z",
    "excerpt": "I wrote a tiny note in 2017: \"UTM as a Service.\" The idea: treat campaign tagging like infrastructure - a shared taxonomy, guardrails, and an API every tool can hit. The missing middleware between creative and attribution. Small concept, big downstream impact. 🏷️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1975799577031942477"
    }
  },
  {
    "slug": "bringing-guardrails-into-agents",
    "path": "threads/2025/bringing-guardrails-into-agents.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/bringing-guardrails-into-agents.md",
    "title": "Bringing guardrails into agents",
    "date": "2025-10-07T21:15:17.553443Z",
    "excerpt": "Eval to ops just got real. Petri scenario audits with an auditor target judge loop, plus DeepMind CodeMender with 72 accepted OSS security fixes, push guardrails from red team docs into agents that run in CI and governance.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1975671234043265390"
    }
  },
  {
    "slug": "sentence-spacing-as-a-choice",
    "path": "threads/2025/sentence-spacing-as-a-choice.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/sentence-spacing-as-a-choice.md",
    "title": "Sentence spacing as a choice",
    "date": "2025-10-06T13:45:12.682798Z",
    "excerpt": "I wrote about sentence spacing back in 2015. The gist: two spaces started with typewriters using monospaced fonts. In proportional type, extra space usually turns into visual noise. In monospaced contexts, it was a quick way to mark sentence boundaries. Treat it as a tooling choice, not a moral code. ⌨️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1975195591404888191"
    }
  },
  {
    "slug": "design-system-ideas-with-basecn",
    "path": "threads/2025/design-system-ideas-with-basecn.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/design-system-ideas-with-basecn.md",
    "title": "Design system ideas with basecn",
    "date": "2025-10-06T09:45:01.787733Z",
    "excerpt": "Been poking at design system ideas again, and basecn caught my eye: shadcn/ui vibes on top of @base_ui primitives. TypeScript-first, accessible, extra variants, and lots of copy‑pasteable examples.\n\nWhat I like: Base UI under the hood gives you WAI‑ARIA, predictable focus, and solid performance. The multiple demos per component help you pick a pattern fast, so you ship instead of bikeshed. No more fighting focus rings at 2 am. @akash_3444 really cooked!\n\nStack check: React + TypeScript, Tailwind for styling, Base UI for primitives. Clean APIs and straightforward theming. I could drop this into a team rolling a design system next week.\n\nBuilding a library or a product? You get polished components, rich examples, and room to customize while leaning on MUI a11y: https://github.com/akash3444/basecn",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1975135195344011355"
    }
  },
  {
    "slug": "what-is-gpt-oss",
    "path": "threads/2025/what-is-gpt-oss.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/what-is-gpt-oss.md",
    "title": "What is gpt oss",
    "date": "2025-10-06T05:45:12.271427Z",
    "excerpt": "What’s in GPT OSS? Open weights + o200k turn embedding norms into a window on the training stack. That long right tail reads like a leaky audit log. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1975074794090664160"
    }
  },
  {
    "slug": "own-the-localization-pipeline",
    "path": "threads/2025/own-the-localization-pipeline.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/own-the-localization-pipeline.md",
    "title": "Own the localization pipeline",
    "date": "2025-10-04T13:45:12.442052Z",
    "excerpt": "My 2017 mantra that still holds up: translate via an API and publish real localized pages. Not a client-side widget repainting the DOM. If you own the pipeline, you win on SEO, accessibility, and control. Stop outsourcing semantics to an overlay. 🌐👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1974470814717325457"
    }
  },
  {
    "slug": "from-audio-to-navigable-text",
    "path": "threads/2025/from-audio-to-navigable-text.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/from-audio-to-navigable-text.md",
    "title": "From audio to navigable text",
    "date": "2025-10-03T09:45:12.395838Z",
    "excerpt": "Treat read‑aloud like a media player: left/right to jump sentence by sentence while the current sentence stays highlighted. You go from passive audio to navigable text, and your working memory breathes easier. 🎧 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1974048028991574509"
    }
  },
  {
    "slug": "cleaner-suggestions-for-real-conversations",
    "path": "threads/2025/cleaner-suggestions-for-real-conversations.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/cleaner-suggestions-for-real-conversations.md",
    "title": "Cleaner suggestions for real conversations",
    "date": "2025-10-03T05:45:09.431992Z",
    "excerpt": "This week at @FirstQuadrant (Week 39, 2025), we shipped cleaner suggestions. We now ignore emails parked in warm-up/warming folders so automation pays attention to real conversations. Small change, big quality-of-life win. ✉️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1973987630464578023"
    }
  },
  {
    "slug": "sora-2-ships-video-app",
    "path": "threads/2025/sora-2-ships-video-app.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/sora-2-ships-video-app.md",
    "title": "Sora 2 ships video app",
    "date": "2025-10-02T15:15:19.160127Z",
    "excerpt": "OpenAI is shipping Sora 2 as a TikTok-style app for video. Audio + video gen, consent-gated cameos, C2PA provenance, LLM steered feed. \n\nChatGPT's moat expands to video. Demos wow, composition is brittle. Invites and daily caps limit risk. 🕹️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1973768691218329831"
    }
  },
  {
    "slug": "accessible-minimal-wordpress-blog",
    "path": "threads/2025/accessible-minimal-wordpress-blog.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/accessible-minimal-wordpress-blog.md",
    "title": "Accessible minimal WordPress blog",
    "date": "2025-10-02T09:45:09.387489Z",
    "excerpt": "Back in 2017 I kept asking myself: how minimal can a WordPress blog be and still be a joy to read and accessible? I built Access to find out. Writing first, no fluff, based on _s, accessibility baked in. Constraint was the feature. It aged better than I expected. ✍️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1973685640517804495"
    }
  },
  {
    "slug": "optimize-cost-per-task",
    "path": "threads/2025/optimize-cost-per-task.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/optimize-cost-per-task.md",
    "title": "Optimize cost per task",
    "date": "2025-10-01T15:15:12.645313Z",
    "excerpt": "Sonnet 4.5: 200K context, 64K out, $3 in and $15 out per million. Adds context editing, memory, and Code v2 with a VS Code flow for real 30 hour agents. Evals beat Gemini 2.5 and Grok 4 Fast, trail GPT 5 high.\n\nFounder takeaway: optimize $ per task. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1973406301121290252"
    }
  },
  {
    "slug": "sora-2-drives-platform-wins",
    "path": "threads/2025/sora-2-drives-platform-wins.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/sora-2-drives-platform-wins.md",
    "title": "Sora 2 drives platform wins",
    "date": "2025-10-01T13:45:15.980281Z",
    "excerpt": "Sora 2 buffs world sim and ships native A/V. Bigger move is product: consented cameos + C2PA + a steerable recommender in an invite‑only iOS app. That's a closed‑loop data/RL flywheel for video agents. Veo 3 is strong, but platform wins. 🎥👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1973383652991181206"
    }
  },
  {
    "slug": "footer-badge-nudges-accessibility",
    "path": "threads/2025/footer-badge-nudges-accessibility.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/footer-badge-nudges-accessibility.md",
    "title": "Footer badge nudges accessibility",
    "date": "2025-10-01T05:45:15.013744Z",
    "excerpt": "Old idea, still poking me: could a tiny badge in a footer nudge the web toward real accessibility? Badges shape norms. People see them, copy them. The trick is making the seal mean something users can feel, not just a sticker. ♿️ 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1973262854787834090"
    }
  },
  {
    "slug": "forward-deployed-claude-playbook",
    "path": "threads/2025/forward-deployed-claude-playbook.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/forward-deployed-claude-playbook.md",
    "title": "Forward deployed Claude playbook",
    "date": "2025-09-30T23:15:09.759440Z",
    "excerpt": "I've been playing with an idea I call \"Forward Deployed Claude\". It borrows the Palantir-style FDE loop I used to see in enterprise work. Ship the product you have, embed Claude Code as the field engineer, let it build the customer's gravel road, then write down what generalizes for the next 5-10 accounts in a CLAUDE\\.md that marks invariants vs extensions. 🛠️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1973164708728598802"
    }
  },
  {
    "slug": "tight-constraints-shaped-precis",
    "path": "threads/2025/tight-constraints-shaped-precis.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/tight-constraints-shaped-precis.md",
    "title": "Tight constraints shaped Precis",
    "date": "2025-09-30T15:15:16.684814Z",
    "excerpt": "In 2016 I built Precis, a self-hosted URL shortener you could deploy on $5 shared hosting by uploading a folder and an .htaccess file (yes, really!). The fun bit wasn't the UI. Tight constraints quietly shaped the whole thing. 🔗👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1973043918704177178"
    }
  },
  {
    "slug": "interaction-architecture-decides-the-night",
    "path": "threads/2025/interaction-architecture-decides-the-night.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/interaction-architecture-decides-the-night.md",
    "title": "Interaction architecture decides the night",
    "date": "2025-09-30T09:45:12.691319Z",
    "excerpt": "Back when I obsessed over the Apple Remote, I learned the living room problem isn't about shaving off buttons. It's mapping a huge media state space to quick, low‑error input for multiple people sitting ten feet away. Lovely hardware counts, but interaction architecture decides the night. 📺👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1972960866523136327"
    }
  },
  {
    "slug": "taste-guides-engineering-decisions",
    "path": "threads/2025/taste-guides-engineering-decisions.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/taste-guides-engineering-decisions.md",
    "title": "Taste guides engineering decisions",
    "date": "2025-09-29T13:45:04.588614Z",
    "excerpt": "Treat taste as a shifting weight vector over values, then matching it to your project's phase and constraints. Right for here and now beats \"universally right” in engineering.\n\nUnder the hood, this is multi objective optimization. Values like latency, resiliency, readability, portability, cost, and dev speed define a Pareto frontier.\n\n\"Good taste\" is picking a point that fits your context and lifecycle. Early explore favors velocity and readability. Later hardening flips weight to SLOs and operability.\n\nOnce telemetry pins the space, taste stops being vibes.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1972658877847179481"
    }
  },
  {
    "slug": "ai-shifts-bottleneck-to-understanding",
    "path": "threads/2025/ai-shifts-bottleneck-to-understanding.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/ai-shifts-bottleneck-to-understanding.md",
    "title": "AI shifts bottleneck to understanding",
    "date": "2025-09-29T09:45:13.397307Z",
    "excerpt": "AI moves the bottleneck to understanding. If we skip specs, seams, and tests, we save keystrokes and rack up comprehension debt. That bill arrives with interest.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1972598480620450101"
    }
  },
  {
    "slug": "airpods-based-head-motion-racing",
    "path": "threads/2025/airpods-based-head-motion-racing.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/airpods-based-head-motion-racing.md",
    "title": "AirPods based head motion racing",
    "date": "2025-09-29T05:45:01.835740Z",
    "excerpt": "This is awesome, an AirPods controlled racer game. Using the most popular everyday earbuds as a 3 DoF IMU with Core Motion and making the control feel smooth, comfy, and low latency under tight limits.\n\nOn iOS you can read head motion from compatible AirPods with Core Motion's CMHeadphoneMotionManager.\n\nYou get CMDeviceMotion with an attitude quaternion and fused gyro and accel at around 25 Hz. Then you smooth it, add dead zones and hysteresis, clamp extremes so your neck is happy, and calibrate a neutral pose every session.\n\nConstraints are real: 3 DoF only, limited update rate, yaw drift, device auto switching, and odd behavior when the buds lose fit.\n\nWinning here is mostly filter plus UX. Good neutral calibration, quick re center cues, and a tight latency budget across read, process, and render.\n\nThis is a fun direction for hands free play and accessibility: https://apps.apple.com/us/app/ridepods-race-with-head/id6752268828",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1972538082571563067"
    }
  },
  {
    "slug": "accessible-content-designed-for-reading",
    "path": "threads/2025/accessible-content-designed-for-reading.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/accessible-content-designed-for-reading.md",
    "title": "Accessible content designed for reading",
    "date": "2025-09-28T15:15:12.917320Z",
    "excerpt": "Accessibility that actually helps means rewriting content for how our brains read. 📚👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1972319138111733835"
    }
  },
  {
    "slug": "codex-cli-offers-coding-buddy",
    "path": "threads/2025/codex-cli-offers-coding-buddy.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/codex-cli-offers-coding-buddy.md",
    "title": "Codex cli offers coding buddy",
    "date": "2025-09-28T09:45:09.542148Z",
    "excerpt": "Been trying Codex CLI from OpenAI and it's a neat one: a lightweight coding agent that runs locally in your terminal. Install with npm i -g @openai/codex or brew install codex, then sign in with your ChatGPT plan or use an API key. Feels like having an on-call dev buddy in the shell.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1972236089130955222"
    }
  },
  {
    "slug": "dayflow-builds-private-mac-timeline",
    "path": "threads/2025/dayflow-builds-private-mac-timeline.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/dayflow-builds-private-mac-timeline.md",
    "title": "Dayflow builds private Mac timeline",
    "date": "2025-09-27T13:45:01.465816Z",
    "excerpt": "Been playing with Dayflow on my Mac. It turns everyday screen activity into an automatic timeline with AI summaries and distraction highlights. Feels like a quiet assistant that respects privacy. You control the data. Use Gemini or keep everything local.\n\nIt records at 1 FPS and analyzes every 15 minutes to make clean timeline cards and timelapses. Built with SwiftUI. About 25 MB, ~100 MB RAM, under 1% CPU on my machine (fans stay quiet). It auto cleans after 3 days and updates with Sparkle.\n\nThe AI pipeline is neat. In Gemini mode there are two calls: upload plus transcribe, then generate cards. Local mode with Ollama or LM Studio samples ~30 frames and makes 33+ calls to describe, merge, and title. Fully offline if you want. Bring your own API key.\n\nWhy I like it: a calm, honest log of how I actually worked, with distraction highlights now and a customizable dashboard and daily journal coming soon. MIT licensed and macOS 13+\n\nGitHub: https://github.com/JerryZLiu/Dayflow",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1971934101243560376"
    }
  },
  {
    "slug": "pulse-enables-ambient-chatgpt",
    "path": "threads/2025/pulse-enables-ambient-chatgpt.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/pulse-enables-ambient-chatgpt.md",
    "title": "Pulse enables ambient ChatGPT",
    "date": "2025-09-26T13:45:25.584433Z",
    "excerpt": "Pulse makes ChatGPT ambient. Nightly runs on your memory + Gmail & Calendar drop goal-based briefs for approval. I like the flip from prompt to plan into plan to approve. Pro and mobile gates hint at high per user compute and a new extension surface. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1971571729865863300"
    }
  },
  {
    "slug": "badge-becomes-startup-benefits-network",
    "path": "threads/2025/badge-becomes-startup-benefits-network.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/badge-becomes-startup-benefits-network.md",
    "title": "Badge becomes startup benefits network",
    "date": "2025-09-25T21:15:15.396273Z",
    "excerpt": "In 2017, I scribbled a simple idea: turn the \"Made with Love in India\" badge into a benefits network for Indian startups. Public signal on your footer, partner credits behind the curtain. Pride that also pays the bills. 🇮🇳👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1971322570764161171"
    }
  },
  {
    "slug": "strata-guides-agents-to-action",
    "path": "threads/2025/strata-guides-agents-to-action.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/strata-guides-agents-to-action.md",
    "title": "Strata guides agents to action",
    "date": "2025-09-25T09:45:09.932168Z",
    "excerpt": "Been deep in MCP land these days. Klavis AI (YC X25) clicked for me. It helps agents use thousands of tools reliably (yes, really). The standout for me is Strata, a unified MCP router that gets past that 40-50 tool wall I've run into and guides agents from intent to action.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1971148927832580271"
    }
  },
  {
    "slug": "strata-enables-cross-app-routing",
    "path": "threads/2025/strata-enables-cross-app-routing.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/strata-enables-cross-app-routing.md",
    "title": "Strata enables cross app routing",
    "date": "2025-09-24T13:45:10.226330Z",
    "excerpt": "Been poking around @Klavis_AI lately: It's an MCP layer that lets agents use thousands of tools reliably (App Store moment for MCPs?). The part I like is Strata. One MCP server that helps a single agent discover and route across many apps without melting its brain.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1970846938443718782"
    }
  },
  {
    "slug": "reality-check-on-code-benchmarks",
    "path": "threads/2025/reality-check-on-code-benchmarks.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/reality-check-on-code-benchmarks.md",
    "title": "Reality check on code benchmarks",
    "date": "2025-09-23T21:15:12.456823Z",
    "excerpt": "Today I got a reality check. On SWE Bench Pro (contamination resistant, ~107 LOC across 4 files), top agents sit near 23% solved. Microsoft's repo graphs in RPG to ZeroRepo show 3.9x LOC vs baselines. Planning beats the party tricks 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1970597794584068438"
    }
  },
  {
    "slug": "parallel-decision-making-for-agents",
    "path": "threads/2025/parallel-decision-making-for-agents.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/parallel-decision-making-for-agents.md",
    "title": "Parallel decision making for agents",
    "date": "2025-09-23T15:15:19.623995Z",
    "excerpt": "When tok/s jumps from tens to thousands, agents move from a single supervised stream to parallel propose → evaluate → select. Reliability and cost become UX.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1970507226801684764"
    }
  },
  {
    "slug": "thin-coordination-os-concept",
    "path": "threads/2025/thin-coordination-os-concept.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/thin-coordination-os-concept.md",
    "title": "Thin coordination OS concept",
    "date": "2025-09-23T09:45:13.004404Z",
    "excerpt": "My current take: the ideal OS is a thin coordination layer that splits identity, storage, input, and render across device, browser, and cloud. The UI steps back. The job is to route intent to capability and to fail well when the network hiccups. ☁️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1970424152327889056"
    }
  },
  {
    "slug": "hubspot-contact-import-goes-live",
    "path": "threads/2025/hubspot-contact-import-goes-live.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/hubspot-contact-import-goes-live.md",
    "title": "HubSpot contact import goes live",
    "date": "2025-09-22T13:45:17.409944Z",
    "excerpt": "This week at @FirstQuadrant: HubSpot contact import is live (feature preview). Pull your CRM into FQ with a click, unify lists, and start outreach with no CSVs. Week 37, 2025. 🔌👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1970122179800178806"
    }
  },
  {
    "slug": "ripple-a-typescript-ui-framework",
    "path": "threads/2025/ripple-a-typescript-ui-framework.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/ripple-a-typescript-ui-framework.md",
    "title": "Ripple a TypeScript UI framework",
    "date": "2025-09-22T09:45:09.767780Z",
    "excerpt": "I stumbled on Ripple by @trueadm and it made me smile. A TypeScript first UI framework with its own .ripple files and a signal style reactive core. Feels like React, Solid, and Svelte had coffee and decided to ship fine grained updates together.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1970061762964947201"
    }
  },
  {
    "slug": "webpage-crawler-search-evolution",
    "path": "threads/2025/webpage-crawler-search-evolution.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/webpage-crawler-search-evolution.md",
    "title": "Webpage crawler search evolution",
    "date": "2025-09-22T05:45:15.662856Z",
    "excerpt": "I'm revisiting a tiny note from Apr 18, 2017: \"Webpage crawler + search.\" The core split still holds up: get the content, then find the answer. The stack morphed from curl/Scrapy and BM25 to headless rendering and hybrid vectors. 🔎👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1970001365436186802"
    }
  },
  {
    "slug": "chrome-makes-omnibox-command-line",
    "path": "threads/2025/chrome-makes-omnibox-command-line.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/chrome-makes-omnibox-command-line.md",
    "title": "Chrome makes omnibox command line",
    "date": "2025-09-21T09:45:11.376578Z",
    "excerpt": "Chrome just turned the omnibox into a command line for the web. AI Mode blends search, page context, and actions. Gemini 2.5 does cross‑tab summaries today, agents next. Extensions now compete with the browser they live in. 🌐👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1969699382057632055"
    }
  },
  {
    "slug": "grok-4-fast-token-economics",
    "path": "threads/2025/grok-4-fast-token-economics.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/grok-4-fast-token-economics.md",
    "title": "Grok 4 fast token economics",
    "date": "2025-09-20T13:45:15.545202Z",
    "excerpt": "Grok 4 Fast: one set of weights, prompt steered. 2M context. RL tuned tool use trims ~40% thinking tokens. $0.20 in, $0.50 out per 1M. HLE is lower than Grok 4. The race now is tokens per second per dollar for agents and coding.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1969397385735675998"
    }
  },
  {
    "slug": "postgres-in-the-browser",
    "path": "threads/2025/postgres-in-the-browser.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/postgres-in-the-browser.md",
    "title": "Postgres in the browser",
    "date": "2025-09-19T09:45:13.990908Z",
    "excerpt": "Sharing a neat project I'm excited about: PGlite by ElectricSQL. Real Postgres compiled to WebAssembly with a tiny TypeScript client. Runs in the browser, Node, Bun, and Deno with no VM. Postgres in the browser (yes, really) with reactive bindings.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968974617315590380"
    }
  },
  {
    "slug": "rss-feeds-for-reading-mode",
    "path": "threads/2025/rss-feeds-for-reading-mode.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/rss-feeds-for-reading-mode.md",
    "title": "RSS feeds for reading mode",
    "date": "2025-09-19T05:45:12.558901Z",
    "excerpt": "Reader mode tries to reconstruct a story from messy HTML. Feeds already ship the story in a clean wrapper. In 2017 I wrote a tiny note, \"RSS Feeds for Reading Mode,\" asking: what if the browser preferred the site's feed as the canonical clean version? 📡👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968914200396448242"
    }
  },
  {
    "slug": "wassette-secure-wasm-runtime",
    "path": "threads/2025/wassette-secure-wasm-runtime.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/wassette-secure-wasm-runtime.md",
    "title": "Wassette secure wasm runtime",
    "date": "2025-09-18T21:15:09.774687Z",
    "excerpt": "Been playing with a neat project from Microsoft called Wassette. It is a security first runtime that lets AI agents run WebAssembly components via MCP. The bit that hooked me is you can add tools right from chat, and they run inside a Wasmtime sandbox with an explicit permission model.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968785855520407787"
    }
  },
  {
    "slug": "standard-series-a-paperwork",
    "path": "threads/2025/standard-series-a-paperwork.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/standard-series-a-paperwork.md",
    "title": "Standard Series A paperwork",
    "date": "2025-09-18T15:15:02.237096Z",
    "excerpt": "The SAFE for Series A is here:\n\n@Standard_Cap's Series A pack with a term sheet, stock purchase agreement, investors' rights, an A&R certificate of incorporation, and a side letter.\n\nClean and practical, a good baseline to kick off a round.\n\nWhat I like most is the format. It's just .docx in Git (yes, Word - I'm sure will be markdown shorly). Fork, version, diff, and review in PRs.\n\nIf you're raising, ask your investors that you want to use the Standard Series A paperwork: https://github.com/StandardCap/standard-series-a",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968695262232330284"
    }
  },
  {
    "slug": "infra-choices-caused-model-dips",
    "path": "threads/2025/infra-choices-caused-model-dips.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/infra-choices-caused-model-dips.md",
    "title": "Infra choices caused model dips",
    "date": "2025-09-18T09:45:13.306614Z",
    "excerpt": "I just read Anthropic Engineering's postmortem. The headline isn't three bugs. It's how everyday infra choices like load balancers, sampler precision, and sticky sessions bent cross hardware parity and looked like model dips. Credit to the eng team.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968612212748242980"
    }
  },
  {
    "slug": "evaluating-humans-with-ai-metrics",
    "path": "threads/2025/evaluating-humans-with-ai-metrics.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/evaluating-humans-with-ai-metrics.md",
    "title": "Evaluating humans with AI metrics",
    "date": "2025-09-17T23:15:12.803860Z",
    "excerpt": "What clicked for me in @slatestarcodex's piece isn't the jokes. It's flipping our AI eval lens onto humans. See us as \"BIs\" with context limits, RLHF, and jailbreaks, and the snag shows up fast: the metric choices, not raw ability.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968453666454872267"
    }
  },
  {
    "slug": "exploring-wassette-for-secure-wasm",
    "path": "threads/2025/exploring-wassette-for-secure-wasm.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/exploring-wassette-for-secure-wasm.md",
    "title": "Exploring Wassette for secure Wasm",
    "date": "2025-09-17T15:15:10.592811Z",
    "excerpt": "Been exploring Wassette from Microsoft. A security oriented runtime for WebAssembly components via MCP. The neat bit: you add new sandboxed tools to an AI agent from inside the chat window (yes, really). Rust based, with a focus on reuse and safety.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968332873607643326"
    }
  },
  {
    "slug": "opinionated-news-summarizer-racing-clock",
    "path": "threads/2025/opinionated-news-summarizer-racing-clock.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/opinionated-news-summarizer-racing-clock.md",
    "title": "Opinionated news summarizer racing clock",
    "date": "2025-09-17T13:45:16.708673Z",
    "excerpt": "Compression is the easy part. A news summarizer makes calls on sources, context, and trust while racing a clock. The text is short. The system is opinionated by design. 🗞️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968310238182068335"
    }
  },
  {
    "slug": "single-agent-rivals-multi-agent",
    "path": "threads/2025/single-agent-rivals-multi-agent.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/single-agent-rivals-multi-agent.md",
    "title": "Single agent rivals multi agent",
    "date": "2025-09-16T23:15:15.263033Z",
    "excerpt": "The mix of hour scale online RL, lean rewards, and test time parallel search lets a single agent rival the multi agent scaffolds we built. With SOL 25x HRL throughput and SAPO plus 94 percent reward, the blocker is verifiers and infra.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968091278140379238"
    }
  },
  {
    "slug": "gpt-5-codex-scales",
    "path": "threads/2025/gpt-5-codex-scales.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/gpt-5-codex-scales.md",
    "title": "GPT 5 Codex scales",
    "date": "2025-09-16T21:15:21.293034Z",
    "excerpt": "GPT‑5‑Codex feels like a real jump: task adaptive compute, smarter tool routing, 93.7% fewer tokens on easy turns, about 2x more on hard ones, over 7 hours of autonomy, seccomp seatbelt sandbox, and PR grade reviews. Now let's see it behave at scale.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1968061079952732186"
    }
  },
  {
    "slug": "tiny-lazy-loader-for-images",
    "path": "threads/2025/tiny-lazy-loader-for-images.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/tiny-lazy-loader-for-images.md",
    "title": "Tiny lazy loader for images",
    "date": "2025-09-16T09:45:15.602387Z",
    "excerpt": "In 2016 I shipped a 555 byte JavaScript lazy loader to stop image jank on long scroll pages. Half a kilobyte, yes really. The goal was simple: load images only when you were about to see them, save bandwidth, keep the main thread calm. 🖼️ 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1967887435481972994"
    }
  },
  {
    "slug": "hardware-meets-software-context",
    "path": "threads/2025/hardware-meets-software-context.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/hardware-meets-software-context.md",
    "title": "Hardware meets software context",
    "date": "2025-09-15T21:15:12.476026Z",
    "excerpt": "Convergence starts with hardware, but the real work is software meeting context. \"Replace your laptop\" means files you can reach, input that fits the task, true windowing, sustained performance, and toolchains that match how people actually work. 💻👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1967698691315339749"
    }
  },
  {
    "slug": "naming-self-driving-cars",
    "path": "threads/2025/naming-self-driving-cars.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/naming-self-driving-cars.md",
    "title": "Naming self driving cars",
    "date": "2025-09-15T13:45:13.056217Z",
    "excerpt": "Names set expectations and liability. In 2017 I scribbled a note to myself: \"the name for self driving cars: autos.\" Eight years later we mostly say AVs, ADS, and robotaxis. Auto did not stick. The interesting part is why, and what good names actually do. 🚗👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1967585447372366272"
    }
  },
  {
    "slug": "self-syncing-encoding-idea",
    "path": "threads/2025/self-syncing-encoding-idea.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/self-syncing-encoding-idea.md",
    "title": "Self syncing encoding idea",
    "date": "2025-09-15T09:45:12.893551Z",
    "excerpt": "Read @vishnuhx's piece and nodded a lot. The clever bit of UTF-8 is the self syncing, prefix free layout on top of ASCII. You can back up a few bytes and land on a code point. Simple idea. Big win.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1967525049113723255"
    }
  },
  {
    "slug": "android-openness-and-library-limits",
    "path": "threads/2025/android-openness-and-library-limits.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/android-openness-and-library-limits.md",
    "title": "Android openness and library limits",
    "date": "2025-09-13T13:45:15.077025Z",
    "excerpt": "I wrote a short note in 2017 after yet another late night battle with e-books on Android. My takeaway still stands. Android is open, your library is not. Formats, DRM, and rendering engines still decide what you can read, annotate, and keep. That's the real stake for readers and for libraries that need access and preservation. 📚👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1966860679710937489"
    }
  },
  {
    "slug": "hubspot-deal-sync-preview",
    "path": "threads/2025/hubspot-deal-sync-preview.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/hubspot-deal-sync-preview.md",
    "title": "HubSpot deal sync preview",
    "date": "2025-09-12T13:45:13.494010Z",
    "excerpt": "This week at @FirstQuadrant we shipped HubSpot deal sync (feature preview). Automatic two way updates so your pipeline stays in step. Week 36, Sep 1 to 7, 2025. 🔄👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1966498285381984468"
    }
  },
  {
    "slug": "mcp-graduation-and-interop-updates",
    "path": "threads/2025/mcp-graduation-and-interop-updates.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/mcp-graduation-and-interop-updates.md",
    "title": "MCP graduation and interop updates",
    "date": "2025-09-11T09:45:18.421989Z",
    "excerpt": "MCP just graduated. OpenAI agents can call remote MCP tools with write actions, Anthropic launched an MCP Registry (preview), and Claude added constrained web_fetch. Interop drops N^2 integrations to N+M with scopes and approvals.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1966075497072439503"
    }
  },
  {
    "slug": "mac-llm-prefill-boost",
    "path": "threads/2025/mac-llm-prefill-boost.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/mac-llm-prefill-boost.md",
    "title": "Mac llm prefill boost",
    "date": "2025-09-10T13:45:10.798021Z",
    "excerpt": "I’m a big fan of the new iPhone Air but not because of 5.6 mm or titanium - for the A19 Pro's GPU: each GPU core has a built in Neural Accelerator. If this lands in M series, local LLM prefill on Macs could get a big boost.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1965773510258860457"
    }
  },
  {
    "slug": "npm-breach-reveals-transitive-risk",
    "path": "threads/2025/npm-breach-reveals-transitive-risk.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/npm-breach-reveals-transitive-risk.md",
    "title": "Npm breach reveals transitive risk",
    "date": "2025-09-10T05:45:12.826718Z",
    "excerpt": "Reading Xe Iaso's write-up on the npm compromise. A maintainer ATO on \"harmless\" transitive libs like chalk/debug, which I've used in almost every CLI I've shipped, could have become an API key vacuum. The browser-only payload kept the blast small. We got lucky. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1965652711128601026"
    }
  },
  {
    "slug": "skip-the-beacon-for-privacy",
    "path": "threads/2025/skip-the-beacon-for-privacy.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/skip-the-beacon-for-privacy.md",
    "title": "Skip the beacon for privacy",
    "date": "2025-09-09T23:15:16.180249Z",
    "excerpt": "In 2017 I had a simple take: skip the beacon. If your live chat or accessibility widget loads, the server already saw it, so count the visit there by logging user agent and coarse IP. Less JS, lower latency, fewer identifiers. Good for speed, good for privacy. 📊👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1965554566663209317"
    }
  },
  {
    "slug": "veo-3-api-and-pricing",
    "path": "threads/2025/veo-3-api-and-pricing.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/veo-3-api-and-pricing.md",
    "title": "Veo 3 API and pricing",
    "date": "2025-09-09T21:15:14.796764Z",
    "excerpt": "Veo 3 is GA: $0.40/s main and $0.15/s Fast, 1080p, native 9:16 on Veo 3, single pass audio plus video, and an API.\n\nTranslation: cheaper programmatic ads and social at scale.\n\nWith Sora still no API, Veo just grabbed developer mindshare.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1965524373449949437"
    }
  },
  {
    "slug": "stateful-agents-replace-stateless-chat",
    "path": "threads/2025/stateful-agents-replace-stateless-chat.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/stateful-agents-replace-stateless-chat.md",
    "title": "Stateful agents replace stateless chat",
    "date": "2025-09-09T09:45:13.626113Z",
    "excerpt": "Skip the shiny \"branches\" and \"new endpoint\" chatter - the move is from stateless chat to stateful, tool‑grounded agent loops.\n\nBranching in @ChatGPTapp + a Responses‑first SDK makes server state the default.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1965350724705116347"
    }
  },
  {
    "slug": "rethinking-education-platforms",
    "path": "threads/2025/rethinking-education-platforms.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/rethinking-education-platforms.md",
    "title": "Rethinking education platforms",
    "date": "2025-09-08T23:15:13.627327Z",
    "excerpt": "In 2014, as an Indian student I thought a single place could fix education. Spoiler: it's harder. Platforms rarely fail because content is missing. They stumble on discovery, incentives, and trust. 10 yr on, the real work looks like protocols, governance, and portability. 🎓👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1965192178986275021"
    }
  },
  {
    "slug": "rocm-tests-quarantined-hide-regressions",
    "path": "threads/2025/rocm-tests-quarantined-hide-regressions.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/rocm-tests-quarantined-hide-regressions.md",
    "title": "ROCm tests quarantined hide regressions",
    "date": "2025-09-08T09:45:14.050697Z",
    "excerpt": "Headline isn't \"ROCm flaked.\" It's skip debt. PyTorch's ROCm path quarantined core tests across kernels and compilers, so CI stays green while regressions pile up. Fresh paint, cracked wall. That's an ecosystem trust leak.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1964988338689216696"
    }
  },
  {
    "slug": "zomato-android-redesign-holds-up",
    "path": "threads/2025/zomato-android-redesign-holds-up.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/zomato-android-redesign-holds-up.md",
    "title": "Zomato Android redesign holds up",
    "date": "2025-09-06T13:45:16.433216Z",
    "excerpt": "I opened an old Zomato for Android redesign I did in 2016. The pixels aged, sure, but the assumptions are the real story. The interesting bit is which ones still hold up in 2025. 🍽️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1964323971077414941"
    }
  },
  {
    "slug": "openapi-to-mcp-server",
    "path": "threads/2025/openapi-to-mcp-server.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/openapi-to-mcp-server.md",
    "title": "OpenAPI to MCP server",
    "date": "2025-09-05T21:15:09.803860Z",
    "excerpt": "I've been tinkering with MCP tooling lately, and this is neat. openapi-mcp-generator turns any OpenAPI 3.0+ spec into an MCP server. My favorite bit is that it generates a typed Node proxy so agents can call your existing REST API safely.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1964074813292745016"
    }
  },
  {
    "slug": "rolldown-the-rust-bundler",
    "path": "threads/2025/rolldown-the-rust-bundler.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/rolldown-the-rust-bundler.md",
    "title": "Rolldown the Rust bundler",
    "date": "2025-09-05T13:45:10.178295Z",
    "excerpt": "Rolldown caught my eye today. It's a Rust-powered bundler for JavaScript and TypeScript with a Rollup-compatible API, aiming to be Vite's future bundler. Familiar ergonomics with a scope closer to esbuild. Fast where it matters, familiar where you want it. I like that combo.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963961568775057697"
    }
  },
  {
    "slug": "read-aloud-ux-and-timing",
    "path": "threads/2025/read-aloud-ux-and-timing.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/read-aloud-ux-and-timing.md",
    "title": "Read aloud UX and timing",
    "date": "2025-09-05T09:45:12.992433Z",
    "excerpt": "Read‑aloud UX lives in the link between stable sentence breaks and the highlight you see. Breaks go off, you lose context. Timing goes off, the highlight lies. That simple idea drove a lot of my work on follow‑along reading. 📖👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963901170348626306"
    }
  },
  {
    "slug": "hubspot-bcc-logging-goes-live",
    "path": "threads/2025/hubspot-bcc-logging-goes-live.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/hubspot-bcc-logging-goes-live.md",
    "title": "HubSpot bcc logging goes live",
    "date": "2025-09-05T05:45:12.812103Z",
    "excerpt": "This week at @FirstQuadrant: HubSpot BCC email logging is live. I've wanted this one for a while. Connect HubSpot and we auto‑BCC outgoing emails from connected mailboxes so every convo lands in your CRM and deal timelines stay tidy. Week 35, 2025. 📧👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963840771993551289"
    }
  },
  {
    "slug": "base-ui-for-accessible-components",
    "path": "threads/2025/base-ui-for-accessible-components.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/base-ui-for-accessible-components.md",
    "title": "Base UI for accessible components",
    "date": "2025-09-04T21:15:01.740222Z",
    "excerpt": "Been playing with Base UI from the MUI folks: Unstyled, accessibility-first React bits from the people behind Radix, Floating UI, and Material UI. I like that I can plug in my tokens and not fight default styles.\n\nWhat hooked me is the WAI-ARIA focused primitives. I bring Tailwind or CSS in JS, and Base UI handles behavior, keyboard support, and the accessibility semantics (yes, please). The TypeScript types make it hard to wire things wrong.\n\nThe team is a fun mashup: Radix a11y rigor, Floating UI positioning smarts, and MUI component craft. I get headless building blocks to compose buttons, menus, comboboxes, dialogs. No theme lock in.\n\nI would be surprised if this doesn't become the default over Radix on @shadcn UI once it reaches 1.0.\n\nIf you are shipping a product or a design system, this gives you a consistent behavior layer, sensible a11y defaults, and a clean React API. TypeScript, MIT license, and solid docs.\n\nCheck it out: https://github.com/mui/base-ui",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963712427545207126"
    }
  },
  {
    "slug": "benchmark-iq-vs-real-work",
    "path": "threads/2025/benchmark-iq-vs-real-work.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/benchmark-iq-vs-real-work.md",
    "title": "Benchmark IQ vs real work",
    "date": "2025-09-04T15:15:14.587740Z",
    "excerpt": "I'm seeing agentic evals split \"benchmark IQ\" from actually getting work done. On real tools and long tasks, top models still faceplant. Headline scores don't map to reliability, and bolting on more tools can even make policies worse.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963621836065050837"
    }
  },
  {
    "slug": "designing-a-flexible-crm-schema",
    "path": "threads/2025/designing-a-flexible-crm-schema.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/designing-a-flexible-crm-schema.md",
    "title": "Designing a flexible crm schema",
    "date": "2025-09-04T12:32:21.520720Z",
    "excerpt": "Today I went down a rabbit-hole thinking about how to build a flexible CRM on top of Postgres. Most CRMs lock you into rigid tables (contacts, deals, etc.If you want users to define their own record types, custom fields, and relations, you need a different schema design. 💽👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963580821362905549"
    }
  },
  {
    "slug": "agent-driven-workflow-in-terminal",
    "path": "threads/2025/agent-driven-workflow-in-terminal.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/agent-driven-workflow-in-terminal.md",
    "title": "Agent driven workflow in terminal",
    "date": "2025-09-04T09:45:10.347661Z",
    "excerpt": "Congrats @zachlloydtweets on launching Warp Code - looks solid! The real move is changing the unit of work from manual edits to an agent run pipeline with permissions, concurrency, and steering UI inside the terminal. That is much harder to race to the bottom with tokens!",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963538783305187417"
    }
  },
  {
    "slug": "agent-integration-as-protocol",
    "path": "threads/2025/agent-integration-as-protocol.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/agent-integration-as-protocol.md",
    "title": "Agent integration as protocol",
    "date": "2025-09-03T23:15:12.895654Z",
    "excerpt": "It's fantastic that we got Claude Code in @zeddotdev, which is treating agent integration as a protocol:\n- LSP split language brains from IDEs\n- MCP split external data and tools from hardwiring\n- ACP will split agent UX from model and tool lock-in",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963380236814618660"
    }
  },
  {
    "slug": "memory-as-enterprise-control-plane",
    "path": "threads/2025/memory-as-enterprise-control-plane.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/memory-as-enterprise-control-plane.md",
    "title": "Memory as enterprise control plane",
    "date": "2025-09-03T15:15:13.788243Z",
    "excerpt": "What caught my eye in Le Chat is the bet on MCP + user-governed, persistent Memory as the enterprise control plane. The race moves from model QoS to policy, observability, and trust across SaaS actions.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963259444990746774"
    }
  },
  {
    "slug": "anthropic-developer-stack-drives-revenue",
    "path": "threads/2025/anthropic-developer-stack-drives-revenue.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/anthropic-developer-stack-drives-revenue.md",
    "title": "Anthropic developer stack drives revenue",
    "date": "2025-09-03T13:45:17.342221Z",
    "excerpt": "The $13B helps but it is coding PMF + distribution that turned model gains into revenue. @AnthropicAI's wedge is a developer stack, not a chatbot. Claude Code, IDE integrations like Copilot, and MCP convert upgrades into billable time.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1963236810408284647"
    }
  },
  {
    "slug": "config-driven-issue-labeling",
    "path": "threads/2025/config-driven-issue-labeling.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/config-driven-issue-labeling.md",
    "title": "Config driven issue labeling",
    "date": "2025-09-02T09:45:11.736521Z",
    "excerpt": "Found a neat GitHub Action that auto-assesses GitHub issues with an AI model and adds clean, standardized labels. I like the approach a lot: prompt files plus a label-to-prompt mapping, so it stays configuration driven instead of more custom code.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1962814013831815424"
    }
  },
  {
    "slug": "high-school-password-manager-recollection",
    "path": "threads/2025/high-school-password-manager-recollection.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/high-school-password-manager-recollection.md",
    "title": "High school password manager recollection",
    "date": "2025-09-01T21:15:13.074159Z",
    "excerpt": "In 2016, for my high school CS project, I wrote a tiny C++ CLI password manager. One binary file, strings only encoded (not encrypted), and a \"master password\" that mostly gated the UI. Looking back is equal parts cringe and useful. 🔑👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1962625262413324692"
    }
  },
  {
    "slug": "typing-on-glass-reveals-intent",
    "path": "threads/2025/typing-on-glass-reveals-intent.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/typing-on-glass-reveals-intent.md",
    "title": "Typing on glass reveals intent",
    "date": "2025-09-01T13:45:12.870333Z",
    "excerpt": "Typing on glass is not target practice. It is intent inference. Fleksy taught me that in 2014, and the idea aged well from geometric decoding to small on device LMs. ⌨️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1962512016524128353"
    }
  },
  {
    "slug": "always-on-ai-agent",
    "path": "threads/2025/always-on-ai-agent.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/always-on-ai-agent.md",
    "title": "Always on AI agent",
    "date": "2025-09-01T09:45:16.024130Z",
    "excerpt": "I keep coming back to this: the UX of AI is invisible. Not a chat box, but an always on-agent that responds to the world. Chat or voice is pull. Triggers are push. When mail, calendar, or CRM change, it acts - that shift is what we're building at @firstquadrant 🤖👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1962451644358230354"
    }
  },
  {
    "slug": "pronouns-decide-product-voice",
    "path": "threads/2025/pronouns-decide-product-voice.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/pronouns-decide-product-voice.md",
    "title": "Pronouns decide product voice",
    "date": "2025-08-30T21:15:12.561308Z",
    "excerpt": "My take after reading the great @adamsilverhq: \"My\" vs \"Your\" sets the product's point of view. Pronouns decide who's talking and who owns the data. Get that wrong and nav, support copy, and i18n go sideways.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1961900485507678574"
    }
  },
  {
    "slug": "constraints-shape-the-architecture",
    "path": "threads/2025/constraints-shape-the-architecture.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/constraints-shape-the-architecture.md",
    "title": "Constraints shape the architecture",
    "date": "2025-08-30T13:45:09.641473Z",
    "excerpt": "Pre- Flexbox and CSS Grid, equal height cards in a responsive grid meant floats, clearfix, and a bit of JS. On Dec 25, 2015 I shipped One Grid, under 1 KB, for fixed-height infinite blocks. Christmas day hack, yes really. The quiet lesson: constraints pick the architecture. 📐👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1961787239169683563"
    }
  },
  {
    "slug": "codex-unifies-the-workflow",
    "path": "threads/2025/codex-unifies-the-workflow.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/codex-unifies-the-workflow.md",
    "title": "Codex unifies the workflow",
    "date": "2025-08-29T21:15:12.930836Z",
    "excerpt": "Codex is more than the model - it fuses IDE, terminal, cloud sandboxes, GitHub PRs, and your phone into one identity backed agent. A land grab across the workflow, from pair programming to CI. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1961538098896204032"
    }
  },
  {
    "slug": "inputs-cheaper-than-outputs",
    "path": "threads/2025/inputs-cheaper-than-outputs.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/inputs-cheaper-than-outputs.md",
    "title": "Inputs cheaper than outputs",
    "date": "2025-08-29T13:45:07.890981Z",
    "excerpt": "Reading @martinald on inference costs and the instinct is right: inputs are cheaper than outputs. The 1,000x spread hangs on a memory bound prefill though. On real H100 or H200 MoE stacks I see closer to 2 to 5x. Good piece, just needs a tighter bottleneck model.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1961424854936424663"
    }
  },
  {
    "slug": "the-homescreen-as-platform",
    "path": "threads/2025/the-homescreen-as-platform.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/the-homescreen-as-platform.md",
    "title": "The homescreen as platform",
    "date": "2025-08-29T09:45:13.457906Z",
    "excerpt": "I keep circling this idea from my notes: the homescreen is not wallpaper, it is a platform. Whoever owns the first swipe sets defaults for attention, intent, and revenue. I'm revisiting a 2017 thought about making a Facebook Home-style layer. 🏠👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1961364457441120449"
    }
  },
  {
    "slug": "event-imports-are-live",
    "path": "threads/2025/event-imports-are-live.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/event-imports-are-live.md",
    "title": "Event imports are live",
    "date": "2025-08-29T05:45:13.492115Z",
    "excerpt": "Week 34 at @FirstQuadrant: Event imports are live. Pipe external events from your tools into contact timelines, and we'll reason on them to set context and follow‑ups. Each is tagged \"external event,\" so you can see what happened and why a task exists. 🔌👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1961304059396411682"
    }
  },
  {
    "slug": "filterql-for-structured-data",
    "path": "threads/2025/filterql-for-structured-data.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/filterql-for-structured-data.md",
    "title": "FilterQL for structured data",
    "date": "2025-08-28T21:15:01.144212Z",
    "excerpt": "Been playing with FilterQL, a tiny TypeScript query language for structured data. I like when filtering reads like plain logic. This works: (genre == Action || genre == Comedy) && rating >= 8.5 | SORT rating desc. One expression, no if-else soup.\n\nDetails I enjoy: schema defines allowed fields and aliases, logical ops () ! && ||, comparisons == != >= <= plus *= ^= $= ~= for strings and regex, boolean shorthand like monitored, and a built in SORT field asc or desc. Thoughtful and practical.\n\nSetup is simple. Define a schema, new FilterQL({ schema }), then filter(data, query). Great for CLIs, dashboards, and APIs where users type filters. Fewer hand rolled predicates scattered around. Future me says thanks.\n\nSmall and focused with a clear language spec and a clean API. If you want user friendly filtering without going full database query language, this hits a sweet spot: https://github.com/adamhl8/filterql",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1961175710149873795"
    }
  },
  {
    "slug": "openai-unifies-assistants-into-workflows",
    "path": "threads/2025/openai-unifies-assistants-into-workflows.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/openai-unifies-assistants-into-workflows.md",
    "title": "OpenAI unifies assistants into workflows",
    "date": "2025-08-28T15:15:17.252822Z",
    "excerpt": "OpenAI folded Assistants into one Responses API. Less deprecation, more spring cleaning - state, tools, and reasoning are now one primitive tuned for agent style multi step work. Think workflows, not chat. 🔄👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1961085144271671579"
    }
  },
  {
    "slug": "architecture-over-elo-for-builders",
    "path": "threads/2025/architecture-over-elo-for-builders.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/architecture-over-elo-for-builders.md",
    "title": "Architecture over Elo for builders",
    "date": "2025-08-28T09:45:12.615633Z",
    "excerpt": "Nano-banana tops the charts, sure - but the bigger deal is @Google folding image gen and editing into the same flow with token metering, a conversational loop, and scripts. Architecture over Elo. That is the story for builders.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1961002077876015424"
    }
  },
  {
    "slug": "realtime-data-sync-for-postgres",
    "path": "threads/2025/realtime-data-sync-for-postgres.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/realtime-data-sync-for-postgres.md",
    "title": "Realtime data sync for Postgres",
    "date": "2025-08-27T23:15:01.159925Z",
    "excerpt": "Sharing a neat one for folks who live in Postgres land: @ElectricSQL is a real time sync engine that pushes data out over plain HTTP. Postgres stays the source of truth while Electric handles partial replication and fan out. I have built this glue before. I would rather not again.\n\nInstead of wiring changefeeds and socket servers, you describe the data you need and it fans out to browsers, mobile, and edge stores.\n\nGreat fit for local first UIs, realtime dashboards, multi region apps, and AI agents on live data.\n\nWhat sold me: Clean HTTP and OpenAPI surface, quick Docker Compose start, Elixir and Erlang reliability, and a 1.0 release in March. Also 9k stars is a nice signal.\n\nIf Postgres is your source of truth and you want realtime without bespoke plumbing, start here: https://github.com/electric-sql/electric",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960843521252012345"
    }
  },
  {
    "slug": "openai-stateful-responses-bet",
    "path": "threads/2025/openai-stateful-responses-bet.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/openai-stateful-responses-bet.md",
    "title": "OpenAI stateful responses bet",
    "date": "2025-08-27T15:15:14.586438Z",
    "excerpt": "Folding Assistants into a stateful Responses API by @OpenAI feels less like cleanup and more like a bet: Agent loops want durable, tool-aware state and standard I/O. The cheaper search moves the cost line for retrieval heavy agents. I'm here for it. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960722732301348971"
    }
  },
  {
    "slug": "new-baseline-for-image-edits",
    "path": "threads/2025/new-baseline-for-image-edits.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/new-baseline-for-image-edits.md",
    "title": "New baseline for image edits",
    "date": "2025-08-27T13:45:14.101220Z",
    "excerpt": "The fun part of nano banana is that the identity preserving, instruction following, multi-image edits are finally good enough to ship as default. Google just put it in Gemini 2.5 Flash Image Preview. That feels like a new baseline. 🍌👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960700080861962670"
    }
  },
  {
    "slug": "the-promise-behind-intel-stake",
    "path": "threads/2025/the-promise-behind-intel-stake.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/the-promise-behind-intel-stake.md",
    "title": "The promise behind Intel stake",
    "date": "2025-08-27T05:45:12.858209Z",
    "excerpt": "The promise - that's what @benthompson talks about in the new piece \"U.S. Intel\" - a 10% 🇺🇸 stake in @Intel is a commitment device to break the standoff: buyers won't risk 14A without certainty, and Intel won't fund 14A without them. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960579280079085622"
    }
  },
  {
    "slug": "password-storage-needs-cost",
    "path": "threads/2025/password-storage-needs-cost.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/password-storage-needs-cost.md",
    "title": "Password storage needs cost",
    "date": "2025-08-26T23:15:18.508713Z",
    "excerpt": "Using algorithms like MD5 is similar to storing plain text passwords because they both make the same mistake: They treat secrets like static strings. Password storage needs cost, not a checksum. Fast hashes let GPUs eat your lunch. 🔐👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960481133793325559"
    }
  },
  {
    "slug": "design-as-intent-made-tangible",
    "path": "threads/2025/design-as-intent-made-tangible.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/design-as-intent-made-tangible.md",
    "title": "Design as intent made tangible",
    "date": "2025-08-26T21:15:18.497014Z",
    "excerpt": "Design, to me, is intent made tangible in constraints, systems, and choices people can live with. Call it \"styling\" and you miss the work: aligning purpose and form across time and context. That was my 2013 thesis, and it still guides me. 🎨👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960450934993207390"
    }
  },
  {
    "slug": "short-lived-tokens-for-ci",
    "path": "threads/2025/short-lived-tokens-for-ci.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/short-lived-tokens-for-ci.md",
    "title": "Short lived tokens for CI",
    "date": "2025-08-26T15:15:01.737407Z",
    "excerpt": "I've been moving more of my CI to GitHub Apps instead of PATs, and this GitHub Actions workflow tool by @qoomon1 that mindset: It mints temporary tokens in workflows with least privilege by default. No more forever secrets, about time!\n\nHighlights: Short lived tokens scoped to an installation. Granular permissions from your App. Works on GitHub hosted and self hosted runners. Great for cross repo and org automation without handing out PATs.\n\nHow it works: It uses the GitHub App flow. Create a JWT, exchange it for an installation access token, then the action exposes it to your steps. You add App credentials as secrets and rotate them when needed. Nothing long lived baked into the repo or runners.\n\nWhy I'm into it: Fewer long-lived secrets, tighter scopes, quick revoke and audit. TypeScript, ~138 stars, focused scope.\n\nIf you're modernizing CI security, this is an easy drop in (my security brain is happy): https://github.com/qoomon/actions--access-token",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960360339780071737"
    }
  },
  {
    "slug": "boring-is-a-strategy",
    "path": "threads/2025/boring-is-a-strategy.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/boring-is-a-strategy.md",
    "title": "Boring is a strategy",
    "date": "2025-08-26T09:45:13.460672Z",
    "excerpt": "I literally read @sjgoedecke's API design post and kept nodding. The big takeaway for me: boring is a strategy. Ship stable, familiar shapes so users think less and do more. The hard work is change management, not REST vs GraphQL...",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960277294439940545"
    }
  },
  {
    "slug": "prompt-injection-in-ai-browsers",
    "path": "threads/2025/prompt-injection-in-ai-browsers.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/prompt-injection-in-ai-browsers.md",
    "title": "Prompt injection in AI browsers",
    "date": "2025-08-25T23:15:13.178971Z",
    "excerpt": "I just read @zack_overflow's thread and Brave's write‑up about prompt injecting AI browsers. The scary bit: an AI browser that collapses SOP so any page becomes a control plane for cross‑origin actions with your cookies. That's a confused deputy sitting in your tab. ⁉️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960118746825273560"
    }
  },
  {
    "slug": "claudeai-code-restraint-and-orchestration",
    "path": "threads/2025/claudeai-code-restraint-and-orchestration.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/claudeai-code-restraint-and-orchestration.md",
    "title": "ClaudeAI code restraint and orchestration",
    "date": "2025-08-25T21:15:13.195806Z",
    "excerpt": "The clever bit in @ClaudeAI Code is restraint. One loop, stateless sub agents, and an explicit todo let interleaved thinking handle orchestration between tool calls. That alignment is the UX win. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1960088547740000500"
    }
  },
  {
    "slug": "static-jsx-in-mdx",
    "path": "threads/2025/static-jsx-in-mdx.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/static-jsx-in-mdx.md",
    "title": "Static JSX in MDX",
    "date": "2025-08-25T13:45:13.160839Z",
    "excerpt": "The smart bit in the piece by Tim Etler of @vetted_ai: Clamp MDX to a static JSX subset and only render allowlisted React components with schema-checked props. Models can place real UI inside streamed markdown. No iframes. Pretty neat. 📝👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1959975301947310230"
    }
  },
  {
    "slug": "google-gemini-hybrid-reasoning",
    "path": "threads/2025/google-gemini-hybrid-reasoning.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/google-gemini-hybrid-reasoning.md",
    "title": "Google Gemini hybrid reasoning",
    "date": "2025-08-25T09:45:12.643873Z",
    "excerpt": "Skip the \"5 drops of water\" bit, Google just shared production per-prompt telemetry for Gemini and claims 33x energy and 44x carbon cuts in 12 months. Sounds like a full stack push and a new knob I like: hybrid reasoning. 🌳👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1959914901998371262"
    }
  },
  {
    "slug": "memory-as-a-git-repo",
    "path": "threads/2025/memory-as-a-git-repo.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/memory-as-a-git-repo.md",
    "title": "Memory as a git repo",
    "date": "2025-08-25T05:45:09.926948Z",
    "excerpt": "Found DiffMem by Growth-Kinetics on GitHub and I really like the idea: memory as a git repo. Current knowledge in markdown (I'm a sucker for plain text), history in commits, so an agent works off the now and can jump into diffs when it needs the backstory.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1959854505203540185"
    }
  },
  {
    "slug": "openai-platform-plumbing",
    "path": "threads/2025/openai-platform-plumbing.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/openai-platform-plumbing.md",
    "title": "OpenAI platform plumbing",
    "date": "2025-08-24T15:15:12.801961Z",
    "excerpt": "Our friends at @OpenAI just collapsed two hard problems - third party data access and state - into platform features. Connectors + Conversations push agent logic from your app's logic into the Responses API. Ship UI and policy, let the platform do the plumbing. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1959635561112830447"
    }
  },
  {
    "slug": "skope-pricing-cross-tenant-verification",
    "path": "threads/2025/skope-pricing-cross-tenant-verification.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/skope-pricing-cross-tenant-verification.md",
    "title": "Skope pricing cross tenant verification",
    "date": "2025-08-24T09:45:09.766874Z",
    "excerpt": "This week I enjoyed @imbensmith and team's launch of Skope (YC S25). The non-obvious part of pricing is treating billing as cross-tenant verification. Outcome pricing works when you can prove results by joining seller events with the buyer's system of record. 💳👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1959552514258538516"
    }
  },
  {
    "slug": "ai-ux-beyond-chat",
    "path": "threads/2025/ai-ux-beyond-chat.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/ai-ux-beyond-chat.md",
    "title": "AI UX beyond chat",
    "date": "2025-08-23T21:15:12.623887Z",
    "excerpt": "IMO AI UX is not chat. I like chat for quick ideas, but for teams it collapses structure, loses memory, and lives outside the work. Better metaphors are agents that act, pipelines that run in the background, and native controls inside the tools we already use. 🤖👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1959363770343645473"
    }
  },
  {
    "slug": "summarization-as-a-platform-primitive",
    "path": "threads/2025/summarization-as-a-platform-primitive.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/summarization-as-a-platform-primitive.md",
    "title": "Summarization as a platform primitive",
    "date": "2025-08-23T13:45:12.732421Z",
    "excerpt": "Hot take from my 2017 notes that aged well: summarization should be a platform primitive with a clean Summarizer API. Not a bolt‑on feature, a thing apps compose like storage or auth. Eight years later, this still feels right. 📝👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1959250524655726773"
    }
  },
  {
    "slug": "openai-s-india-first-go-tier",
    "path": "threads/2025/openai-s-india-first-go-tier.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/openai-s-india-first-go-tier.md",
    "title": "OpenAI's India-first Go tier",
    "date": "2025-08-22T21:15:09.761570Z",
    "excerpt": "To me, @OpenAI's 🇮🇳-first Go tier is a live experiment in LLM unit economics, not a land grab. ₹399 with @UPI_NPCI removes payment friction while they test how much GPT‑5 you can subsidize with rate limit shaping and model cascades.👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1959001382759145960"
    }
  },
  {
    "slug": "agents-md-standard",
    "path": "threads/2025/agents-md-standard.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/agents-md-standard.md",
    "title": "AGENTS.md standard",
    "date": "2025-08-22T13:45:13.724091Z",
    "excerpt": "We finally have a standard! Repos declare agent intent: drop an AGENTS.md at the root and pair it with MCP. That turns prompt glue into config and policy you can move across IDEs and runtimes. Less guesswork. More contracts.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958888139814313987"
    }
  },
  {
    "slug": "agents-as-first-class-users",
    "path": "threads/2025/agents-as-first-class-users.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/agents-as-first-class-users.md",
    "title": "Agents as first-class users",
    "date": "2025-08-22T09:45:12.803046Z",
    "excerpt": "Agents as first-class users is the story the brings @Databricks to $100B reads. Lakebase brings OLTP into the lakehouse, Agent Bricks tackles agent quality. That's the bet, and it's a big one.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958827739206885690"
    }
  },
  {
    "slug": "firstquadrant-x-cal-com",
    "path": "threads/2025/firstquadrant-x-cal-com.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/firstquadrant-x-cal-com.md",
    "title": "FirstQuadrant x Cal.com",
    "date": "2025-08-22T05:45:12.535827Z",
    "excerpt": "This week at @FirstQuadrant, we shipped a @calcom integration: Connect it once and every new booking becomes a qualified inbound lead with event details, organizer info, and attendee responses. Contacts are created or updated instantly, so you can follow up right away. 📅👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958767340121989343"
    }
  },
  {
    "slug": "design-that-expresses-thought",
    "path": "threads/2025/design-that-expresses-thought.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/design-that-expresses-thought.md",
    "title": "Design that expresses thought",
    "date": "2025-08-21T21:15:09.800361Z",
    "excerpt": "Sharing another one from 2013: I see design as expressing thought. It is the discipline that makes purpose, form, and timing click. The aim isn't perfect symmetry, it is clarity that fits the user's moment. Make things useful. Build experiences, not interfaces. 🎨👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958638994792882408"
    }
  },
  {
    "slug": "swift-claude-code-sdk",
    "path": "threads/2025/swift-claude-code-sdk.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/swift-claude-code-sdk.md",
    "title": "Swift Claude Code SDK",
    "date": "2025-08-21T15:15:01.899512Z",
    "excerpt": "Sharing a neat Swift SDK for @ClaudeAI Code by my friend @aruneshsingh99: Pure Swift, type safe models, and async/await with real streaming. The fun part is two way conversations, so you can build an interactive code assistant right in Swift.\n\nThings that stood out to me: typed message and block models, AsyncSequence streaming, tool support for Read, Write, and Bash, interrupt support, permission controls, zero dependencies. Swift 6 strict concurrency, plus MCP integration.\n\nI also like the small quality of life bits: You can change settings mid conversation and the session stays alive. updatePermissionMode, updateSystemPrompt, updateAllowedTools. The client API reads well too with queryStream and receiveResponse yielding TextBlock or ToolUseBlock.\n\nI can see this powering editor plugins, macOS apps, or server side Swift agents that read and write code and run bash safely. It is SPM-friendly and uses the Claude Code CLI under the hood: https://github.com/AruneshSingh/ClaudeCodeSwiftSDK",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958548401110602035"
    }
  },
  {
    "slug": "tariffs-push-india-toward-china",
    "path": "threads/2025/tariffs-push-india-toward-china.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/tariffs-push-india-toward-china.md",
    "title": "Tariffs push India toward China",
    "date": "2025-08-21T09:45:12.839674Z",
    "excerpt": "I just read Dr. Selim Raihan's piece. The real risk in a 50% tariff shock is a nudge toward China/RCEP - the opposite of friendshoring. https://www.tbsnews.net/features/panorama/will-us-tariffs-push-india-closer-china-1207586?utm_source=chatgpt.com",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958465351471268247"
    }
  },
  {
    "slug": "automated-design-review-with-claude",
    "path": "threads/2025/automated-design-review-with-claude.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/automated-design-review-with-claude.md",
    "title": "Automated design review with Claude",
    "date": "2025-08-20T23:15:01.632581Z",
    "excerpt": "Been deep in Claude Code for months now, so this from @PatOakEllis hit home: Practical workflows from an AI-native startup.\n\nThe Design Review workflow is kinda cool: Automated feedback on frontend PRs for UI and UX consistency and accessibility before merge. Less guesswork, more signal.\n\nUnder the hood, it drives a real browser with Playwright MCP and pairs it with Claude Code agents. It looks at the rendered UI, checks against standards, and catches visual issues early.\n\nThis turns design QA into a repeatable step teams can share, not a last minute ping. Handy when you are growing a design system or shipping fast.\n\nPatrick Ellis has solid tutorials and demos on YouTube. Worth a look: https://github.com/OneRedOak/claude-code-workflows",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958306807899934738"
    }
  },
  {
    "slug": "empathy-unlocks-claude-code",
    "path": "threads/2025/empathy-unlocks-claude-code.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/empathy-unlocks-claude-code.md",
    "title": "Empathy unlocks Claude Code",
    "date": "2025-08-20T15:15:07.982437Z",
    "excerpt": "Watched the new YC interview with Anthropic's @nottombrown and my big takeaway: Claude Code didn't need secret sauce - any solid team could ship a CLI on the Claude API, but the leap was empathy for the model. Build a coding tool for Claude, and you get a better tool for us. 💻👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958186013031088175"
    }
  },
  {
    "slug": "treat-hn-as-load-test",
    "path": "threads/2025/treat-hn-as-load-test.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/treat-hn-as-load-test.md",
    "title": "Treat HN as load test",
    "date": "2025-08-20T13:45:10.788945Z",
    "excerpt": "Reading @mooreds’s take on making to the HN front page: The traffic spike is fun, but the real value sits in the comments and the follow on links. Having been featured a few times myself, I agree - treat HN as a one day load test and peer review, not a growth channel.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958163364489887944"
    }
  },
  {
    "slug": "uplift-ai-urdu-tts-launched",
    "path": "threads/2025/uplift-ai-urdu-tts-launched.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/uplift-ai-urdu-tts-launched.md",
    "title": "Uplift AI Urdu TTS launched",
    "date": "2025-08-20T05:45:07.041155Z",
    "excerpt": "Uplift AI launched on HN yesterday and I'm a fan! It's more than just Urdu TTS: it's full-stack so it's about owning the data, fixing orthography and code switching, and shipping a real time voice UX where the big players still feel clunky.\n\nOn the tech side, they expose WebSocket TTS with chunked streaming and a LiveKit plugin. Goal is conversational latency and getting the first audio out quickly. There is a phrase replacement API to normalize brand names and transliterations.\n\nDocs read like a product: Cancel semantics, multi stream synthesis, 22.05 kHz, MP3 or OGG or PCM; these are the small details I look for when shipping voice agents.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1958042565846180270"
    }
  },
  {
    "slug": "local-first-transcription-tools",
    "path": "threads/2025/local-first-transcription-tools.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/local-first-transcription-tools.md",
    "title": "Local first transcription tools",
    "date": "2025-08-19T23:15:01.732955Z",
    "excerpt": "Been thinking about moving more of my workflow to local-first tools this year, and @epicenter_so from YC S25 seems like it may hit the sweet spot for me. Press shortcut → speak → get text, and everything lands in one shared memory folder, plain text plus SQLite. You own the data, can use any model, and it is open source. Fast and simple.\n\nWhispering is the headliner: Desktop transcription that lives on your machine is great. Hit a hotkey, talk, get text. Bring your own API key, keep files local, and it runs on macOS, Windows, and Linux in a Tauri plus Rust shell. No web round trip.\n\nSince it is just text and SQLite, you can grep it, open it in Obsidian, or sync it however you like. No silos.\n\nWhy devs might enjoy this: unified open storage instead of app silos, model agnostic by design, and a modern stack with Svelte 5 and SvelteKit, TypeScript, Tauri and Rust, Tailwind, TanStack Query: https://github.com/epicenter-so/epicenter",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957944420369920195"
    }
  },
  {
    "slug": "bilingual-typography-should-be-standard",
    "path": "threads/2025/bilingual-typography-should-be-standard.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/bilingual-typography-should-be-standard.md",
    "title": "Bilingual typography should be standard",
    "date": "2025-08-19T21:15:10.315041Z",
    "excerpt": "Bilingual typography shouldn't be an afterthought. I wrote a note in 2017 because mixing Latin and Devanagari kept feeling like a hack. It's about metrics, shaping, numerals, emphasis, and readability from billboards to chat apps. The tooling is ready. Our defaults should be too. 🔤 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957914221435580495"
    }
  },
  {
    "slug": "designing-the-politics-of-connectivity",
    "path": "threads/2025/designing-the-politics-of-connectivity.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/designing-the-politics-of-connectivity.md",
    "title": "Designing the politics of connectivity",
    "date": "2025-08-19T15:15:09.004055Z",
    "excerpt": "In 2013 I worked on a project to redesign Internet.org and I learned a bigger truth - design for \"connect the world\" is never neutral. Visual systems can signal openness, agency, and power. Pixels were easy, but purpose was hard. 🌍👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957823630374814074"
    }
  },
  {
    "slug": "typescript-type-stripping-by-default",
    "path": "threads/2025/typescript-type-stripping-by-default.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/typescript-type-stripping-by-default.md",
    "title": "TypeScript type stripping by default",
    "date": "2025-08-19T09:45:07.287112Z",
    "excerpt": "Skimming @nodejs v22.18 LTS notes and I'm so excited about TypeScript type stripping on by default. Erase-only, position-preserving, no tsconfig or source maps. Small runtime surface. Big DX win for TS devs!",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957740576574697702"
    }
  },
  {
    "slug": "owning-state-in-system-design",
    "path": "threads/2025/owning-state-in-system-design.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/owning-state-in-system-design.md",
    "title": "Owning state in system design",
    "date": "2025-08-18T23:15:06.927036Z",
    "excerpt": "Reading Sean Goedecke on system design is such a great experience. It is all about owning state. Fancy setups often hide unclear write ownership. The boring win.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957582030767837330"
    }
  },
  {
    "slug": "stableavatar-for-avatar-videos",
    "path": "threads/2025/stableavatar-for-avatar-videos.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/stableavatar-for-avatar-videos.md",
    "title": "StableAvatar for avatar videos",
    "date": "2025-08-18T21:15:01.110485Z",
    "excerpt": "Been tinkering with avatar agents lately, and this project is pretty neat. StableAvatar is an end to end video diffusion transformer that makes infinite length audio driven avatar videos from a single reference image and audio - no post processing. The identity stays intact.\n\nThe clever bit is a time step-aware audio adapter. It modulates the denoiser at every diffusion step so the audio control stays stable across segments, which stops the usual drift you get when you pipe in off the shelf audio embeddings through cross attention.\n\nDuring inference, they add Audio Native Guidance to tighten lip sync and prosody. No face swap or face restore tricks here (FaceFusion, GFP GAN, CodeFormer).\n\nEnd result: long, stable, high quality, ID consistent renders for lectures, dubbing, and agents. And, open source!\n\nIf you are building realistic avatar or video agents, start here: https://github.com/Francis-Rings/StableAvatar",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957551831393136778"
    }
  },
  {
    "slug": "small-core-big-empathy",
    "path": "threads/2025/small-core-big-empathy.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/small-core-big-empathy.md",
    "title": "Small core big empathy",
    "date": "2025-08-18T13:45:08.137107Z",
    "excerpt": "Small core, big empathy: ship a tiny bootstrap, then load accessibility modules only when someone switches them on. You keep the first hit light and still give folks real controls when they ask, this is how we built our web accessibility plugin in 2017 at @OswaldLabs ♿👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957438589610119557"
    }
  },
  {
    "slug": "acquiring-the-unity-mcp-repo",
    "path": "threads/2025/acquiring-the-unity-mcp-repo.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/acquiring-the-unity-mcp-repo.md",
    "title": "Acquiring the Unity MCP repo",
    "date": "2025-08-18T09:45:07.177112Z",
    "excerpt": "Just read @JosvdWest's write-up on acquiring the Unity MCP repo... you don't get to see repo acquisitions often - buying distribution in OSS means you're migrating SEO signals and trust. I've gotten offers for some of my more popular projects and it's... interesting?",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957378188365209800"
    }
  },
  {
    "slug": "aptitude-revisited-after-a-decade",
    "path": "threads/2025/aptitude-revisited-after-a-decade.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/aptitude-revisited-after-a-decade.md",
    "title": "Aptitude revisited after a decade",
    "date": "2025-08-18T05:45:08.729563Z",
    "excerpt": "Back in 2014 I shipped Aptitude, a tiny theme to publish a clean one page articles in minutes. Three CSS files, copy the demo, hit deploy, then let the words breathe. The real goal was less build, more writing. A decade later I revisited it to see how small front end choices age... 📄👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957317795974369441"
    }
  },
  {
    "slug": "open-hardware-patent-defense",
    "path": "threads/2025/open-hardware-patent-defense.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/open-hardware-patent-defense.md",
    "title": "Open hardware patent defense",
    "date": "2025-08-17T15:15:01.304725Z",
    "excerpt": "I just read @josefprusa's piece on 3D printing hardware and the pipeline that turns cheap filings into chokepoints for open hardware: utility models, Paris priority, fast border actions.\n\nA patent can be weak and still wreck your supply chain. CN and DE utility models are fast and cheap with no real exam. You can file a bunch and see what sticks. You then get a 12 month Paris priority window to refile abroad. In the US, a Section 337 ITC case can block imports in roughly 16 to 18 months. That is faster than most challenges land, and open hardware feels that first.\n\nThe asymmetry on cost and time is the kicker. In China, a utility model filing is around ¥500. In Europe, oppositions run for years. In the US, an ex parte reexam starts around 6.3k to 12.6k dollars before counsel. An ITC exclusion order keeps biting until it is lifted. That chills open manufacturing.\n\nPolicy makes it worse. China's R and D super deduction sits around 200 percent in many cases. You do not need patents to claim it, but codifying R and D helps, so filings pile up. AM patents grew fast from 2013 to 2020, yet domestic utility models and local filings often do not show up in international family stats. The spike may be hiding in a different dataset.\n\nWhat we can do next: Use CERN OHL v2 with patent retaliation. Publish defensively at scale so prior art is easy to find. Build a hardware OIN or LOT style group with pooled defense and prior art bounties. And yes, use AI to help with search and drafting, with humans in the loop.\n\nLink: https://www.josefprusa.com/articles/open-hardware-in-3d-printing-is-dead/\n\nWho funds a hardware patent defense league that small shops can join? How do we standardize AI assisted defensive publishing across languages?  When we have AI patent clerks, can we make IP protection free, so open source maintainers can protect their good ideas like the big guys can?",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957098847198707835"
    }
  },
  {
    "slug": "cyberdesk-launch-signals-new-era",
    "path": "threads/2025/cyberdesk-launch-signals-new-era.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/cyberdesk-launch-signals-new-era.md",
    "title": "Cyberdesk launch signals new era",
    "date": "2025-08-17T09:45:06.921942Z",
    "excerpt": "This week YC S25’s Cyberdesk launched on HN and I realized how far we've come from LLMs clicking UIs - trajectory caching and deterministic replay with a tight break glass to computer use. That feels right. The threshold policy is basically the product. 🖱️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1957015799744569379"
    }
  },
  {
    "slug": "funding-oss-like-public-infrastructure",
    "path": "threads/2025/funding-oss-like-public-infrastructure.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/funding-oss-like-public-infrastructure.md",
    "title": "Funding OSS like public infrastructure",
    "date": "2025-08-16T21:15:06.979531Z",
    "excerpt": "Reading @Dries on funding OSS like public infrastructure - this might be one of the defining ideas of our time. Instead of \"more money\", making maintainers of critical deps funded operators with SLOs, reinforced by upstream first procurement. Finally, risk and incentives line up!",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1956827055469064327"
    }
  },
  {
    "slug": "the-shift-to-wearables",
    "path": "threads/2025/the-shift-to-wearables.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/the-shift-to-wearables.md",
    "title": "The shift to wearables",
    "date": "2025-08-16T13:45:07.032734Z",
    "excerpt": "The big shift for me this year: LLMs left the browser and moved into things I wear. I use Ray‑Ban Meta glasses and a Limitless pendant every day (yes, really!). It happened fast, and it already changes how I look, listen, and decide in the moment. 🕶️👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1956713809214951723"
    }
  },
  {
    "slug": "channels-beat-features",
    "path": "threads/2025/channels-beat-features.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/channels-beat-features.md",
    "title": "Channels beat features",
    "date": "2025-08-15T21:15:07.085011Z",
    "excerpt": "Back in 2016, \"local-language Android for India\" felt like the product. I thought the OS was the story. Turns out language was the wedge and distribution the business. @IndusOS looked like an India-first Android fork. By 2025 the gravity is app stores, billing, and OEM pipes. Channels beat features. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1956464668022906980"
    }
  },
  {
    "slug": "omnara-mission-control-for-ai",
    "path": "threads/2025/omnara-mission-control-for-ai.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/omnara-mission-control-for-ai.md",
    "title": "Omnara mission control for AI",
    "date": "2025-08-15T13:45:09.146077Z",
    "excerpt": "This week, @IshSup launched Omnara (YC S25), a mission control for AI agents. It turns Claude Code, Cursor, and Copilot from quiet background workers into teammates you can guide from your phone w/ real time updates and actionable nudges for those long running jobs. 💻👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1956351431012986963"
    }
  },
  {
    "slug": "india-rewrites-made-in-signals",
    "path": "threads/2025/india-rewrites-made-in-signals.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/india-rewrites-made-in-signals.md",
    "title": "India rewrites made in signals",
    "date": "2025-08-15T09:45:06.942731Z",
    "excerpt": "Country-of-origin labels are really proxies for trust. They hint at process, standards, and service more than a dot on a map. In the last decade, India showed how open digital rails plus targeted manufacturing policy can rewrite what \"made in\" signals. 🇮🇳👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1956291023795364209"
    }
  },
  {
    "slug": "github-mcp-server-in-navbar",
    "path": "threads/2025/github-mcp-server-in-navbar.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/github-mcp-server-in-navbar.md",
    "title": "GitHub MCP server in navbar",
    "date": "2025-08-15T05:45:07.910662Z",
    "excerpt": "GitHub added their MCP server in the navbar, so I was curious about how they built it. It plugs real GitHub context into AI agents. Read code, search repos, manage issues and PRs, and trigger workflows with plain English. \n👨‍💻👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1956230629638668476"
    }
  },
  {
    "slug": "ioi-gold-transfer",
    "path": "threads/2025/ioi-gold-transfer.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/ioi-gold-transfer.md",
    "title": "IOI gold transfer",
    "date": "2025-08-14T21:15:09.815644Z",
    "excerpt": "The headline is IOI gold - the story is transfer. The same general reasoning stack that hit IMO gold, with zero IOI training, then landed roughly 6th against humans under normal rules. Proofs to programs with the same brain. That is the wow. 🥇👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1956102280496996616"
    }
  },
  {
    "slug": "contact-summaries-and-duplicate-cleanup",
    "path": "threads/2025/contact-summaries-and-duplicate-cleanup.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/contact-summaries-and-duplicate-cleanup.md",
    "title": "Contact summaries and duplicate cleanup",
    "date": "2025-08-14T15:15:12.907981Z",
    "excerpt": "This week at @FirstQuadrant: Contact Summaries and cleaner duplicate merging: One click to know who you're talking to, one click to keep your sales stack tidy 📝👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1956011683408961698"
    }
  },
  {
    "slug": "leaflet-is-awesome-a-tiny-js-library-for-mobilef",
    "path": "threads/2025/leaflet-is-awesome-a-tiny-js-library-for-mobilef.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/leaflet-is-awesome-a-tiny-js-library-for-mobilef.md",
    "title": "Leaflet is awesome a tiny JS library for mobilef",
    "date": "2025-08-14T09:45:08.654Z",
    "excerpt": "Leaflet is awesome: a tiny JS library for mobile‑friendly interactive maps that still does the big stuff. ~42 KB gzipped JS + 4 KB CSS (yes, really) and an API that gets you from tiles to markers in minutes. My kind of DX.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1955928642590269762"
    }
  },
  {
    "slug": "in-2016-i-sketched-a-tiny-idea-in-my-notes-wrap",
    "path": "threads/2025/in-2016-i-sketched-a-tiny-idea-in-my-notes-wrap.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/in-2016-i-sketched-a-tiny-idea-in-my-notes-wrap.md",
    "title": "In 2016 I sketched a tiny idea in my notes wrap",
    "date": "2025-08-13T23:15:10.296Z",
    "excerpt": "In 2016, I sketched a tiny idea in my notes: wrap multiple chat web apps in a Swift container, add tabs, sprinkle a little JS, ship. It felt hacky, but the core insight was simple. Aggregation beats fragmentation. Start with webviews, aim for coherence. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1955770092240953829"
    }
  },
  {
    "slug": "scott-leibrands-github-issue-on-claude-codes-yo",
    "path": "threads/2025/scott-leibrands-github-issue-on-claude-codes-yo.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/scott-leibrands-github-issue-on-claude-codes-yo.md",
    "title": "Scott Leibrands GitHub issue on Claude Codes Yo",
    "date": "2025-08-13T15:15:08.378Z",
    "excerpt": "Scott Leibrand's GitHub issue on Claude Code's \"You're absolutely right!\" tic is so funny... the model agrees when there's nothing to agree with. Is that policy bug showing up as style? https://github.com/anthropics/claude-code/issues/3382",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1955649300350071032"
    }
  },
  {
    "slug": "i-once-asked-2014-me-a-silly-question-how-beautif",
    "path": "threads/2025/i-once-asked-2014-me-a-silly-question-how-beautif.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/i-once-asked-2014-me-a-silly-question-how-beautif.md",
    "title": "I once asked 2014 me a silly question how beautif",
    "date": "2025-08-13T13:45:09.637Z",
    "excerpt": "I once asked 2014 me a silly question: how beautiful can an article feel with one stylesheet in ~786 bytes? I shipped essential.css to find out. Constraints over features. Fast by default. The idea of worked better than I expected. \n\nArchitecture in miniature:\n• Style the HTML you already have: h1 to h6, p, a, img, blockquote\n• One column with a ~65ch measure and comfy line height\n• Images scale to the container\n• Simple header and footer\n• Element selectors only so overrides stay easy\n\nTradeoffs: no theming, no RTL, no print, and a11y leaned on the author. I stood on Normalize.css and friends.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1955626655701172705"
    }
  },
  {
    "slug": "i-like-that-anthropics-chat-memory-is-retrieval",
    "path": "threads/2025/i-like-that-anthropics-chat-memory-is-retrieval.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/i-like-that-anthropics-chat-memory-is-retrieval.md",
    "title": "I like that Anthropics chat memory is retrieval",
    "date": "2025-08-12T15:15:16.714Z",
    "excerpt": "I like that Anthropic's chat \"memory\" is retrieval first, not a creeping user profile. The win is user in the loop recall that cuts surprise context and fits enterprise controls. Less magical vibes, more predictable recall.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1955286911108690195"
    }
  },
  {
    "slug": "just-read-al3rez-on-dropping-task-apps-for-one-to",
    "path": "threads/2025/just-read-al3rez-on-dropping-task-apps-for-one-to.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/just-read-al3rez-on-dropping-task-apps-for-one-to.md",
    "title": "Just read al3rez on dropping task apps for one to",
    "date": "2025-08-12T09:45:09.592Z",
    "excerpt": "Just read @al3rez on dropping task apps for one todo.txt for faster capture and review, and data that lasts. Append only logs fail less than multi screen task managers with flaky sync.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1955203859720310898"
    }
  },
  {
    "slug": "active-learning-is-back-the-real-move-is-optimizi",
    "path": "threads/2025/active-learning-is-back-the-real-move-is-optimizi.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/active-learning-is-back-the-real-move-is-optimizi.md",
    "title": "Active learning is back The real move is optimizi",
    "date": "2025-08-11T21:15:10.004Z",
    "excerpt": "Active learning is back? The real move is optimizing for expert agreement on messy policy tasks... with high‑fidelity labels, up to 10,000x less data at equal or better quality. The catch is getting those labels. 🔖🔖🔖",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1955015116388515862"
    }
  },
  {
    "slug": "there-are-conflicting-reports-on-how-smart-gpt5-i",
    "path": "threads/2025/there-are-conflicting-reports-on-how-smart-gpt5-i.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/there-are-conflicting-reports-on-how-smart-gpt5-i.md",
    "title": "There are conflicting reports on how smart GPT5 i",
    "date": "2025-08-11T13:45:11.567Z",
    "excerpt": "There are conflicting reports on how smart GPT-5 is in day-to-day usage, but I think that's not the main innovation. GPT-5 in ChatGPT is really OpenAI collapsing the model menu into a router. UX moves to an autoswitcher that spends test-time compute. When routing hits, it feels like magic. When it whiffs, it feels broken.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1954901877113700711"
    }
  },
  {
    "slug": "the-jurisdiction-gap-in-privacy",
    "path": "threads/2025/the-jurisdiction-gap-in-privacy.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/the-jurisdiction-gap-in-privacy.md",
    "title": "The jurisdiction gap in privacy",
    "date": "2025-08-11T09:45:16.205Z",
    "excerpt": "I re-read my 2013 post on Orwell and the internet. In 2025 the web still feels borderless, but control is territorial. Most of our bits live in a few US anchored clouds and pick up their laws and secret courts along the way. That jurisdiction gap is the real privacy story now.👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1954841487084278107"
    }
  },
  {
    "slug": "i-feel-like-leerobs-new-post-reflecting-on-the-s",
    "path": "threads/2025/i-feel-like-leerobs-new-post-reflecting-on-the-s.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/i-feel-like-leerobs-new-post-reflecting-on-the-s.md",
    "title": "I feel like leerobs new post reflecting on the s",
    "date": "2025-08-11T08:28:38.607Z",
    "excerpt": "I feel like @leerob's new post reflecting on the switch from Vercel to Cursor is more about incentives that shape our architecture. A bundler‑coupled RSC plus non‑commercial stewardship left space that frameworks rushed into and that's how we talked about React ca. 2020 to 2025.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1954822215511478394"
    }
  },
  {
    "slug": "best-bit-from-simonws-bay-area-ai-security-talk",
    "path": "threads/2025/best-bit-from-simonws-bay-area-ai-security-talk.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/best-bit-from-simonws-bay-area-ai-security-talk.md",
    "title": "Best bit from simonws Bay Area AI Security talk",
    "date": "2025-08-11T05:45:17.459Z",
    "excerpt": "Best bit from @simonw's Bay Area AI Security talk: don’t think \"prompt injection\" but think permission composition. Private data + untrusted content + egress equals a data‑theft machine. That combo is the lethal trifecta. 3️⃣👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1954781094626447429"
    }
  },
  {
    "slug": "some-more-thoughts-on-the-attempt-to-hide-model-ch",
    "path": "threads/2025/some-more-thoughts-on-the-attempt-to-hide-model-ch.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/some-more-thoughts-on-the-attempt-to-hide-model-ch.md",
    "title": "Some more thoughts on the attempt to hide model ch",
    "date": "2025-08-10T15:15:13.481Z",
    "excerpt": "Some more thoughts on the attempt to hide model choice behind a learned router with GPT-5 in ChatGPT, then the quick rollback when power users wanted control. 🧵",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1954562134458995088"
    }
  },
  {
    "slug": "gpt5-didnt-suddenly-get-dumber-the-router-did",
    "path": "threads/2025/gpt5-didnt-suddenly-get-dumber-the-router-did.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/gpt5-didnt-suddenly-get-dumber-the-router-did.md",
    "title": "GPT5 didnt suddenly get dumber  the router did",
    "date": "2025-08-09T21:15:12.620Z",
    "excerpt": "GPT-5 didn't suddenly get dumber - the router did. Autoswitching across models made capability feel random, so folks blamed the brain instead of the traffic cop. Fixes are rolling and 4o is back while they patch the decision logic.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1954290340665647218"
    }
  },
  {
    "slug": "last-week-we-shipped-memory-feature-preview-fi",
    "path": "threads/2025/last-week-we-shipped-memory-feature-preview-fi.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/last-week-we-shipped-memory-feature-preview-fi.md",
    "title": "Last week we shipped Memory feature preview  Fi",
    "date": "2025-08-09T13:45:12.981Z",
    "excerpt": "Last week we shipped Memory (feature preview) - FirstQuadrant can now remember context from your sales conversations and reuse it to make every email, intro, and follow‑up more personal and consistent. I'm really excited about this one. 👇",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1954177095049048313"
    }
  },
  {
    "slug": "its-not-about-how-big-it-is-its-about-how-you-u",
    "path": "threads/2025/its-not-about-how-big-it-is-its-about-how-you-u.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/its-not-about-how-big-it-is-its-about-how-you-u.md",
    "title": "Its not about how big it is its about how you u",
    "date": "2025-08-08T21:15:15.878Z",
    "excerpt": "It's not about how big it is, it's about how you use it?\n\nIt seems like the headline isn't size anymore, it's convergence. Closed SOTA nudges up on coding, but the gap to strong open weights is now single digits, and most of the real gains I'm seeing come from routing, post‑training, and agent scaffolds - not raw scale.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1953927953626378397"
    }
  },
  {
    "slug": "i-like-that-gpt5-isnt-just-another-bigger-model",
    "path": "threads/2025/i-like-that-gpt5-isnt-just-another-bigger-model.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/i-like-that-gpt5-isnt-just-another-bigger-model.md",
    "title": "I like that GPT5 isnt just another bigger model",
    "date": "2025-08-08T13:45:13.610Z",
    "excerpt": "I like that GPT‑5 isn't just another \"bigger model.\" It's a system: a router that switches between a fast main model and a deeper reasoning model, with test‑time compute as a knob - and pricing that nudges you to actually turn it.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1953814709268099120"
    }
  },
  {
    "slug": "deepminds-genie-3-takes-a-step-forward-in-aidriv",
    "path": "threads/2025/deepminds-genie-3-takes-a-step-forward-in-aidriv.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/deepminds-genie-3-takes-a-step-forward-in-aidriv.md",
    "title": "DeepMinds Genie 3 takes a step forward in AIdriv",
    "date": "2025-08-06T15:00:17.183Z",
    "excerpt": "DeepMind's Genie 3 takes a step forward in AI-driven interactive environments, potentially becoming \"game engine 2.0.\" Imagine generating real-time, 3D worlds from just text prompts - consistently running at 720p and 24fps!",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1953108824426254574"
    }
  },
  {
    "slug": "cloudflares-action-against-perplexity-ai-highligh",
    "path": "threads/2025/cloudflares-action-against-perplexity-ai-highligh.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/cloudflares-action-against-perplexity-ai-highligh.md",
    "title": "Cloudflares action against Perplexity AI highligh",
    "date": "2025-08-06T12:00:11.380Z",
    "excerpt": "Cloudflare's action against Perplexity AI highlights a key tension in the AI world: balancing data access with web standards adherence. I'm on team Perplexity because I wouldn't differentiate between Perplexity app the Comet browser - it's browsing on my behalf.",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1953063523770351996"
    }
  },
  {
    "slug": "heres-the-ai-prompt-we-use-to-generate-our-famou",
    "path": "threads/2025/heres-the-ai-prompt-we-use-to-generate-our-famou.md",
    "source": "https://github.com/AnandChowdhary/notes/blob/main/threads/2025/heres-the-ai-prompt-we-use-to-generate-our-famou.md",
    "title": "Heres the AI prompt we use to generate our famou",
    "date": "2025-06-03T11:39:25.079Z",
    "excerpt": "Here’s the AI prompt we use to generate our \"famous\" weekly changelogs from git commit history\n\nFirst, we fetch all the commits: git log --pretty=format:\"%h : %s\" --since=\"${startDate}\" --until=\"${endDate}\"\n\nand then we format them and feed those into the prompt - and the prompt generates a very well-written, categorized prompt that we publish on our @mintlify docs site using a GitHub Actions workflow every Monday.\n\nHere are some of the features of the prompt:\n- Strict categorization so it knows what to include and what to skip - “New features” “Improvements” “Fixes” “Behind the scenes”\n- User-facing changes vs backend: Uses a simple decision rule: “Can the user see or interact with this in the app? If no, it goes in Behind the scenes”\n- Includes 4 actual @firstquadrant changelogs that I had previously hand-written as examples\n- Adds product context and a glossary for improved domain-specific terminology\n- Clear formatting rules for consistency between generated changelogs\n",
    "attributes": {
      "twitter": "https://x.com/AnandChowdhary/status/1929865458091704411"
    }
  }
]