You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
List of incidents + any action items that haven't been scheduled yet
Team sprint planning
For your team sprint planning copy this template into a comment below for each team.
# Team ___
**Support hero:** ___
**Off during the sprint:** ___
## Quarter goals
1. Quarter goals, status (red/yellow/green) and action points if yellow/red
## Retro
### Tasks
<!-- Grab the high and low priority items from last time and add whether that item was completed or not -->
## Plan
### High priority
-
### Low priority / side quests
-
### Are any other teams impacted by this plan? If so, tag them here
-
web and worker still outstanding, needs some work still
🟡 more network things (tailscale setup cleanup) @MichaelKutsch-ph - standardized ECS done, in rollout
✅ Cilium: own nodepools with cilium only, route percentage of traffic to it on dev - let it sit for a while and then progress @danielxnj
✅ improve argoCD notifications - increase transparency about appHealth and deployments @Z3r0Sum - rollout per teams for team-based notifcations, feature flags, managed warehouse...
⚪ use bigger node sizes to reduce overall node count / lighten EKS API load @langesven
@ablaszkiewicz - issue migration follow-up 🟢 Done, investigation on the performance. Sync has delays @ablaszkiewicz - design recommendation center 🟢 @ablaszkiewicz - stretch: integration with feature flags / experiments 🔴
@fivestarspicy - conduct ET usage interview 🟡 Power users list collected + outreach messages ready. @fivestarspicy - cost analysis 🚫 Delayed @fivestarspicy - market research AI / ET 🟢 Need to create a Slack canvas with the findings
@hpouillot - architecture diagram for cost analysis 🔴 @hpouillot - breadcrumbs 🟡 UI is ready, PR for JS SDK @hpouillot - code owners usage for assignment rules 🔴 -> Replace with cymbal metrics, symbol set sticky routing inside cymbal.
@ksvat Become MCP master and get an overview of current MCP
@nicowaltz Wrap up labelling suite initial version @nicowaltz Coordinate data training efforts
@fivestarspicy FinOps - figure out cost per active minute @fivestarspicy Beta learnings doc (session summarization)
@TueHaulund Implement continuously sweeping summarization job to even out rasterizer load @TueHaulund Clean up feature flags and discontinued summarization types
⚪ = Not Started 🟡 = In Progress 🟢 = Completed 🔴 = Won't complete 🔵 = Abandoned
AI
🟡 API layer - get the API ready for agents
⚪ Skills - create experiment skills so PostHog AI knows how to use MCP tools effectively.
🟡 MCP - supports all main operations.
⚪ Signals - ship our first signal
🟡 Feature flags - make it possible to run multiple experiments per feature flag
🟡 Query performance - extend precomputation to the main subquery of all metric types.
⚪ Loading experience - consolidate fetching and set better expectations in the UI.
Retro
Anders
Feature flag stuff
Got the initial SDK harness test for flags out, will continue with PR’s for the SDKs (I plan to test out an “agent fleet” on this as there are some many SDKs …). This will make it a lot easier to make sure that SDK’s are comp
fix(compliance): declare capabilities in health endpoint
chore(experiments): clean up FLAG_BUCKETING_IDENTIFIER feature flag
Q2 goal
Have started to research / doddle on the Q2 goal, no deliverables yet, just deep thinking. Will result in an RFC
Performance (which came up in support)
Optimized the funnel query. Testing on our funnel queries was promising. Running in prod now.
feat(experiments): allow disabling expensive funnel steps data in query
feat(experiments): skip session_id column when funnel steps data disabled
feat(experiments): optimize funnel query to single events table scan
Copy experiment feature
feat(experiments): add copy experiment to another project
feat(experiments): track creation mode in experiment created analytics
Support, bugfixes, etc
fix(experiments): cast non-numeric HOGQL aggregation results to Float64 for winsorization
fix(experiments): use correct app label in admin URL reverses
fix(security): add semgrep audit exclusions for experiment query builder
feat(experiments): show timeseries click hint in metric tooltip
fix(experiments): increase hypothesis char limit and add live validation
fix(devex): recreate hogli symlink when target is dangling
Marcel
Biggest point is the ongoing AI/MCP rollout
Iterate locally on experiment AI (complete rewrite of MCP and one skill)
Play around with posthogs LLM engineering tooling, e.g. manually going through traces
Had a few meetings with Georgiy to align on approach, talk about LLM tooling, evals/tests, how to measure quality of iterations, how to see what issues people face right now with our AI (it’s still all a bit manual and time consuming at this point)
LLM team will build feature flags into MCP so that we can rollout to parts of users
Wrote my own eval script, but discarded since it had bias included
Some deliverables (cherry picks from local work with AI):
Details
⚪ = Not Started
🟡 = In Progress
🟢 = Completed
🔴 = Won't complete
🔵 = Abandoned
Retro
Big sprint for the performance and infrastructure goals. Patricio drove the /local_evaluation Rust rollout to 100% (EU included) with a clean revert/recover loop, plus pinned down high-cardinality metric labels on Victoria Metrics. Matheus landed real perf wins with the double-deserialization fix, a GIN index benchmark, and header-based deterministic routing, alongside IP-based rate limiting on the charts side. Haack shipped the flag version history reconstruction endpoint and the Rust dependency cache builder, cleaned up noisy SDK event properties in posthog-js, and kept Rust crates and ClickHouse query sizes under control.
AI-first flag management (for PostHog employees) 🟡
Real-time cohorts 🟡
Close the targeting functionality gap (user + group targeting) 🟡
Details
⚪ = Not Started
🟡 = In Progress
🟢 = Completed
🔴 = Won't complete
🔵 = Abandoned
Retro
A backfill-and-targeting sprint. @dmarticus stood up the temporal workflow scaffolding for event-property backfill on cohort save — coordinator + child workflow + behavioral event filter extraction — and continued grinding through the user+group mixed-targeting backlog with a stack of correctness and UX fixes (preserving conditions when switching modes, activity logging for evaluation context changes, surfacing person results over skipped group conditions). @gustavohstrassburger landed automatic person-property backfill on cohort save and pushed cohort backfill performance hard — debouncing the trigger by 5 minutes, extending cached filter TTL to 7 days, scaling temporal-worker-messaging to 100 pods in prod-US, and improving error isolation in resave_cohorts. On the side, the team rolled out device bucketing across iOS, Android, react-native, and Node SDKs, polished static cohort UX (create-from-criteria, between-input dates, duplication fixes), shipped a redesigned Match-by selector, and refreshed targeting + scheduled changes docs.
Wire up event-property backfill on cohort save end-to-end (taking over from @dmarticus — coordinator + child + filter extraction landed last sprint, integration + rollout next)
Continue chipping at long-tail expensive cohort backfills (bring 99th-percentile orgs down from ~31h significantly)
[Daniel] Unexpectedly had a difficult time finding one of our Postgres DB to serve as Logical Replication test. Basically the same problem we usually have for sources: how do you get a real example of the source to test?
The solution might be heavy payload mocking. Maybe we could start a payload database? Like having payload examples for all endpoints/schemas we are able to sync, and get that to auto update with real data. Won't help for plain DBs but for REST/GraphQL/etc it would be awesome
For databases, I've been generating a lot of scripts that create tables and feed data, as well as long running scripts that just run DML ops on them.
🟡 [Tom] Get existing stripe users migrated over to webhooks
🔴 [Tom] Get back onto working on Warehouse => CDP integration
🟡 [Daniel] Release Postgres Logical Replication, fix bugs and implement improvements from initial user feedback. Validate scalability and safety net
⚪ [Daniel] If the logical replication is working perfectly, the next step is test other Postgres backed dbs (specially Supabase)
🟢 [Daniel] Frontend updates to Postgres source setup (push users towards CDC, have more details and explain things better for non-technical users)
🟢 [Daniel] Validate and release ClickHouse as a source
🟢 [Marcus] Support
add FORCE INDEX fallback for MySQL bad-plan timeouts
add read and session timeouts to MySQL sync connection
probe actual scale for unconstrained postgres numeric columns
fix capturing logs within the iterator
normalize corrupted vitally region in job_inputs
return 400 instead of crashing when Stripe webhook signing secret is missing
fix postgres failing because of invalid startup options
add management command to re-enable schemas disabled by error
⚪ [Marcus] Slack webhook support
⚪ Marcus] More sources ([priority)
🟢 [Marcus] first iteration of MCP tools
🟢 [Marcus] add TLS opt-out toggle for Postgres sources with SSH tunnels
🟢 [Marcus] allow users to specify custom primary key for schema syncs
🟡 [Estefania] Rollout pipelines V3 to beta sources to more teams and monitor
🟢 [Estefania] Start the work on writing to DuckDB/DuckLake
Low priority / side quests
⚪ [Daniel] Improve observability: make it easier to find and read logs, perhaps with a script so even AI can quickly fetch logs from temporal workflows
⚪ [Estefania] Add re-sync schema option to django admin
Plan
High priority
[Marcus] mcp improvements
update backend to have correct openapi types
remove custom handlers in the mcp
[Marcus] release slack with webhooks
[Marcus] show warning when selecting an incremental field without an index
[Tom] Get started on some Skills
[Tom] Get back onto working on Warehouse => CDP integration
[Estefania] Investigate alternatives to Kafka for PipelinesV3 and decide based on it
[Estefania] Continue the work on writing to DuckDB/DuckLake
[Daniel] Get Postgres CDC over the line: finalize prod tests and release to a few customers. If it goes well, release to general pop under a early Beta flag
[Daniel] Extend Postgres CDC to other compatible sources (Supabase mainly)
[Daniel][Stretch] Database sources: multi-database/schema support
Define structure and raise requirements
[Daniel][Stretch] Configure columns to import from the source
Low priority / side quests
🟢 =finished 🟡=in progress 🔴=won't finish ⚪=not started
Activity
dustinbyrne commentedon Apr 14, 2026
Team Client Libraries
Support hero: @dustinbyrne then @marandaneto
OOO: @marandaneto @ioannisj 1 day
Quarter goals
Retro
Details
High priority
Low priority / side quests
Plan
High priority
Low priority / side quests
🟢 =finished 🟡=in progress 🔴=won't finish ⚪=not started
MichaelKutsch-ph commentedon Apr 15, 2026
Team Infra
Support hero: @danielxnj @MichaelKutsch-ph
Retro
High Prio
side quest
✅=finished 🟡=in progress 🔴=won't finish ⚪=not started
High Prio
side quest
tomasfarias commentedon Apr 15, 2026
Team Batch Exports
Support hero: @tomasfarias / @rossgray
Quarter goals
Retro
Details
High priority
✅ Display for realtime destination backfills failed/successful runs @rossgray
✅ Add concurrency for workflows batch export @tomasfarias
🟡 With load testing
🟡 Review metrics and alarms
Low priority
🟡 Add documentation/tooltip for table setup for BigQuery
Add query to create the table
Would be nice if this was available via the API
Improve debugging tools
🟡 Enable MCP integration
✅ Improve backfill script
🔴 Refactor logging library
✅=finished 🟡=in progress 🔴=won't finish ⚪=not started
High priority
Split up S3 destination into supported destinations into:
Integration for AWS S3 with support for no-credentials authentication
Integration for PostgreSQL
Resource based allocator + auto-scaler for batch export workers
Low priority
Add new snowflake inserted_at column
Explore retryable/non-retryable in response body of CDP API
frankh commentedon Apr 15, 2026
Team Logs
Retro
Details
High priority
Low priority / side quests]
High priority
Low priority / side quests
🟢 =finished 🟡=in progress 🔴=won't finish ⚪=not started
meikelmosby commentedon Apr 15, 2026
Team Workflows
Time Off
Retro
High priority
Low priority
This Sprint
High priority
Handover Documentation / Session around everything Email @havenbarnes @meikelmosby @dmarchuk
Being able to create/debug Workflows through MCP @meikelmosby
Email delivery throttle @meikelmosby
"Wait until event" workflow action / conversion goal @dmarchuk
Push Notifications for android / ios @havenbarnes
LLM workflow node @dmarchuk
Low priority
rafaeelaudibert commentedon Apr 15, 2026
Team Growth
Support hero: @rafaeelaudibert and @MattBro
Off during the sprint: Rafa's honeymoon 2nd week of the sprint, Pipa, Rio Grande do Norte, Brazil
Quarter goals
Details
⚪ = Not Started 🟡 = In Progress 🟢 = Completed 🔴 = Won't complete 🔵 = AbandonedPlan
High priority
Low priority / side quests
Retro
Details
Low priority / side quests
What else did we do?
Activatedintent event for all products available during onboarding @fercgomesmariusandra commentedon Apr 15, 2026
Data Team Tools
Q2 2026 objectives
Objective 1 - Build a BI experience that feels competitive and joyful (Marius)
Objective 2 - Make notebooks the default way to analyze data (Anna)
Objective 3 - Build a first-class querying and DuckDB experience (George)
Retro
Plan
Support rota: George then Marius
High priority
Low priority / side quests
Are any other teams impacted by this plan? If so, tag them here
rorylshanks commentedon Apr 15, 2026
Team ClickHouse
Retro
High priority
Low priority / side quests]
🟢 =finished 🟡=in progress 🔴=won't finish ⚪=not started
andrewjmcgehee commentedon Apr 15, 2026
Team Data Modeling
OOO
Retro
High priority
Low priority
👈 = WIP
This Sprint
High priority
Low priority
Q2 Goals
Let's review them
joshsny commentedon Apr 17, 2026
Team PostHog AI
Support hero: @cvolzer3, ?
Off during the sprint: @joshsny - 1.5 days 💒, @tatoalo - 1 day
Retro
Tasks
🟢=finished 🟡=in progress 🔴=won't finish ⚪=not started
High priority
Side quests
Plan
High priority
Side quests
Are any other teams impacted by this plan? If so, tag them here
hpouillot commentedon Apr 17, 2026
Team Error Tracking
@hpouillot OOO 3 days
Retro 🟢 🔴 🟡 🚫
@cat-ph - add error tracking MCP tools 🟡 Few tools remaining
@cat-ph - stretch: agent usage instrumentation 🟢
@ablaszkiewicz - issue migration follow-up 🟢 Done, investigation on the performance. Sync has delays
@ablaszkiewicz - design recommendation center 🟢
@ablaszkiewicz - stretch: integration with feature flags / experiments 🔴
@fivestarspicy - conduct ET usage interview 🟡 Power users list collected + outreach messages ready.
@fivestarspicy - cost analysis 🚫 Delayed
@fivestarspicy - market research AI / ET 🟢 Need to create a Slack canvas with the findings
@hpouillot - architecture diagram for cost analysis 🔴
@hpouillot - breadcrumbs 🟡 UI is ready, PR for JS SDK
@hpouillot - code owners usage for assignment rules 🔴 -> Replace with cymbal metrics, symbol set sticky routing inside cymbal.
OKR
Recommendations - Setup & Priorities
Grouping - Grouping
Agent experience - MCP & Wizard
Pricing exploration - Value alignment
Issue Report - Signal integration
Search query - Migration & Performance
High priority
@hpouillot - code owners usage for assignment rules
@hpouillot - breadcrumbs web SDK
@hpouillot - architecture schema for cost analysis
@hpouillot - stretch: react and node SDK for breadcrumbs
@cat-ph - Remaining MCP Tools
@cat-ph - Skills for the wizard inside context mill
@fivestarspicy - send outreach to ET users
@fivestarspicy - pitch with Christophe for issue rate limiting
@ablaszkiewicz - issue migration sync, clickhouse union with dirty issues
@ablaszkiewicz - add recommendations to center (alerts, weekly digest, ingestion issues, cross-sell)
@ablaszkiewicz - issue rate limiting
lucasheriques commentedon Apr 17, 2026
Team Surveys
Support hero: @lucasheriques
Quarterly goals
🟡 Goal 1: Surveys research & pricing exploration
🟡 Goal 2: Surveys MCP & skills
⚪ Goal 3: MCP analytics
Retro
High priority
Side quests
vdekrijger commentedon Apr 20, 2026
Team Analytics Platform
Support hero: @vdekrijger
Off during the sprint:
Quarter goals
Dashboard stability and enhancements @MattPua
Improve platform stability and reliability @vdekrijger
AI-first support for our owned components @vdekrijger
Revenue analytics as a platform @arthurdedeus
Reposition group analytics @arthurdedeus & @mjwarren3
Query performance Improvements @robbie-c
Event schema @aspicer
Event schema @andyzzhao
Retro
Tasks
@MattPua
@vdekrijger
Plan
High priority
@MattPua
@vdekrijger
Low priority / side quests
Are any other teams impacted by this plan? If so, tag them here
TueHaulund commentedon Apr 20, 2026
Team Session Replay
Support hero:
@fasyy612
OKRs
Details
Retro
Details
✅ @ksvat Test V2 triggers with select customers
🟡 @ksvat Start planning effort for new AI-centric Replay Home
🟡 @fasyy612 POC for custom summarization preamble/prompt
🟡 @nicowaltz First version of labelling suite
✅ @nicowaltz Finalize and merge feature collection PRs
✅ @TueHaulund Fully retire old video exporter
✅ @TueHaulund Gradual release of on-demand single-session summaries
✅ @fivestarspicy Figure out early-access cohort for single-session summaries
🟡 @fivestarspicy Start looking into reliability metrics
High priority
@fasyy612 Custom summarization preamble/prompt + custom tags
@ksvat Become MCP master and get an overview of current MCP
@nicowaltz Wrap up labelling suite initial version
@nicowaltz Coordinate data training efforts
@fivestarspicy FinOps - figure out cost per active minute
@fivestarspicy Beta learnings doc (session summarization)
@TueHaulund Implement continuously sweeping summarization job to even out rasterizer load
@TueHaulund Clean up feature flags and discontinued summarization types
Radu-Raicea commentedon Apr 20, 2026
Team LLM Analytics
Time off
Quarter goals
Goal 1: Agent-first LLM Analytics @richardsolomou @brandonleung @carlos-marchal-ph
Goal 2: Proactive LLM Analytics @andrewm4894
Goal 3: Full evals stack @andrewm4894
Goal 4: Product glue @brandonleung @richardsolomou
Goal 5: Reliability and performance @Radu-Raicea @carlos-marchal-ph
Goal 6: Trace and session UI @richardsolomou
Goal 7: Ingestion pipeline and migration @carlos-marchal-ph @Radu-Raicea
Retro
Details
High priority
Low priority / side quests
Plan (W17, W18)
High priority
ai_eventsmigration @carlos-marchal-phLow priority / side quests
Mid-sprint check-up
pl commentedon Apr 20, 2026
Team Ingestion
Retro
Details
High priority
Incident follow-up
Support follow-up
None
Side quests
OKRs
Projects
TODO
High priority
Incident follow-up
Support follow-up
adamleithp commentedon Apr 21, 2026
Team Plaform UX
Off during the sprint: N/A
Legend
⚪ = Not Started 🟡 = In Progress 🟢 = Completed 🔴 = Won't complete 🔵 = Abandoned 🟣 = Ongoing
Q2 2026 Quarter goals
Retro
High priority
🟢 Ai first homepage
🟡 PostHog Code help
🟣 Continue to own platform UI/UX
Low priority / side quests
Plan
High priority
🟡 Continue to develop Quill (for MCP/Code)
🟡 Rebuild date time picker
🟣 Continue to own platform UI/UX
jurajmajerik commentedon Apr 22, 2026
Q2 Goals
⚪ = Not Started 🟡 = In Progress 🟢 = Completed 🔴 = Won't complete 🔵 = Abandoned
AI
🟡 Feature flags - make it possible to run multiple experiments per feature flag
🟡 Query performance - extend precomputation to the main subquery of all metric types.
⚪ Loading experience - consolidate fetching and set better expectations in the UI.
Retro
Anders
Feature flag stuff
Q2 goal
Performance (which came up in support)
Copy experiment feature
Support, bugfixes, etc
Marcel
Biggest point is the ongoing AI/MCP rollout
Some deliverables (cherry picks from local work with AI):
Worth noting
Other deliverables:
Other things that took time:
Rodrigo
PTO
Support and papercuts
Legacy experiments
Experiment actor’s query
DW funnels
Juraj
Query precomputation
Query debug tooling
Papercuts
Docs updates
Other
Sprint Goals
Anders
Marcel
Rodrigo
Juraj
haacked commentedon Apr 22, 2026
Team Feature Flags Platform
Support hero:
Off during the sprint: Nobody!
Quarter goals
Link to goals
/decidecode 🟢remote_configfrom/flags🟢/local_evaluationin a good state 🟡Details
⚪ = Not Started 🟡 = In Progress 🟢 = Completed 🔴 = Won't complete 🔵 = AbandonedRetro
Big sprint for the performance and infrastructure goals. Patricio drove the
/local_evaluationRust rollout to 100% (EU included) with a clean revert/recover loop, plus pinned down high-cardinality metric labels on Victoria Metrics. Matheus landed real perf wins with the double-deserialization fix, a GIN index benchmark, and header-based deterministic routing, alongside IP-based rate limiting on the charts side. Haack shipped the flag version history reconstruction endpoint and the Rust dependency cache builder, cleaned up noisy SDK event properties in posthog-js, and kept Rust crates and ClickHouse query sizes under control.Details
@haacked
Feature flag event property cleanup (posthog-js):
Flag version history & dependency cache:
Infra & maintenance:
@matheus-vb
Performance & deserialization:
Rate limiting:
Other:
@patricio-posthog
local_evaluation Rust migration:
Metrics cardinality:
Other:
Plan
Project Board
High priority
@haacked
@matheus-vb
@patricio-posthog
Side quests
$feature_flag_calledeventsburakhoca commentedon Apr 24, 2026
Harika iş 🥳🥳
dmarticus commentedon Apr 27, 2026
Team Feature Flags
Support hero:
Off during the sprint: Nobody!
Quarter goals
Link to goals
Details
⚪ = Not Started 🟡 = In Progress 🟢 = Completed 🔴 = Won't complete 🔵 = AbandonedRetro
A backfill-and-targeting sprint. @dmarticus stood up the temporal workflow scaffolding for event-property backfill on cohort save — coordinator + child workflow + behavioral event filter extraction — and continued grinding through the user+group mixed-targeting backlog with a stack of correctness and UX fixes (preserving conditions when switching modes, activity logging for evaluation context changes, surfacing person results over skipped group conditions). @gustavohstrassburger landed automatic person-property backfill on cohort save and pushed cohort backfill performance hard — debouncing the trigger by 5 minutes, extending cached filter TTL to 7 days, scaling temporal-worker-messaging to 100 pods in prod-US, and improving error isolation in resave_cohorts. On the side, the team rolled out device bucketing across iOS, Android, react-native, and Node SDKs, polished static cohort UX (create-from-criteria, between-input dates, duplication fixes), shipped a redesigned Match-by selector, and refreshed targeting + scheduled changes docs.
Details
@dmarticus
Event property backfill on cohort save:
User + group targeting:
Static cohorts UX:
Mobile SDK device bucketing:
Browser SDK fixes:
Docs & policy:
Recruiting:
@gustavohstrassburger
Person property backfill on cohort save:
Long-tail backfill performance:
Remote config & flags UX:
HogVM & test fixes:
Plan
Project Board
High priority
@dmarticus
all events@gustavohstrassburger
@rubychilds
Side quests
@dmarticus
@gustavohstrassburger
Gilbert09 commentedon May 1, 2026
Team Warehouse Sources
Support hero: @danielcarletti then @estefaniarabadan
OOO:
Quarter goals
Retro
Details
High priority
Low priority / side quests
Plan
High priority
Low priority / side quests
🟢 =finished 🟡=in progress 🔴=won't finish ⚪=not started
pawel-cebula commentedon May 4, 2026
Team Billing
Retro
Retro items
@minekansu
@pawel-cebula
#revenue-issues:@mcoll-posthog
@abhischekt
stripe_customer_idandbilling_addressto SFDCaccountsQ2 2026 Objectives
✅=finished 🟡=in progress 🔴=won't finish ⚪=not started
Complete the transition to the new revenue model (eng lead: @mcoll-posthog , revops lead: @minekansu)
Migrate all credits to an in-house ledger (lead: @pawel-cebula)
Ship all expected pricing launches and changes (lead: @pawel-cebula)
Reduce tech debt and improve developer experience (lead: @mcoll-posthog)
Complete the Salesforce org object rollout (lead: @abhischekt)
Build customer health score v1 in Vitally (lead: @minekansu)
Implement fully automated outbound pipelines (lead: @abhischekt )
This sprint
@minekansu
@pawel-cebula
- Ambitious given integration scope and likely PostHog Code launch during this sprint
@mcoll-posthog
@abhischekt
keyrolesto SFDCTime off: