Sign in

Ian Vanagas

@ianvanagas.bsky.social
50 followers 32 following 53 posts

Writing... @posthog.com, ianv.substack.com, smartyoungbc.com

PostsRepliesMedia
Reposted by Ian Vanagas
PostHog @posthog.com · 20h
We have built 10 different AI products at PostHog like PostHog AI, our Wizard, Replay Vision, Scouts, and more. Combined, they are used by nearly 100k people every month. Along the way, we’ve learned a lot about building them, what works, and what doesn’t. Here are the 38 most important lessons:
151
Ian Vanagas @ianvanagas.bsky.social · 09/09/2026
Happy to chat more if helpful 😁
020
Ian Vanagas @ianvanagas.bsky.social · 08/09/2026
(I should post the one with the fancy link) posthog.com/blog/aeo-adv...
posthog.com
How to grow your AEO function (without losing your mind)
I learned SEO the traditional way: by telling a client I knew how to do it, then immediately Googling “what is SEO.” I must have done something right, because not long after that I was hired to do it full-time. Seven years later, fate (and LinkedIn…
120
Ian Vanagas @ianvanagas.bsky.social · 08/09/2026
I don't think SEO is dead as a lot of the same principles apply to optimizing for agents, and yes, search engine rankings apply to what content they find. We wrote a post on this: newsletter.posthog.com/p/llms-are-p...
newsletter.posthog.com
LLMs are picking winners. Here’s how to become one.
A startup's guide to answer engine optimization
122
Ian Vanagas @ianvanagas.bsky.social · 08/09/2026
source-ish: x.com/JustJake/sta... and more like this: x.com/zenorocha/st... and: x.com/tweetsbycoli...
x.com
110
Ian Vanagas @ianvanagas.bsky.social · 08/07/2026
I'm still evaluating how "agent-first" I should be using Semble but this is a start. @wesleyfinck.org also recently built a Claude plugin to make this easier. www.npmjs.com/package/@sem...
npmjs.com
020
Ian Vanagas @ianvanagas.bsky.social · 08/07/2026
And because I feel bad purely "taking" from the community, I've also built a skill that: 1. Extract links from my notes. 2. Saves links as cards. 3. Finds similar links and summarizes them. 4. Connects my links to existing ones.
120
Ian Vanagas @ianvanagas.bsky.social · 08/07/2026
Semble finds related links to the ones I already have that have been pre-discovered by real people and practitioners which is why I trust it as a quality source.
120
Ian Vanagas @ianvanagas.bsky.social · 08/07/2026
Finding real, quotable examples is key to my blog writing workflow. Because Google and the default web search produce a lot of junk, I use Exa, HackerNews, web search, what I've already written, and internal company docs to do this, and I recently added @semble.so to this stack.
160
Ian Vanagas @ianvanagas.bsky.social · 05/07/2026
Change is open source and there's some more details here: github.com/PostHog/post...
github.com
feat(hogql): add native Rust HogQL parser (rust-json backend) by robbie-c · Pull Request #58949 · PostHog/posthog
See https://posthog.slack.com/archives/C076E99B152/p1779193894977349 Problem HogQL/Hog source is parsed by an ANTLR-generated C++ parser (cpp-json) and a Python ParseTreeVisitor fallback (python). ...
020
Ian Vanagas @ianvanagas.bsky.social · 03/07/2026
niceeee
010
Ian Vanagas @ianvanagas.bsky.social · 03/07/2026
Got @standard.site working for the @posthog.com blog 😎 posthog.com/blog/sql-par...
posthog.com
I wrote a 70x faster SQL parser while barely looking at the code
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…
61069
Ian Vanagas @ianvanagas.bsky.social · 26/06/2026
True story github.com/PostHog/post...
github.com
Set up standard site verification by ivanagas · Pull Request #17951 · PostHog/posthog.com
Changes Sets up standard.site (https://standard.site) which lets blogs be discovered and followed on the AT Protocol network (same network as Bluesky). This registers posthog.com/blog as a publicat...
050
Ian Vanagas @ianvanagas.bsky.social · 05/06/2026
This is the best blue sky post, I think about it all the time
020
Ian Vanagas @ianvanagas.bsky.social · 05/03/2026
The document for my latest newsletter is 5,381 words long including: - 963 word outline - 1855 word first draft - 1299 word second draft - 1056 word final post The final word count might not be a lot, but it's the result of a lot of work. Read it here → newsletter.posthog.com/p/the-engine...
000
Ian Vanagas @ianvanagas.bsky.social · 24/02/2026
Engineering has escaped the codebase. The tools, mindset, and identity shape every function. Spend time in startup circles and you’ll hear everything from design to support referred to as engineering. I wrote about how this happened and why it matters to you. newsletter.posthog.com/p/the-engine...
newsletter.posthog.com
The engineeringification of everything
Why every role seems like an engineering role now (and what it means for you)
010
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
Read more in @matloka.com's post on 8 learnings from 1 year of agents below. posthog.com/blog/8-learn...
posthog.com
8 learnings from 1 year of agents – PostHog AI - PostHog
Today we launch PostHog AI, the AI agent built into PostHog . A year in the making, we've gone a long way from our first chat prototype made over a…
010
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
8. Evals are not nearly all you need. Reality is gnarly. The team looks at raw evals, real usage, and production traces. This is critical for building successful agents.
100
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
7. Frameworks lock you into ecosystems but evolve much slower than LLM capacities. Abstractions and ways of thinking crumble when AI providers add new models and features. We are staying neutral and low-level.
100
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
6. We tried hiding the details that seemed to raw, but users constantly gave feedback that the process seemed to be a mystery. Showing every step, tool call, and reasoning token helps people trust the process and build confidence in what’s happening.
100
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
5. Context really matters because people define tasks in the most ambiguous ways. Core context massively improves agent trajectories. PostHog AI has a /init command that learns about your product or business (with web search) to give valuable project-level memory.
100
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
4. To-dos are superpowers. They are deceptively simple but keep the LLM on track when it’s time for next steps.
100
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
3. Even in an agentic loop, it's tempting to organize task execution into specialized subagents, but these abstractions cause context lose which washes away the ability to string tools together and self-correct. Subagents can work for parallelization though.
100
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
2. Graph-style workflows were once the way but not anymore. In a graph, LLMs can’t self-correct and context is lost too easily. Capability advancements enabled agents which can execute dozens of steps while continuously verifying output.
100
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
1. Model improvements are a bulldozer. Tool use has improved massively in a year. Frontier models make sense of complex tools with much greater reliability. Cost-effective reasoning models significantly improved and simplified complex query creation.
100
Ian Vanagas @ianvanagas.bsky.social · 20/02/2026
After 1 year of building AI agents for @posthog.com, here are the top 8 things our team learned:
100
Ian Vanagas @ianvanagas.bsky.social · 16/02/2026
You can find all this advice and more in his post on how he actually gets good advice → newsletter.posthog.com/p/how-i-actu...
go.posthog.com
How I actually get good advice
Ironic coming from the "collaboration sucks" guy
000
Ian Vanagas @ianvanagas.bsky.social · 16/02/2026
5. Focus on diagnoses rather than solutions. The person giving you advice is not going to nail the solution every time, but they are pretty likely to nail the problem (because there are way more solutions than problems and problems don’t vary as much.
100
Ian Vanagas @ianvanagas.bsky.social · 16/02/2026
4. Start closer to home. If an option, he your team can be a great source of advice. For example, he interviewed every new sales hire about their background and what we should do differently at PostHog.
100
Ian Vanagas @ianvanagas.bsky.social · 16/02/2026
3. Do some legwork. Write a one pager with a summary of the company, team status, and specific questions you need help with. Sending this to them before the call is the single most important thing he’s done to get better advice.
100
Ian Vanagas @ianvanagas.bsky.social · 16/02/2026
2. Ask the “right” people. Looks for decent stint (5+ years) at good company.
100
Ian Vanagas @ianvanagas.bsky.social · 16/02/2026
1. Be intentional and casts a wide net. Picks a topic you don’t have strong conviction on, find 4 people who have done that things successfully, and get intros/cold message them. Multiple people will say different things, that’s ok.
100
Ian Vanagas @ianvanagas.bsky.social · 16/02/2026
I recently learned the reason why Charles is so good at his role as “generic executive”: He hops on a lot of quick calls (taking @j406.bsky.social advice to heart). What does he do on those calls? He gets advice. Here are his top 5 pieces of advice for doing this well:
100
Ian Vanagas @ianvanagas.bsky.social · 13/02/2026
To get all the details, check out my non-obvious pricing advice for startups → newsletter.posthog.com/p/non-obviou...
go.posthog.com
Non-obvious pricing advice for startups
Charge anything, changing pricing is OK, and other lessons we've learned at PostHog
000
Ian Vanagas @ianvanagas.bsky.social · 13/02/2026
Predictable and transparent pricing is better than simple pricing. This lets you better charge for the value you provide while still being fair to customers.
100
Ian Vanagas @ianvanagas.bsky.social · 13/02/2026
Billing will become a bottleneck. We have always had engineers working on our billing system to let us charge how we want, handle corner cases, and makes it more accurate and reliable.
100
Ian Vanagas @ianvanagas.bsky.social · 13/02/2026
Frequently changing pricing is totally normal. Our pricing went from monthly subscriptions to usage-based pricing to having a huge free tier.
100
Ian Vanagas @ianvanagas.bsky.social · 13/02/2026
Charging anything is better than giving software away. It’s scary but not as scary spending months building something no one will pay for.
100
Ian Vanagas @ianvanagas.bsky.social · 13/02/2026
How you price is who you are. Pricing isn’t just how you make money, it defines your identity, how you market, and how you sell.
100
Ian Vanagas @ianvanagas.bsky.social · 13/02/2026
After weeks researching how we do pricing at @posthog.com, I published a deep dive with all the non-obvious things I learned. Here are a few of the best ones:
100
Ian Vanagas @ianvanagas.bsky.social · 12/02/2026
I wrote about a bunch more benefits like this here -> newsletter.posthog.com/p/the-hidden...
go.posthog.com
The hidden benefits of being an open-source startup
How being open source helps us win
000
Ian Vanagas @ianvanagas.bsky.social · 12/02/2026
Hiring people who contribute to their open-source project is beneficial to both parties: 1. Companies can find people who are familiar with their code and domain. 2. Companies can't lie when their work is in the open. This lowers the risk of their expectations not matching the reality of the job.
100
Ian Vanagas @ianvanagas.bsky.social · 12/02/2026
Benefits include: - Attracting early employees - Engineers know what they are getting into before they start. - They know their code will see the light of day. - They can contribute before they start.
100
Ian Vanagas @ianvanagas.bsky.social · 12/02/2026
Being an open-source startup has many benefits, but one that doesn’t get thought of: HIRING. The fact that @posthog.com is open source has been instrumental to our hiring process from the earliest days until now.
110
Ian Vanagas @ianvanagas.bsky.social · 10/02/2026
Thanks to LLMs, user attention and understanding has become a bottleneck for building a successful product. If you want to fully leverage the velocity these tools provide, you need to solve it. We detail how in the latest edition of Product for Engineers. newsletter.posthog.com/p/the-hidden...
newsletter.posthog.com
The hidden danger of shipping fast
What to do when product velocity breaks the speed of adoption
020
Ian Vanagas @ianvanagas.bsky.social · 30/10/2025
sausage egg and cheese is better. bacon is too variable (often too crispy, dry), sausage is relatively consistent.
000
Ian Vanagas @ianvanagas.bsky.social · 04/09/2025
Wrote up the lessons @posthog.com has learned about building AI-powered features that are actually valuable, from choosing what to build to implementing it correctly to improving it. Check it out: newsletter.posthog.com/p/what-weve-...
newsletter.posthog.com
What we've learned about building AI-powered features
How to choose the right features, implement them the right way, and make them better (for real)
020
Ian Vanagas @ianvanagas.bsky.social · 16/08/2025
Who's building the next GitHub? www.ianvanagas.com/notes/disrup...
GitHub is ripe for disruption
GitHub is ubiquitous. It feels like it has always been there and I couldn’t imagine a world without it. You might use different LLMs, IDEs, and programming languages, but everyone uses GitHub.

This isn’t to say a better version couldn’t exist and now seems like the perfect moment to make it happen. Outages seem to happen every week, it is in a decreasingly important spot at Microsoft, and it simply hasn’t really changed (probably a good thing).

Here are some features GitHub doesn’t have that could form the basis of a disruptive competitor:

Live collaboration. GitHub is a Sketch-era app. There is a Figma equivalent waiting to be built. Planning, issues, and reviews could all be rebuilt to use live collaboration. For example, why can’t I thread comments on PRs, only code comments? Why can my review overlap with someone else’s and I get no warning?
Tailored review interfaces. GitHub was built for software engineers but there’s a lot more roles who rely on it now like me (a technical marketer). Review interfaces tailored to the type of content being reviewed. For example, reviewing markdown sucks and a change to a website almost always involves deploying a preview and tabbing back and forth between it and the PR. I’m sure infra or ML engineers could come up with their own requirements too.
AI coding. It’s sort of forgotten that Copilot was a GitHub product. Although I’m sure it’s still used a lot, it doesn’t feel like a core part of GitHub. It’s also not on the cutting edge anymore (Claude Code, Cursor, Devin, etc.). There’s no AI interface in GitHub. Where is the issue summarization, chat with your codebase, and code generation?
Native AI code reviews. Although they are the biggest new innovation in GitHub, it feels like AI code review tools like Greptile are bolted on rather than natively supported. AI code reviewers are limited in their functionality in GitHub (only read code and comment) and largely run outside GitHub.
GitHub has bee…
330
Ian Vanagas @ianvanagas.bsky.social · 09/06/2025
Hey! Inspired by this, our team just added this which might help: github.com/PostHog/post...
github.com
feat(err): support custom platforms via CustomFrame by oliverb123 · Pull Request #33320 · PostHog/posthog
No harm really. Thought about just putting the output Frame in the enum and passing it straight through, but I want to maintain the ability to change that in the future if we decide to.
100