Archive
Essays on building and selling with AI.
Every long-form piece in chronological order. Start anywhere, or follow the years below.
2025
September 23, 2025
How to build a Gmail AI Agent
What is an agent? I think this little Gmail bot I hacked together that manages my inbox counts.
May 16, 2025
AI is Oil
Thinking about AI through the lens of the oil boom.
February 15, 2025
The economics of AI-powered dev efficiency
AI isn't all hype — there are real productivity gains. Why isn't it showing up in the numbers?
2024
September 28, 2024
Idea to prod in 34 minutes with v0
Building a tool to detect client side rendering with v0 in minutes.
January 1, 2024
Cleverly Failing
That’s not flying, that’s just falling with style.
2023
November 14, 2023
Promise.all in the Next.js App Router
Avoid the trap I fell in to.
November 3, 2023
Your Next Framework
Why Next.js is still a good pick in 2024
August 26, 2023
DevTool Sales
Everything I’ve learned about going to market with a developer focused SaaS.
May 15, 2023
The right sized bite
How much should I bite off for an ambitious side project?
April 16, 2023
AI blog post recommendations
The recommendations on this page are powered by OpenAI embeddings and PineconeDB
April 16, 2023
AI meets GTM
Go to market teams and software is about to massively change.
April 16, 2023
Whisper on device
Whisper is already better than most paid transcription services and it is free.
April 6, 2023
Learning sales as an engineer
Learning sales is hard, but it's critical for your business to succeed.
February 6, 2023
Reversion to the mean
Averages are hard to beat. Plan accordingly.
January 23, 2023
Diagrams
Make the abstract real
January 21, 2023
Selling to developers
It's not as hard as you think it is — you just need to help them implement your software.
January 2, 2023
Effective
Shipping with time constraints
2022
December 21, 2022
Defaults
The default option.
December 20, 2022
Cron
On time boxing and boundaries.
December 19, 2022
Posterity
Doing things that last.
June 4, 2022
A black swan for ecomm
Correlation where you think there isn't any is a huge cause of blow-up risk.
March 18, 2022
PlanetScale on a plane ✈️
Airplane WiFi and SaaS database solutions don't get along well. Here's the fix.
February 15, 2022
Ecom Manifesto
Ecommerce is hard. Here's a path to making it easier, at least technically.
2021
November 30, 2021
What happened to getInitialProps
Fetching data is a core piece of every web application. Let's talk about the OG data fetching function of Next.js — getInitialProps.
November 28, 2021
TailwindUI and Next.js styling issues
TailwindUI layouts and Next.js styling issues
November 20, 2021
Sales engineering problems
A runing list of all the sales engineering problems I have encountered and potential solutions.
November 19, 2021
Bootstrap 1000 Challenge
The stair-step approach for profitable side projects
November 19, 2021
Cron jobs in Next.js on Vercel
Cron jobs are the first tool I reach for when needing to automate a simple part of a project. Here's how I set them up in a Next.js app hosted on Vercel.
November 19, 2021
Giving away my side project - GumroadWidgets.com
Looking for a new side project and like Gumroad? I've got the perfect project for you — and you can get started for free.
November 19, 2021
▲Vercel
I've been a big fan of Vercel for years now, and I'm excited to announce I'm joining the team this month.
September 23, 2021
A Gravity Review
Longer review coming soon. TLDR; Gravity is great.
August 23, 2021
Highlights from All-In ep. 41
This was one of my favorite All-In podcast episodes. There was a short 30-second clip from Chamath that sticks in my head.
August 5, 2021
Highlights from IndieHackers ep. 220 with Michael Seibel
Seven highlights from YC's Michael Seibel advice for IndieHackers.
May 17, 2021
On good tech debt
There's good debt and bad debt. Here's a look at technical debt through a financial lens. Believe it or not, some technical debt is good.
April 18, 2021
I'm your new podcast co-host
Testing, testing, mic check two one two.
April 1, 2021
Supabase — A Backend for IndieHackers
Looking for a backend as a service? You probably haven't heard of Supabase, but you should. It's my default choice when building new businesses.
February 28, 2021
GAM re-renders in React with react-gpt
I struggled through integrating with Google Ad Manager for weeks at work. Here are my notes.
February 3, 2021
Should I use Google Analytics or one of these new privacy-friendly options?
Google Analytics is a great tool, but there are plenty of new privacy-friendly paid options. Should you use them? Maybe, maybe not.
January 30, 2021
SaaS Starters — how to jump start your software as a service
Don't waste your weekend writing boilerplate. Ship meaningful code on your side projects with help from these great tools.
January 19, 2021
SaaS due diligence - Instafeed API
Should you buy your first SaaS? Maybe. Quite a few others have. Instafeed API is a tool I debated buying.
2020
December 29, 2020
The ripple of Web Vitals
A paradigm shift is here for performance monitoring. Learn about how Vitals will make collaboration, analytics, and the web better.
December 15, 2020
Multiple repos on the same domain in Vercel
How to do micro-frontends on Vercel with a single domain.
December 14, 2020
Why Notion Beats Markdown for Blogging
Making it easy to write my blog by making the backend powered by Notion as the CMS.
November 18, 2020
Your Next JS dream job
A Next.js job board.
October 28, 2020
Next.js Conf 2020 Highlights
Next.js Conf 2020 revealed Next 10 along with some other great work.
September 9, 2020
Monitoring performance in Next.js
Next.js makes monitoring Core Web Vitals simple.
August 17, 2020
Rome wasn't built in a day, and neither was my SaaS app
Patience is a virtue, but so is actually building something. Lay a brick every day.
July 6, 2020
Intro to Core Web Vitals
Core Web Vitals are a game changer for web performance monitoring. Here's an intro to how to monitor them.
June 28, 2020
Why Next.js?
Next.js is my default choice when starting a new project, big or small. Here's why I think you should use it, pros and cons included.
June 21, 2020
HEY – let's talk about static sites
Next goes static, the death of custom servers (on Vercel), and serverless function recipes.
June 19, 2020
My first Next.js Newsletter
My first Next.js newsletter went out this week. Here's what was in it.
June 9, 2020
Divjoy Review — Is it worth it?
Divjoy can help you generate a Next.js starter and get your side project finished faster.
February 1, 2020
What not to work on
Avoiding what you shouldn't work on is easier than knowing what to work on, but it's a start.
January 22, 2020
My principles for blogging
Don't let tech decisions get in the way of blogging about tech.
2019
November 27, 2019
I turned off my notifications
Maybe constant notifications aren't a good thing?
November 20, 2019
How to Send Email with Vercel Domain through GSuite
Setting up a new domain and configuring email is often the first step in starting a project.
October 15, 2019
How I pick my tech stack for side projects
Either pick new tech to learn or use tech you know to build fast.
September 17, 2019
A Developer's Guide - Building Great Software Incrementally with Analytics
How to use analytics to build what your users actually want.
September 6, 2019
Notes on Naval's Money
You probably know who Naval is. Here are my notes from his 3+ hour long podcast about his Tweet thread on "How to get rich without being lucky".
July 16, 2019
Why I didn't tell you
Childhood memories, health, and learning to include others.
July 5, 2019
Tech decisions and developer guilt
Deciding your tech stack is difficult, especially on side projects. Why? Guilt from knowing "the right way."