FunnelFox Engineering March 2026

New Teams

Every feature should have a home. Now it will.

01 / 10
Editor Payments Analytics Core
The Problem 02 / 10

Who owns the cancellation flow?

Today we have 2 teams — Funnels and Datalytics — but no clear product boundaries between them.

Ownership lives with specific people, not teams. If that person is busy or on vacation, the feature stalls.

Nobody can point at a product area and say "that's ours."
Before vs After 03 / 10

Before

Two teams split by layer — frontend vs backend. Every feature crosses the boundary.

Funnels Team

Editor, dashboard UI, checkout UI, funnels

Datalytics Team

Subscriptions, Analytics, Sessions, Hosting, 20+ integrations...

One team builds it. The other team makes it work.

After

Four teams split by product — each owns their full stack.

Editor

Editor, Hosting, Funnels, Experiments

Payments

checkout SDK, Payments API

Analytics

Analytics SDK, Pipelines, Charts

Core

DB layers, Queues, Telemetry, Libs

No handoffs. No "that's the other team's part."

Architecture 04 / 10

Funnel → SDK → API → Core

Funnel built by Editor team
analytics.track(...) payments.createCheckout(...)
Analytics SDK
Payments SDK
Analytics API
Payments API

Core

db · queues · auth

Each team owns one layer of the stack end-to-end. The funnel is the runtime where the SDKs meet.

Team Profile 05 / 10

Editor

Own the funnel builder, hosting, and user experience.

Editor UI + API Funnels Hosting Funnels Page Sessions + Profiles Experiments
Interfaces Editor page + API · Users page + API · Funnels page + API · Session lifecycle events · Funnel publish events
Values Give client easy tools to build funnels · Funnels work fast and reliably · Easy to host · Easy to publish
Team Profile 06 / 10

Payments

Own the entire monetization vertical — from checkout to revenue.

Payments SDK PSP Integrations Subscriptions Transactions Products + Prices
Interfaces Unified Payments API · Unified Payments SDK · Subscriptions · Transactions · Product / Price
Values Unified simple payments flow · CR-optimized checkout
Team Profile 07 / 10

Analytics

Own the entire measurement vertical — from event collection to charts.

Analytics SDK Charts API + UI Ad Platforms Experiment Results Usage Metering
Interfaces Analytics SDK · Ingestion API · Charts / metrics API · Experiment results API
Values Pipelines work reliably · Truthful analytics and tracking · Valuable insights
Team Profile 08 / 10

Core

Other teams have fantastic tools to work fast and reliably.

Queues Middlewares Runtimes Logging Monitoring Telemetry
Interfaces core/pg · core/clickhouse · core/queue · core/webhook · Auth middleware · Project settings API · packages
Values Reliability-first · DDD · DX matters · Everything is observable · TDD by default
Interfaces 09 / 10

SDKs never know about each other.

The funnel wires them together. Each SDK is a black box with inputs and callbacks.

Example payments.onPurchase → analytics.track('purchase')

Payments never imports Analytics. The funnel decides what to connect.

Analytics SDK

analytics.track

Payments SDK

onPurchase

Funnel

wires the connection

Core

db · queues · auth

What Changes 10 / 10

Important changes

01

Team lead runs your daily calls

Each team gets a lead who owns priorities, standups, and coordination.

02

Your team reviews your PRs

CODEOWNERS maps directories to teams. Your teammates are your reviewers.

03

Each team owns its integrations and webhooks

No more handing off "the Stripe part" to another team. You own the full stack.

04

Each team manages its own incidents

Clear escalation paths. If checkout is down, Payments owns it. Not "everyone."

05

We're moving towards public APIs

Well-defined interfaces today become well-designed public APIs tomorrow.