Each feature at PostHog has an Engineering owner. This owner is responsible for maintaining the feature (keep the lights on) and championing any efforts to improve it (e.g. by bringing up improvements in sprint planning).
When a bug or feature request comes in, we tag it with the relevant label (see labels below). The owner is responsible for then prioritizing any bug/request that comes in for each feature. This does not mean working on every bug/request, an owner can make the deliberate decision that working on something is not the best thing to work on, but every request should be looked at.
💡 The Team Platform works a bit differently. Each subteam owns certain parts of PostHog. Among other things, this helps reduce any lead time when critical fixes are needed. Please review the Team Platform page for further details.
Feature list
You can also view the list directly in GitHub and filter issues there.
Feature | Owner | Label |
---|---|---|
Actions | Team Product Analytics | feature/actions |
Annotations | Team Product Analytics | feature/annotations |
API Structure | Security + core updates owned by Team Pipeline. Features owned by the relevant small team | feature/api-structure |
Async migrations | Team Pipeline | feature/async-migrations |
Batch exports | Team Data Warehouse | feature/batch-exports |
BI | Team Data Warehouse | feature/dashboards |
Billing | Team Growth | feature/billing |
Client libraries | Core updates owned by Team Pipeline. Features owned by the relevant small team | feature/pipeline |
Cohorts | Team Product Analytics | feature/cohorts |
Dashboards | Team Product Analytics | feature/dashboards |
Data Management | Team Product Analytics | feature/data-management |
Data Warehouse | Team Data Warehouse | feature/data-warehouse |
Error tracking | Team Error Tracking | feature/error-tracking |
Events | Team Product Analytics | feature/events |
Experimentation | Team Experiments | feature/experimentation |
Feature Flags | Team Feature Flags | feature/feature-flags |
Group Analytics | Team Product Analytics | feature/group-analytics |
HogQL | Team Product Analytics | feature/dashboards |
Heatmaps | Team Replay | feature/heatmaps |
Ingestion | Team Pipeline | feature/pipeline |
Insights | Team Product Analytics | feature/insights |
Live Events | Team ClickHouse | feature/live-events |
Messaging (Email, Notifications) | Team Growth | feature/messaging |
Notebooks | Team Replay | feature/notebooks |
Onboarding | Team Growth | feature/onboarding |
Permissions | @Twixes | feature/permissions |
Persons | Team Pipeline | feature/persons |
Pipeline Transformations | Team Pipeline | feature/pipelines |
Pipeline Destinations | Team CDP | feature/cdp |
Platform (US + EU) | Team Infrastructure | feature/platform |
Project Home Page | Team Product Analytics | feature/home |
Property Filters | Team Product Analytics | feature/filters |
Replay | Team Replay | feature/replay |
Security | @benjackwhite is a good reference person but it is every teams job to consider and react to security issues | feature/security |
Self-hosting | Team Infrastructure | feature/self-hosting |
Session Analytics | Team Product Analytics | feature/sessions |
Settings (personal & project) | @benjackwhite | feature/settings |
SSO | @mariusandra | feature/sso |
Surveys | [Team Surveys][Team Surveys] | feature/surveys |
Toolbar | Team Replay | feature/toolbar |
Web Analytics | Team Web Analytics | feature/web-analytics |
Webhook delivery service | Team Pipeline | feature/pipelines |
Why did we establish feature owners?
At our Engineering Offsite in February 2022 we realized the issue that some bugs and maintenance tasks may have been falling through the cracks because there were no clear owners.
Don't just copy other products
Some of the features we are building may exist in other products already. It is fine for us to be inspired by them - there's no need to reinvent the wheel when there is already a standard way our users expect things to work. However, it is not ok for us to say 'let's copy how X does it', or to ship something with the exact same look and feel as another product. This is bad for two reasons:
- We're highly unlikely to overtake everyone else if we just build the open source version of everything that is already out there.
- We may expose ourselves to legal risk/challenges from those companies, especially if they can point to a public issue where we have said 'let's copy X'.