Paul D'Ambra
@pauldambra.dev
gives a whole new meaning to the term "spaghetti code" Leading a bunch of teams @posthog.com ex @coopdigital @footclicksus swears too much, draws rubbish diagrams (he/him/his) https://pauldambra.dev
Watching session replays manually is so 2025. We built Replay Vision to watch them for you, and it's now available to everyone. Here's how it works, and how we use it internally:
throw back to all the kids that can't read ignoring this instruction at the "play park for kids who are all gonna be too young to read"
A crack detective made by cracked engineers. Replay Vision is now GA. PostHog watches your Session Replays for you, and solves your cases: flagging bugs, scoring frustration, summarizing what happened, and delivering fixes.
vibe coded a wordle clone so i could do in italian but get translations as i go can you see what the vibe did to the keyboard?
We've gone from 1,441 to 4,725 PRs/month since January. Great. But, that moved the bottleneck along to review, CI and testing. Not so great. @pauldambra.dev wrote about the tricks we've used to not go crazy as a result: posthog.com/blog/10k-pr...
10,000 PRs a month is easy: How devex is evolving at PostHog - PostHog
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…
posthog.com
blogged a bloggy thing pauldambra.dev/2026/07/how-... ## in today's edition of AI hot takes * saying "slop" considered harmful * ship value, not craft * don't read code * if you make me copy & paste a prompt you've lost me #loops
How I use LLMs? - six
How I use LLMs - six
pauldambra.dev
demoing autoresearch in @posthog.com code to a colleague didn't have my local setup running right even so it found a shippable PR before it failed github.com/PostHog/post...
feat(autoresearch): cache team group types during serialization by pauldambra · Pull Request #71849 · PostHog/posthog
Problem Team API responses serialize has_group_types and group_types independently, causing the same cached lookup to run twice on a hot serializer path. This adds avoidable work to a range of auth...
github.com
It is my belief that many devs right now are not maximizing what they can do with automatic programming because they still look at the code. Doing it makes you the bottleneck. Your time is better invested in new ideas, QA, design, and asking yourself what is your goal.
started my day by catching a train to london and then claiming that cold baked beans straight from the can is british gazpatcho
was just reminded of this lightning talk from years ago we tried a board where the tickets went through the net everyone asked "why do all the tickets go in the bin?"
another robot highlight for 2025: man wearing humanoid mocap suit kicks himself in the balls
x: "do you have a normal job that you do normally?" me *looks up from warning colleagues not to be almonds: "what's that?"
#2: "dad, what's boring normal boy haircut called?" me: "what?" #2: "what's your haircut called?"
we have a toolbar in @posthog.com it runs on your site & highlights what elements your users click on that was always _really_ slow to load & update i've probably spent a week in ideal developer days trying to optimise it & had some success fable spent 35 minutes & now it is basically instant 😍
how have i got worse wifi on a train from manchester to london than i had halfway across the atlantic to the caribbean this train wifi might be free, but that's because it's not actually connected to the internet.
when prince talked about partying like it was 1999... this was what he meant
here's an @e18e.dev tool to summarise and visualise v8 deoptimisations. with `npx @e18e/deopt your_script.js`, you basically get a UI served up locally which shows where v8 deoptimised your code. you can also use `npx @e18e/deopt --md your_script.js` to get a markdown summary
GitHub - e18e/deopt: A tool for analyzing Node.js/v8 (de)optimizations.
A tool for analyzing Node.js/v8 (de)optimizations. - e18e/deopt
github.com