Shipping cadence is accelerating at PostHog. In the last 6 months, we've gone from shipping 1,441 PRs in January to 4,725 PRs in June while increasing engineering headcount by only 10%. This is heading towards our north star for internal developer…
You really don't want to be in the business of building your own Salesforce.
The way we work as human-centred practitioners needs to change. From its beginnings as an engineering technique, through its transition to being a product design tool, user experience now needs to be adopted as a strategic approach.
Cascade Chat could connect to Libera.Chat just fine and then lose the socket a few seconds later. Finding out why took several PRs and a rethink of its event architecture.
Errors are the easiest data to act on in our product improvement pipeline . They arrive with a stack trace that's groupable and says exactly what broke and where. This makes it easy for agents to research each one, and if it's actionable, open a PR…
I built a fake farm-website company on PostHog's provisioning API. Here's how it creates accounts for its users and reads their analytics back, with the gotchas I hit.
How structured logs helped Codex fix a year-old bug, and why logs are the key to unlocking autonomous workflows.
Cascade Chat now runs on an Agentic Development Lifecycle. Agents write the code, Playwright verifies it, and the only human decisions left are ideation, architecture, and the release gate.
After the success of using agents to improve query performance through autoresearch , I wanted to try something more ambitious. I rewrote PostHog's SQL parser using multiple long-running Claude Code sessions in parallel. The result was 16K lines of…
Semantic versioning signals intent. Calendar versioning tells you when. The second one is more useful.
Desktop software is having a quiet revival. After years of SaaS monoculture, frameworks like Wails and Tauri are enabling a new generation of native-feeling apps built with familiar web technologies — at a fraction of Electron's resource cost. Wails v3's first-class in-app updates might be what finally tips the scale.
As is tradition, my workflow continues to evolve at a rapid pace. I've since dumped Cursor in favor of a new stack.
Thoughts on an approach for using LLMs effectively for coding without losing engagement and cognitive effort.
Thoughts on an approach for using LLMs effectively for coding without losing engagement and cognitive effort.
A few weeks ago at a team offsite in Lisbon, we pointed an AI agent at our query engine, fed it slow queries from production, and let it run overnight. By the next morning it had found something embarrassing: for almost three years, every query with…
Good code begets good results, so let's make a case for using coding agents to write better code, rather than just more code.
How we moved PostHog's feature flags local evaluation endpoint from Django to Rust and dropped CPU usage by 24x and memory by 56x.
Many people are using AI to solve their problems when they could be leveraging AI to become better versions of who they want to be.
A practical framework for building reliable AI agent workflows through harness design, state management, and end-to-end verification.
Last month, our customers deployed AI agents to PostHog projects to try and solve 6,124 errors in their products. They resolved 4,063 issues. They suppressed 1,751 more. They routed 310 to the right team. Almost none of those agents opened the…
Notes on the AI Engineer Unconference in Sydney around agentic engineering, AI safety, and knowledge management.
An in-depth analysis of the critical role of deterministic governance and proactive protection mechanisms, such as hooks, in ensuring the safe and reliable operation of autonomous coding agents like Claude Code and GitHub Copilot CLI.
Learn how we discovered a big performance bottleneck in the Feature Flags service and made Tokio and Rayon play nice with each other.
Software testing used to be relatively straightforward. You wrote business logic, defined expected outputs, and verified them with unit, integration, and UI tests. With the same input, your system behaved the same way every time. AI agents changed…
What the accidental Claude Code source code leak tells us about the real value of code, product market fit, and why integration is what actually makes software great.
There it is. Staring at me. Sitting there. Goading me. The day is nearly done. I've reviewed PRs, fixed bugs, hopped on quick calls, commanded my agents, and smashed that accept button all day! And now I'm expected to fill in some stupid Slack thread…
The bar for shipping quality work hasn‘t lowered just because AI can generate code in minutes — and if you‘re accepting AI output without reviewing it, you‘re part of the problem.
Updating an open source library taught me a valuable lesson for making your codebase agent-friendly — small steps can have a big payoff.
An ecosystem evolves with the meaning and context of the words/conventions used by it's participants. We need shared understanding to have meaningful conversations around topics. The engineering & scientific communities over the world have created common parlance where applicable, where does Indian context fit in?
The PostHog Wizard is an AI agent that integrates PostHog into your code base. It understands your business logic, captures high quality data, and correctly configures PostHog products in a single command. The Wizard adds incredible stakeholder…
Refactoring isn't a necessary evil -- it is the job. Why the best product teams rebuild constantly, at every scale.
Refactoring isn't a necessary evil -- it is the job. Why the best product teams rebuild constantly, at every scale.
Engineering Standards and Quality Control in the Age of AI Agents
You‘re one step away from turning Codex into a proactive assistant that tackles low-hanging fruit while you sleep.
Learn a simple but effective technique that makes your blog more easily searchable for LLMs.
Learn how to optimize your website for generative search engines like ChatGPT, Claude, and Gemini to improve your search engine rankings.
MCP Apps adds an official extension for rendering interactive UIs inside MCP clients, building on MCP-UI and OpenAI's Apps work to move beyond plain text.
A quick guide on how to programmatically set the GitHub issue type with the GitHub CLI, even if built-in functionality for this doesn't quite exist.
After three years at Microsoft working on security and MCP, I'm joining Anthropic as a Member of Technical Staff to help grow the MCP ecosystem.
Closing out a third stint at Microsoft - reflections on three and a quarter years working on developer experience before moving to a new role in 2026.