56,966 blogs · [ { "id": "01a0876f-b640-711a-9724-6fd861644bcf", "title": "Skills Are Software", "url": "https://drew.tech/posts/skills-are-software", "published_at": "2026-06-20T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd862460af4", "title": "Will AI decrease employment?", "url": "https://drew.tech/posts/will-ai-decrease-employment", "published_at": "2026-06-06T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd862b02cb4", "title": "Are spend caps bullish?", "url": "https://drew.tech/posts/spend-caps-are-bullish", "published_at": "2026-06-04T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd862d04f5a", "title": "Why the SaaSpocalypse is fake news", "url": "https://drew.tech/posts/why-the-sasspocalypse-is-fake-news", "published_at": "2026-05-30T14:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd863a6e6af", "title": "Which models know sales?", "url": "https://drew.tech/posts/sales-evals", "published_at": "2026-05-27T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8643d32e7", "title": "Prompts to Avoid the Bitter Lesson", "url": "https://drew.tech/posts/bitter-lesson-prompt", "published_at": "2026-04-26T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd864bfa934", "title": "The ROI of Agentic GTM", "url": "https://drew.tech/posts/roi-of-agentic-gtm", "published_at": "2026-04-12T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd864d7976f", "title": "Claude Code as a Cron Job", "url": "https://drew.tech/posts/claude-code-as-a-cron-job", "published_at": "2026-02-22T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8655048e2", "title": "How to Break Into GTM Engineering", "url": "https://drew.tech/posts/how-to-break-into-gtm-engineering", "published_at": "2026-02-09T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd865b45f25", "title": "Two Waves of AI", "url": "https://drew.tech/posts/two-waves-of-ai", "published_at": "2026-02-09T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86665bc15", "title": "How I Learn from Top Performers Before Building AI Agents", "url": "https://drew.tech/posts/shadowing", "published_at": "2026-02-01T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8669d0e01", "title": "My AI Coding Workflow", "url": "https://drew.tech/posts/my-ai-coding-workflow", "published_at": "2026-01-31T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd866b6b977", "title": "Building Vercel's First GTM Agent", "url": "https://drew.tech/posts/building-vercels-first-gtm-agent", "published_at": "2026-01-23T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd867818f9f", "title": "Stated vs Revealed Preference", "url": "https://drew.tech/posts/stated-vs-revealed-preference", "published_at": "2026-01-02T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd868762e6d", "title": "iOS Voice Memos to Obsidian with Claude Code", "url": "https://drew.tech/posts/ios-memos-obsidian-claude", "published_at": "2025-12-26T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8695b1004", "title": "Knowledge Bases", "url": "https://drew.tech/posts/knowledge-bases", "published_at": "2025-11-07T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd869c693ff", "title": "GTM Engineering — Why now?", "url": "https://drew.tech/posts/gtm-eng-why-now", "published_at": "2025-10-23T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86a6e2dfe", "title": "AGI: Some Assembly Required", "url": "https://drew.tech/posts/agi-some-assembly-required", "published_at": "2025-10-12T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86ad495a0", "title": "How to build a Gmail AI Agent", "url": "https://drew.tech/posts/gmail-agent", "published_at": "2025-09-23T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86bc7bf99", "title": "AI is Oil", "url": "https://drew.tech/posts/ai-is-oil", "published_at": "2025-05-16T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86bd3a48e", "title": "The economics of AI-powered dev efficiency", "url": "https://drew.tech/posts/dev-efficiency", "published_at": "2025-02-15T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86c3a3871", "title": "Idea to prod in 34 minutes with v0", "url": "https://drew.tech/posts/idea-to-prod-in-34-minutes", "published_at": "2024-09-28T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86c444906", "title": "Cleverly Failing", "url": "https://drew.tech/posts/cleverly-failing", "published_at": "2024-01-01T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86d005fb5", "title": "Promise.all in the Next.js App Router", "url": "https://drew.tech/posts/promise-all-in-nextjs-app-router", "published_at": "2023-11-14T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86d53b075", "title": "AI meets GTM", "url": "https://drew.tech/posts/ai-meets-gtm", "published_at": "2023-04-16T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86e4841b5", "title": "Whisper on device", "url": "https://drew.tech/posts/whisper-on-device", "published_at": "2023-04-16T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86e4e010f", "title": "Learning sales as an engineer", "url": "https://drew.tech/posts/learning-sales-as-an-engineer", "published_at": "2023-04-06T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd86f29e519", "title": "Reversion to the mean", "url": "https://drew.tech/posts/reversion-to-the-mean", "published_at": "2023-02-06T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8700a5450", "title": "Diagrams", "url": "https://drew.tech/posts/diagrams", "published_at": "2023-01-23T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd870a6dbc8", "title": "Selling to developers", "url": "https://drew.tech/posts/selling-to-devs", "published_at": "2023-01-21T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8715bbbcf", "title": "Effective", "url": "https://drew.tech/posts/effective", "published_at": "2023-01-02T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd871774229", "title": "Defaults", "url": "https://drew.tech/posts/defaults", "published_at": "2022-12-21T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd871b85920", "title": "Cron", "url": "https://drew.tech/posts/cron", "published_at": "2022-12-20T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8728d5d2a", "title": "Posterity", "url": "https://drew.tech/posts/posterity", "published_at": "2022-12-19T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd872e01825", "title": "A black swan for ecomm", "url": "https://drew.tech/posts/ecomm-black-swan", "published_at": "2022-06-04T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd873c8a5fe", "title": "PlanetScale on a plane ✈️", "url": "https://drew.tech/posts/planetscale-on-a-plane", "published_at": "2022-03-18T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87439443f", "title": "Ecom Manifesto", "url": "https://drew.tech/posts/ecom-manifesto", "published_at": "2022-02-15T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8743c0fad", "title": "What happened to getInitialProps", "url": "https://drew.tech/posts/what-happened-to-getInitialProps", "published_at": "2021-11-30T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87532d6ff", "title": "TailwindUI and Next.js styling issues", "url": "https://drew.tech/posts/tailwindui-nextjs-styling-issue", "published_at": "2021-11-28T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87544d1d2", "title": "Sales engineering problems", "url": "https://drew.tech/posts/sales-engineering", "published_at": "2021-11-20T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8758dd0db", "title": "Bootstrap 1000 Challenge", "url": "https://drew.tech/posts/bootstrap-1000", "published_at": "2021-11-19T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd875e495bf", "title": "Cron jobs in Next.js on Vercel", "url": "https://drew.tech/posts/cron-jobs-in-nextjs-on-vercel", "published_at": "2021-11-19T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8768bf443", "title": "Highlights from All-In ep. 41", "url": "https://drew.tech/posts/chamath-on-luck", "published_at": "2021-08-23T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8775483a6", "title": "Highlights from IndieHackers ep. 220 with Michael Seibel", "url": "https://drew.tech/posts/michael-seibel-indiehackers", "published_at": "2021-08-05T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd877ee8bfb", "title": "▲Vercel", "url": "https://drew.tech/posts/vercel", "published_at": "2021-07-06T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8781eb24d", "title": "On good tech debt", "url": "https://drew.tech/posts/on-good-tech-debt", "published_at": "2021-05-17T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8791abb57", "title": "I'm your new podcast co-host", "url": "https://drew.tech/posts/im-your-new-podcast-co-host", "published_at": "2021-04-18T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8794ea7e3", "title": "Supabase — A Backend for IndieHackers", "url": "https://drew.tech/posts/supabase-a-backend-for-indiehackers", "published_at": "2021-04-01T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd879f1e6e3", "title": "Should I use Google Analytics or one of these new privacy-friendly options?", "url": "https://drew.tech/posts/should-i-use-google-analytics-or-not", "published_at": "2021-02-03T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87a7a88f1", "title": "SaaS due diligence - Instafeed API", "url": "https://drew.tech/posts/saas-due-diligence-instafeed-api", "published_at": "2021-01-19T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87a9b5536", "title": "The ripple of Web Vitals", "url": "https://drew.tech/posts/the-ripple-of-web-vitals", "published_at": "2020-12-29T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87aace9d2", "title": "Multiple repos on the same domain in Vercel", "url": "https://drew.tech/posts/vercel-multiple-repos-same-domain", "published_at": "2020-12-15T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87b9202cb", "title": "Why Notion Beats Markdown for Blogging", "url": "https://drew.tech/posts/notion-beats-markdown", "published_at": "2020-12-14T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87bfd8f0d", "title": "Your Next JS dream job", "url": "https://drew.tech/posts/next-js-jobs", "published_at": "2020-11-18T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87c9d6925", "title": "Next.js Conf 2020 Highlights", "url": "https://drew.tech/posts/next-js-conf-highlights-2020", "published_at": "2020-10-28T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87cd6db2a", "title": "Monitoring performance in Next.js", "url": "https://drew.tech/posts/how-to-monitor-core-web-vitals-in-next-js", "published_at": "2020-09-09T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87d4d83f1", "title": "Rome wasn't built in a day, and neither was my SaaS app", "url": "https://drew.tech/posts/rome-wasn't-built-in-a-day-and-neither-was-my-saas-app", "published_at": "2020-08-17T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87e3c67cd", "title": "Intro to Core Web Vitals", "url": "https://drew.tech/posts/how-to-improve-core-web-vitals-in-a-next-js-app", "published_at": "2020-07-06T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87f2383c6", "title": "Why Next.js?", "url": "https://drew.tech/posts/why-nextjs", "published_at": "2020-06-28T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87f2b9541", "title": "HEY – let's talk about static sites", "url": "https://drew.tech/posts/nextjs-should-be-static", "published_at": "2020-06-21T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87f945f80", "title": "My first Next.js Newsletter", "url": "https://drew.tech/posts/my-first-nextjs-newsletter", "published_at": "2020-06-19T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd87fb3cfa8", "title": "Divjoy Review — Is it worth it?", "url": "https://drew.tech/posts/divjoy-is-it-worth-it", "published_at": "2020-06-09T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd880782353", "title": "What not to work on", "url": "https://drew.tech/posts/what-not-to-work-on", "published_at": "2020-02-01T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd880f4eb96", "title": "My principles for blogging", "url": "https://drew.tech/posts/my-principles-for-blogging", "published_at": "2020-01-22T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd881a775fb", "title": "I turned off my notifications", "url": "https://drew.tech/posts/i-turned-off-my-notifications", "published_at": "2019-11-27T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8829056d9", "title": "How to Send Email with Vercel Domain through GSuite", "url": "https://drew.tech/posts/how-to-send-email-with-vercel-domain-through-gsuite", "published_at": "2019-11-20T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8829d4612", "title": "How I pick my tech stack for side projects", "url": "https://drew.tech/posts/how-i-pick-my-tech-stack-for-side-projects", "published_at": "2019-10-15T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd88342c6e4", "title": "A Developer's Guide - Building Great Software Incrementally with Analytics", "url": "https://drew.tech/posts/a-developer's-guide-building-great-software-incrementally-with-analytics", "published_at": "2019-09-17T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd883bf8dde", "title": "Notes on Naval's Money", "url": "https://drew.tech/posts/notes-on-naval's-money", "published_at": "2019-09-06T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd8840b49b5", "title": "Why I didn't tell you", "url": "https://drew.tech/posts/why-i-didn't-tell-you", "published_at": "2019-07-16T00:00:00+00:00" }, { "id": "01a0876f-b640-711a-9724-6fd884349639", "title": "Tech decisions and developer guilt", "url": "https://drew.tech/posts/tech-decisions-and-developer-guilt", "published_at": "2019-07-05T00:00:00+00:00" } ] posts Claim your blog
Back to drew.tech
Blog · corpus.blog/blogs/drew.tech/posts

drew.tech

drew.tech

2026

2025

2024

2023

2022

20 Dec 2022

2021

2020

2019