41554 blogs · [ { "id": "01a0d482-ab83-730f-a19c-30101cea213e", "title": "Process is the product", "url": "https://tom.so/posts/process-is-the-product", "published_at": "2026-09-15T18:09:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e78404fa286", "title": "A pattern language", "url": "https://tom.so/posts/a-pattern-language", "published_at": "2026-06-29T12:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e78410797a2", "title": "On git notes", "url": "https://tom.so/posts/on-git-notes", "published_at": "2026-05-27T12:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7841787550", "title": "NPM is cooked", "url": "https://tom.so/posts/npm-is-cooked", "published_at": "2026-05-20T12:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7841950c2f", "title": "AI is making me anxious and stupid", "url": "https://tom.so/posts/ai-is-making-me-anxious-and-stupid", "published_at": "2026-02-08T11:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e784247b4a7", "title": "Clawdbot is kind of insane", "url": "https://tom.so/posts/clawdbot-is-kind-of-insane", "published_at": "2026-01-25T23:30:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7842bb2b68", "title": "Using agents in Opencode", "url": "https://tom.so/posts/using-agents-in-opencode", "published_at": "2026-01-11T22:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e78433152cf", "title": "People deserve better", "url": "https://tom.so/posts/people-deserve-better", "published_at": "2026-01-05T22:30:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e78437dcd2c", "title": "Writing with AI is a cop out", "url": "https://tom.so/posts/writing-with-ai-is-a-cop-out", "published_at": "2025-12-13T09:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7843eef382", "title": "Stainless is amazing", "url": "https://tom.so/posts/stainless-is-amazing", "published_at": "2025-11-27T03:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7843f3990e", "title": "In praise of tinkering", "url": "https://tom.so/posts/in-praise-of-tinkering", "published_at": "2025-11-16T09:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7844e16919", "title": "Tell them I said no", "url": "https://tom.so/posts/tell-them-i-said-no", "published_at": "2025-10-28T09:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e78456c1a52", "title": "Yet another rewrite", "url": "https://tom.so/posts/yet-another-rewrite", "published_at": "2025-10-12T11:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7845a7bc20", "title": "Bullish on Better Auth", "url": "https://tom.so/posts/bullish-on-better-auth", "published_at": "2025-06-03T12:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7845ce7e44", "title": "My first developer job", "url": "https://tom.so/posts/my-first-developer-job", "published_at": "2025-04-04T11:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7846ca9fab", "title": "On the idea of a creative design system", "url": "https://tom.so/posts/on-the-idea-of-a-creative-design-system", "published_at": "2024-09-16T12:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e784787f312", "title": "New rewrite", "url": "https://tom.so/posts/new-rewrite", "published_at": "2024-06-26T12:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7848057435", "title": "Carterton", "url": "https://tom.so/posts/carterton", "published_at": "2024-01-13T11:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e78483e4d78", "title": "2023 highlights", "url": "https://tom.so/posts/2023-highlights", "published_at": "2023-12-30T11:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e7849013c7f", "title": "Elmet Brae", "url": "https://tom.so/posts/elmet-brae", "published_at": "2023-12-06T11:00:00+00:00" }, { "id": "01a08c57-5ebe-72d2-a422-7e784912c8d7", "title": "Something for November", "url": "https://tom.so/posts/something-for-november", "published_at": "2023-11-08T11:00:00+00:00" } ] posts Claim your blog
Back to Home | Tom Hackshaw
Blog · corpus.blog/blogs/tom.so/posts

Home | Tom Hackshaw

tom.so

2026

2025

2024

2023