Writing
Essays on software development, applied AI, and machine learning, plus a regular digest of what I'm trying, reading, and listening to.
-
Five Lessons from Putting AI Into Research Teams
Which tasks to automate, where analysts push back, and how to tell if a workflow is quietly getting worse - five lessons...
-
How I Use Modal
A tour of two practical Modal deployment patterns: cron jobs, secrets, volumes, static IPs, web apps, background AI jobs, and sandboxes, all...
-
Building the Multiplayer Institutional Brain
I joined Khe and Brett on the Invest with AI podcast to talk about how investment firms move from individual AI experimentation...
-
There's More Public Data Than People Exploring It
I used Claude Code to connect open federal energy datasets into WattsOpen, an interactive site about where the grid has room. It...
-
Automating the Path from Frontier Models to Fine-Tuned Models
A tweet about fine-tuning on frontier model outputs got me thinking about how much of that loop could be automated.
-
What Is An Agent?
My attempt to describe what an agent is and why it's so incredible, yet simple.
-
We Are Here
Raw, unedited notes on what it feels like to build software right now.
-
If You Want to Play Games, You Have to Make Games
I had my kids build their own games using Claude Code, and it got me thinking about AI, education, and equity.
-
I Published My Portfolio Analysis Workflow - Try It Yourself
People asked me to share the portfolio optimization workflow from my last post. I turned it into a Claude Code skill you...
-
How I Built a Portfolio Optimization Plan with Claude Code
I fed our brokerage data into Claude Code and iterated over multiple sessions to produce a portfolio optimization plan - phased actions,...
-
What I Tell People Getting Started with Claude Code
Plan mode, work logging, the interrogation pattern - habits that make Claude Code useful whether you write code or not.
-
The Biggest AI Opportunity Isn't Better Models
There are specialists in every field who could massively accelerate their work with AI tools - but they don't know what's possible....
-
A Data Engineering Lesson for AI Agent Builders
Agent decisions are one-way doors. A lesson I learned building data infrastructure applies directly: store the raw reasoning, add structure later.
-
How I Use Claude Code for Non-Technical Work
I've been using Claude Code to run my consulting business since mid-2025. This post covers what's working - from voice-to-transcript workflows to...
-
How I Build Dashboards Now with Claude Code
For smaller companies, custom dashboards built with Claude Code are faster to build and easier to iterate on than self-service platforms like...
-
Four Building Blocks for Document Generation Agents
File system access and tool calling, structured outputs, testing, and context tracing - combined into a feedback loop that lets your agents...
-
Using Claude Code to Debug Code You Didn't Write
I described a bug, provided some debug output, and Claude found the root cause in third-party code I'd never read. I didn't...
-
Tool Calling and File Access: When AI Can Run Commands on Your Actual Files
Instead of uploading files to a chat window, give the model access to your file system and let it run commands directly....
-
Running a Background Thread for AI Opportunities
Tedious tasks with clear inputs and outputs are now trivially automatable. The hard part is remembering to ask.
-
Why Large Enterprises Struggle to Realize AI Value
AI can do way more than most people realize. The opportunity goes beyond efficiency - it's about new capabilities and real business...
-
What AI Can Actually Do Now
I uploaded scanned photographs of a book printed in 1910 and got back a professionally designed presentation. Five minutes, a few clicks....
-
How I Prototype Agentic Workflows Before Writing Agent Code
An approach for prototyping agentic workflows interactively in Claude Code before committing to a framework.
-
Tool Calling and the Value of Understanding AI More Deeply
Understanding how AI building blocks like tool calling work gives you a framework for figuring out where AI fits into the problems...
-
Building Dashboards with AI
A workflow for translating business requirements into working dashboards using AI coding tools.
-
Claude Skills: Better Organization for Agent Instructions
Skills gives me a better framework for organizing Claude Code instructions that have been growing unwieldy in CLAUDE.md files.
-
How Claude Code Became My Knowledge Management System
Claude Code transformed my consulting workflow by running locally and integrating with my actual files, creating a knowledge system that compounds over...
-
Why GenAI Pilots Actually Fail
The '95% failure' headline is misleading, but the organizational barriers behind pilot failures are real and worth understanding.
-
Building Production AI Evaluations: A Systematic, Domain-Driven Approach
Teresa Torres went from zero AI experience to shipping production evaluations by combining domain expertise with systematic thinking - her journey shows...
-
GPT-5 Prompting is Different - Here's What Works
GPT-5 requires different prompting techniques than GPT-4o and o3, but once you understand what it expects, the results are worth the adjustment....
-
Six Insights from Andrew Ng on Building Faster with AI
Key takeaways from Andrew Ng's Y Combinator talk on adapting to the rapidly evolving AI development landscape.
-
Why Successful LLM Products Start with Spreadsheets
Philip Carter's process on Vanishing Gradients shows the value-added work most people skip - actually looking at your data and fixing what's...
-
AI Coding Tools Amplify What You Already Know
Alex MacCaw nails why AI tools are rocket fuel for experienced engineers - plus the six prompting principles that work beyond coding....
-
Why AI Adoption is Really About Organizational Learning
After updating AI workshop materials that became obsolete in 3 months, I realized the real challenge isn't keeping up with tools -...
-
AI Coding Tools: Why I Use Claude Code
After trying RepoPrompt, Cline, and others, I found the AI coding tool that finally clicked. Here's what I learned about choosing tools,...
-
This Was Written With ChatGPT
Some people dismiss writing if it was touched by AI. But that reaction often misses the point. This post explores why the...
-
Transactions as Language
Stripe's approach to fraud detection made me rethink how we use transformers. What looks like a row in a table might actually...
-
Building Better from Day One: Notes on Click by Jake Knapp and John Zeratsky
Click offers a simple, practical framework for starting projects the right way. In this post, I share my notes on why the...
-
Incentives and the AI Divide
The only way to get good at using AI is by doing the work. But unless teams are set up with the...
-
The Courage to Hit Publish
Everyone has a strange, specific mix of experiences that's completely their own. Writing is how I've learned to make sense of mine—and...
-
Better Communication Makes You Better at AI
Lessons on communication from Wes Kao that apply just as much to working with people as they do to prompting LLMs. Clear,...
-
What Actually Matters When You're Building AI Products
A few takeaways from Hamel Husain's guide to improving AI products — from avoiding the tools-first trap to empowering domain experts and...
-
Karpathy's Practical LLM Insights
I distilled two hours of practical wisdom from Andrej Karpathy on using large language models effectively — real tools, clear explanations, and...
-
Practical Takeaways on Building with LLMs from John Berryman
Success with LLMs isn't about picking the right API it's about structuring problems in a way that works. In this podcast recap,...
-
Getting Started with AI & LLMs (For Technical Folks)
If you're technical and trying to get your head around AI, this guide cuts through the noise. I've put together a mix...
-
Using OpenAI's Deep Research
OpenAI's Deep Research generates structured reports with citations in minutes, making research faster and more efficient. I tested it for portfolio analysis,...
-
Report Generation - A Smart Way To Start With AI
Most AI projects fail because they start with the tool instead of the problem. Report generation flips that — integrating AI into...
-
The Most Overlooked Step in Building Reliable AI Systems
Many AI teams skip the most critical step — actually reviewing their model's outputs. If you don't analyze errors and define correctness,...
-
A Brain Dump on How I Use AI Tools
I use AI tools daily to streamline thinking, organize projects, and refine ideas. This post breaks down my workflow - voice input,...
-
Building a Personal Finance Tool in a Day with AI
I built a personal finance tool in a day using AI to automate portfolio analysis — extracting data, checking allocations, and identifying...
-
DeepSeek R1: A Reasoning Model with Thinking Tokens
DeepSeek R1 is a transparent reasoning model that exposes its thought process through thinking tokens. I tested it locally and recorded a...
-
Summarizing with LLMs: Video Walkthrough
I recorded a video showing how I use LLMs to summarize podcast transcripts into concise, structured insights. This post covers the workflow,...
-
Repo Prompt and prompting for o1 pro
Repo Prompt automates injecting local files into model contexts, making it useful for coding and structured workflows. In this video, I demo...
-
Building a Self-Guided Learning App with O1 Pro
I used OpenAI's o1 pro to build a self-guided learning app — generating a PRD, writing code, and creating a working prototype...
-
Summarizing Podcasts with LLMs (Using o1 Pro)
I use LLMs to summarize podcasts into structured takeaways, making it easier to revisit key insights. This post walks through my workflow...
-
Common Maxims - LLM Remix
I used o1 pro to challenge widely accepted maxims and generate new ones with fresh perspectives. This experiment highlights how AI can...
-
A Thought Experiment with ChatGPT's Memory
I tested ChatGPT's memory with prompts designed to uncover hidden narratives, sparking questions about how it generalizes insights. This post explores the...
-
Reasoning with o1 - Course Breakdown
I took OpenAI's *Reasoning with o1* course, a short but detailed look at how o1 handles chain-of-thought reasoning, tool calling, and complex...
-
Trying Out O1 for Portfolio Construction
I experimented with OpenAI's O1 model to generate portfolio strategies inspired by Verdad's *Persistent Alpha* concept. Using a structured prompt, O1 produced...
-
Building a Book That Didn't Exist
Andrej Karpathy used O1 Pro to create a full book from scratch, shaping the content himself through structured prompts. This process isn't...
-
Using AI Without Overthinking It – From Ethan Mollick
Ethan Mollick's post cuts through the noise on AI and prompt engineering: just start using it. Treat AI like a forgetful but...
-
Building a Game From a 400-Page Book in 400 Words
Steven Johnson turned his 400-page book into an interactive detective game using a 400-word prompt and an LLM. His essay highlights how...
-
Trying Gemini Flash 2.0's Screen Interaction
I tested Gemini Flash 2.0's screen-sharing feature by analyzing a portfolio report in real time. It felt like having someone guide me...
-
Gemini 2.0 Flash: A Shift in How We Interact with AI
Gemini 2.0 Flash introduces real-time screen and video interaction, making AI feel more like a true assistant. A radiologist's demo shows its...
-
How Large Language Models Work at a High Level
Large language models predict the next word based on context, trained on massive text datasets. 3Blue1Brown's video explains this in under 10...
-
Distilling Financial Advice With LLMs
I used an LLM to refine financial strategies, iterating through simple prompts to generate clear, actionable insights. This experiment reinforced how easily...
-
Using AI to Make My Portfolio More Tax-Efficient
I used AI to analyze my portfolio for tax efficiency, starting with a casual voice prompt and refining my strategy with Claude....
-
High-Conviction Bets
Stanley Druckenmiller's British Pound trade is a masterclass in high-conviction decision-making. He saw a clear mismatch, acted decisively, and concentrated his bet....
-
Improving Retrieval Augmented Generation Systems
A recent podcast with Max Buckley highlighted key ways to improve RAG systems — adding context to chunks, using multiple embeddings, and...
-
Shaping Tools and Ourselves: Reflections from Gwern Branwen
Gwern Branwen's take on writing, curiosity, and burnout left me thinking about how we shape AI — and how it shapes us....
-
Building LLM Agents: Insights from Anthropic on Latent Space
Latent Space's conversation with Erik Schluntz from Anthropic covered practical lessons on building LLM agents — from structuring prompts with XML to...
-
Cheat Codes for Life: Experimenting with LLMs
I used Claude AI to refine a list of life skills that would be valuable to learn at 21. Voice input made...
-
How I Use LLMs for Self-Guided Learning
I used Claude to break down complex ideas from a podcast, refining explanations and generating useful examples. The process took 10 minutes...
-
Learning with LLMs: Using Quick Notes to Guide Better Summaries
I used Gemini to turn rough, disorganized notes from a podcast into a structured, useful summary. By guiding the model with key...
-
Anthropic Demo for LLM Text Classification
Anthropic's classification demo showed me a different way to approach text classification — structured XML prompts, retrieval-augmented examples, and clear evaluation with...
-
Why You Should Spend a Day with Anthropic's Cookbook
Anthropic's Cookbook is one of the best hands-on resources for learning LLM techniques. The examples — like structuring citations, prompt formatting, and...
-
My Takes On AI
AI is evolving fast, and these are the ideas shaping how I think about it — from self-guided learning to the importance...
-
Evaluating LLM Applications the Right Way
Hamel Husain's post on LLM evaluations is the most practical guide I've seen. The key takeaway? Work with a domain expert —...
-
How I Used LLMs to Summarize Workflow Hacks from a Twitter Thread
I used an LLM to distill insights from a Twitter thread on AI workflow hacks — turning a noisy flood of replies...
-
Thoughts on Anthropic's Updated Prompt Engineering Workbench
Anthropic's updated prompt workbench makes testing, refining, and deploying prompts much smoother. It blends automation with flexibility — letting you generate test...
-
Notes From Google's Prompt Tuning Playbook
Google's prompt tuning playbook is packed with insights on writing better prompts. Key takeaways: guide the model to the right 'universe' of...
-
Key Takeaways from Jason Liu's Podcast on RAG Pipelines
Jason Liu's TwiML podcast covered high-signal lessons on RAG pipelines — why structured evaluations beat stochastic testing, how chain-of-thought prompting outperforms multi-step...
-
Bringing Clear Communication to AI-Driven Teams
Clear communication is critical for AI teams. Simple, precise language helps bridge gaps between technical and non-technical members, improving collaboration. Learning to...
-
Building with AI: Insights from Matt Cynamon and USV
Matt Cynamon's discussion on building AI tools at USV reinforced a key idea — just start. Experimentation, small specialized tools, and human-AI...
-
LLMs - Halloween Candy Edition
I built a Halloween Candy Calculator using an LLM in minutes, not hours — proving that AI enables rapid prototyping, playful creativity,...
-
A Year Of Building With LLMs - The Paper You Need To Read
If you're serious about building with LLMs, read 'What We've Learned From A Year of Building with LLMs.' It's packed with lessons...
-
Testing Your Prompts - Writing LLM Evals
If you're using LLMs in production, you need systematic evaluations. Anthropic's notebooks and tools like PromptFoo make it easy to test prompts,...
-
A Firehose of LLM / AI Tidbits
A rapid-fire list of AI insights, tools, and concepts that have caught my attention lately — from practical prompting tips to the...
-
Building Small-Scale Custom Software with LLMs and Gumloop
LLMs have drastically lowered the cost of prototyping custom software. Using Gumloop, I built an AI-powered podcast summarizer in under an hour...
-
Custom Podcasts with NotebookLM
NotebookLM lets you turn documents into custom podcasts in minutes. I tested it by generating an audio overview of nuclear energy —...
-
You Can Build a RAG System Too
RAG sounds complex, but it's really just using a custom search engine to feed better context to an LLM. A great place...
-
Hello - You Can Build Now
An 8-year-old built a working chatbot app in 45 minutes. The barriers to building with AI are gone — if you can...
-
Analyzing Companies with LLMs - A Simulated Investor Conversation
I used LLMs to simulate a conversation between Warren Buffett and Joel Greenblatt analyzing a company's annual report. The results were fascinating...
-
Investing With Language Models
Verdad used LLMs to analyze thousands of Japanese company reports, categorizing their valuation plans and linking them to stock performance. This kind...
-
Inviting AI to the Table - Building Software Edition
Alex Bartling's team is using LLMs not just for AI-driven note-taking, but to refine their product based on user feedback — turning...
-
Videos Within Multi-Modal Models - A Whole New World of Opportunity
LLMs can now process video, unlocking entirely new categories of automation. I tested this by turning an iPhone walkthrough of an EV...
-
Using Google Gemini's Long Context Window to Analyze Small Cap Stock Annual Reports
I used Gemini's long context window to analyze company annual reports — processing hundreds of pages in minutes to rank small-cap stocks....
-
Learning About AI Is Easier Than You Think. Just Get Started
I tested Flux, an AI image model, and documented my workflow for experimenting with new AI tools. The takeaway? The best way...
-
Narrating Your Webcam with Your Own Voice and Mister T
I modified a demo that narrates your webcam in real time — using my own cloned voice and Mister T. It's a...
-
Building Custom GPTs
Custom GPTs are a fast, low-effort way to embed tailored LLM functionality for your team. I built one for leadership decision-making in...
-
Multi-Modal LLM Capabilities
LLMs can now analyze images and generate detailed narratives with minimal input. I tested this by having Claude Sonnet 3.5 interpret everyday...
-
Exploring My Unstructured Medical Data from PDFs with Claude
I used Claude to extract and visualize my blood test history from unstructured PDFs — transforming raw medical data into an interactive...
-
Using LLMs to Build Software - A Working Game in 5 Minutes
I built a playable word game in 5 minutes using Claude's Artifacts feature — no coding required. LLMs are making software development...
-
AI Beyond Text Generation: A Song About a Worm
AI tools like Udio can generate full songs with lyrics and music in minutes. I tested it by making a country song...
-
Building an Economic Indicators Dashboard with Claude 3.5
I used Claude 3.5 to build an interactive dashboard that maps stock returns to economic indicators like GDP and inflation. Claude handled...
-
Creating an Image Classifier with Claude 3.5 and Artifacts
I built a working image classifier in 20 minutes using Claude 3.5 and Artifact — handling everything from Flask API setup to...
-
What I look for when hiring teammates
I previously wrote about the traits of a good leader in a startup. I spent some time reflecting on the key traits...
-
Summarizing and creating a reading list with ChatGPT
I like to read books. I’m always looking for ways to discover new titles. I mainly use Goodreads and Twitter as a...
-
Prompt Engineering Quickstart
I want to build my Prompt Engineering skills. As I highlighted in a previous post, I’m convinced that LLMs will be a...
-
Clear Thinking : Take-Aways
I finished reading Shane Parrish’s new book Clear Thinking. It has quite a few nuggets of wisdom that I’d like to reference...
-
Warren The Worm: A Children's Book by ChatGPT and me
What is this? I used ChatGPT to generate a children’s book about a worm learning a valuable life lesson. This was just...
-
Making 'Warren The Worm': A Children's Book by ChatGPT and me
I love Ethan Mollick’s ‘Jagged Frontier’ concept with LLMs. We don’t exactly know what LLMs are great at, and what they are...
-
Co-Intelligence : Take-Aways
I recently finished reading Co-Intelligence by Ethan Mollick. I was very eager to read this book, as Ethan continually posts fantastic LLM...
-
Leadership in startup companies
I’ve spent most of my career in small-ish VC-backed startup companies, with between 10 and 150 people. Things tend to move and...
-
Why I want to write
I’ve recently built a desire to write more, and wanted to dig into why I am feeling this way. What are my...
-
Minimum Viable Competence
There is an endless amount of stuff in the world to learn, and not enough time to learn it. The demands of...
-
Explaining LLMs to non-technical people
Explaining how things work to different audiences is a topic that interests me. Can you put yourself in the mind-space of the...
-
Being present
Last month, during a visit to the Apple Store, I experienced an unexpected nudge towards being present — a concept I encounter...
-
Being a good dad
I want to be a great dad. It’s not easy. Being a dad is the biggest privilege and opportunity in my life....
-
A small thought on focus
Everything competes for your attention The most recent thing seems like the most important Without a framework for what you pay attention...
-
Top Books From 2013
At the beginning of 2013, I made a resolution to learn more things outside of Technology. In the past, I’ve been a...
-
Stubbornness and Resiliency
Why default-resiliency is not the best option
-
The Truth and Shackleton
‘What should we tell them?’ How about the truth.
-
Product smells and sniff tests
Thoughts on ‘Product strategy means saying NO’
-
How to hack taking advice
Thoughts on being malleable instead of magnetic
-
Artificial Progress
Thoughts on doing ‘things about the thing’ instead of the thing itself
-
I've Done This Before
… can be a dangerous attitude to have when trying to solve a problem.
-
My bank password is 'sort-of' hashed
Yesterday, I called Fidelity to get help with my account. Before I was connected to a human, I was asked to enter...
-
Seeking affirmation of your product idea can be dangerous
I often cringe when I hear people say they are ‘getting out of the building’ to test their product idea. At the...
-
Confusing what you're good at with what needs to be done
When you work at a big company, your role is specialized. On a day-to-day basis, you don’t have to venture far from...
-
The Complexity Versus Value Trap
There is not a linear relationship between the complexity of a product’s features and the product’s value to an end user. The...
-
A Student of the Business Model Generation
I am a new student of the Business Model Generation. I’m working to understand and apply the tools and techniques outlined by...
-
Reflections on reading 'business books' as an Engineer
I’ve always appreciated a good non-fiction book. My preferred reading ‘categories’ are behavioral economics (e.g. Ariely, Thaler, Dubner, Gladwell), analyses of critical...
-
Where did this month go? And don't optimize!
People have told me that it isn’t easy to keep up a blog. Now I know what they mean! Somehow, I’ve gone...
-
Applying Amdahl's Law to Your Life
Ok, I admit it…this may qualify as the nerdiest / lamest name for a blog post…ever…in the history of the blogosphere…but hear...
-
Learning from the Financial Crisis
Over the last 5 years since I began working full-time, I have developed a strong interest in investing in the stock market....
-
What's at the CORE
The bloggers over at Newly Corporate are asking “What 1 or 2 CORE traits get you noticed at work or help you...
-
Habits of a Rockstar Software Engineer
Every day, a software project dies. Some die a slow, painful, expensive, death. Others die a quick, not painless, and relatively embarrassing...