41554 blogs · [ { "id": "01a0d34c-139d-73d0-b645-3fb9a29251f2", "title": "the senior engineer death spiral", "url": "https://sunilpai.dev/posts/the-senior-engineer-death-spiral/", "published_at": "2026-09-19T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-1504561d4325", "title": "the appeal", "url": "https://sunilpai.dev/posts/the-appeal/", "published_at": "2026-09-07T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150456c1546b", "title": "the task isn't the job", "url": "https://sunilpai.dev/posts/the-task-isnt-the-job/", "published_at": "2026-08-14T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150456f64209", "title": "startups need an asymmetry", "url": "https://sunilpai.dev/posts/startups-need-an-asymmetry/", "published_at": "2026-08-12T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150457b1c096", "title": "every company needs a cassandra", "url": "https://sunilpai.dev/posts/every-company-needs-a-cassandra/", "published_at": "2026-08-09T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150457f47fb9", "title": "one document, two hands", "url": "https://sunilpai.dev/posts/one-document-two-hands/", "published_at": "2026-07-20T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045890ea62", "title": "a letter from the orchestra pit", "url": "https://sunilpai.dev/posts/a-letter-from-the-orchestra-pit/", "published_at": "2026-06-24T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150458d906da", "title": "never waste a token", "url": "https://sunilpai.dev/posts/never-waste-a-token/", "published_at": "2026-06-15T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045902b41c", "title": "Tlön, Uqbar, LLMs, Tertius", "url": "https://sunilpai.dev/posts/tlon-uqbar-llms-tertius/", "published_at": "2026-05-28T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150459fd2bc9", "title": "developer relations after the cheat code machine", "url": "https://sunilpai.dev/posts/developer-relations/", "published_at": "2026-04-02T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045ad006cd", "title": "let the code do the talking", "url": "https://sunilpai.dev/posts/after-wimp/", "published_at": "2026-03-13T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045b81ecce", "title": "the context is the work (what the day-to-day looks like now)", "url": "https://sunilpai.dev/posts/context-is-the-work/", "published_at": "2026-01-07T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045c26f570", "title": "where good ideas come from (for coding agents)", "url": "https://sunilpai.dev/posts/seven-ways/", "published_at": "2026-01-03T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045c35cc70", "title": "guitars and javascript - the case for jank", "url": "https://sunilpai.dev/posts/on-guitars-and-javascript/", "published_at": "2025-04-14T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045cf626bc", "title": "drop that meet link", "url": "https://sunilpai.dev/posts/drop-that-meet-link/", "published_at": "2025-03-17T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045d9e9c24", "title": "an event bus for ai agents", "url": "https://sunilpai.dev/posts/an-event-bus-for-ai-agents/", "published_at": "2025-02-27T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045e5516cf", "title": "ai agents are local first clients", "url": "https://sunilpai.dev/posts/local-first-ai-agents/", "published_at": "2025-02-16T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045e6b3f63", "title": "call me maybe", "url": "https://sunilpai.dev/posts/addressable-ai-agents/", "published_at": "2025-02-10T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045ec2d0eb", "title": "Full Stack AI Agents", "url": "https://sunilpai.dev/posts/full-stack-ai-agents/", "published_at": "2025-02-02T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045ed71849", "title": "Durable Objects Callbacks are Weird", "url": "https://sunilpai.dev/posts/durable-object-callbacks-are-weird/", "published_at": "2025-01-31T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15045f36661a", "title": "Reliable UX for AI chat with Durable Objects", "url": "https://sunilpai.dev/posts/reliable-ux-for-ai-chat-with-durable-objects/", "published_at": "2025-01-27T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150460245dc0", "title": "let's talk about a task tracking system for ai agents", "url": "https://sunilpai.dev/posts/ai-agents-need-tracking/", "published_at": "2025-01-24T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-1504605a6949", "title": "The unfortunate truth of software for technologists", "url": "https://sunilpai.dev/posts/the-unfortunate-truth-of-software-for-technologists/", "published_at": "2025-01-21T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15046126f5bf", "title": "A list of reasons why you should be using Cloudflare Workers for building your AI agent infrastructure/product/personal assistant", "url": "https://sunilpai.dev/posts/cloudflare-workers-for-ai-agents/", "published_at": "2024-12-10T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-1504612fb54a", "title": "Three missing primitives in every UI framework", "url": "https://sunilpai.dev/posts/two-ai-ui-primitives/", "published_at": "2024-12-03T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15046228ddc2", "title": "Durable Objects are Computers / Containers / Servers", "url": "https://sunilpai.dev/posts/durable-objects-are-computers/", "published_at": "2024-12-02T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150462cc9bba", "title": "Partial Prerendering for Everyone with Cloudflare Workers", "url": "https://sunilpai.dev/posts/ppr-for-everyone/", "published_at": "2024-09-23T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-1504638919fb", "title": "spatial compute", "url": "https://sunilpai.dev/posts/spatial-compute/", "published_at": "2024-08-19T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-1504645f5dcb", "title": "The next evolution of serverless is stateful", "url": "https://sunilpai.dev/posts/the-future-of-serverless/", "published_at": "2024-02-06T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15046544efd6", "title": "Odeon Plus", "url": "https://sunilpai.dev/posts/odeon-plus/", "published_at": "2023-09-05T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150465c445d5", "title": "smol party: Hello Wololo!", "url": "https://sunilpai.dev/posts/smol-party/", "published_at": "2023-05-22T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150465d71e6e", "title": "Chatting with Jason Lengstorf about esbuild", "url": "https://sunilpai.dev/posts/esbuild-with-jason/", "published_at": "2021-03-06T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15046649fd6f", "title": "ui (a short story)", "url": "https://sunilpai.dev/posts/prompt-engineering/", "published_at": "2021-02-18T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150466c006d6", "title": "The problem with importing css", "url": "https://sunilpai.dev/posts/importing-css/", "published_at": "2021-02-13T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150466debaf8", "title": "solving the jest.mock()+esmodules hoisting problem", "url": "https://sunilpai.dev/posts/jest-hoist-await/", "published_at": "2021-02-06T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15046744149a", "title": "The problem with iff's design", "url": "https://sunilpai.dev/posts/the-problem-wth-iff/", "published_at": "2021-01-28T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-150467574a98", "title": "Me Two", "url": "https://sunilpai.dev/posts/me-two/", "published_at": "2021-01-26T00:00:00+00:00" }, { "id": "01a087e7-d4c1-72fd-bbd6-15046828531f", "title": "Feature flags", "url": "https://sunilpai.dev/posts/feature-flags/", "published_at": "2020-08-08T00:00:00+00:00" } ] posts Claim your blog
Back to Sunil Pai • Solving the decision problem
Blog · corpus.blog/blogs/sunilpai.dev/posts

Sunil Pai • Solving the decision problem

sunilpai.dev

2026

2025

2024

2023

2021

2020