Reference

Architecture

PullPush is a deterministic multi-tenant integration runtime. AI helps at build time (generating connectors, mappings, tests); the runtime stays predictable, observable, and safe.

Canonical data model

The canonical model is the hub between any two systems:

Source A ──→ Canonical ──→ Destination X
Source B ──→ Canonical ──→ Destination Y
Source C ──→ Canonical ──→ Destination Z

Every connector maps its native data structure to canonical types (stocklevel, order, product, etc.). This means adding a new source automatically works with every existing destination — and vice versa.

Pipeline stages

1. Ingest

ingestEvent() is a single transactional operation:

  • Writes the event to the database
  • Writes to the outbox table
  • Enqueues the job for processing

All three happen in one database transaction — if any fails, nothing is committed.

2. Poll

Each connection has a distributed lock. The poller:

  • Acquires the lock (preventing duplicate processing)
  • Fetches pending events from the outbox
  • Groups them by flow and canonical key
  • Hands them to the delivery stage

3. Deliver

Delivery enforces per-key ordering: events for the same SKU or order ID are processed sequentially, even under high concurrency. This prevents race conditions where an older stock value overwrites a newer one.

Reliability features at this stage:

  • Circuit breaker — automatic backoff when the destination API is failing
  • 10x exponential retry — increasing delays between retry attempts
  • Idempotent delivery — duplicate events are safely deduplicated
  • Dead-letter queue — events that exhaust all retries are stored for investigation

Connector types

Type How it's built Example
Built-in TypeScript class in the codebase Shopify, Magento, Linnworks
Dynamic JSON definition (DSL) Amazon, HubSpot, Xero
AI-generated Created by the AI connector builder Any API with documentation

All three types produce canonical events and consume canonical payloads — the pipeline doesn't know or care which type created the connector.

Technology stack

  • Language: TypeScript (monorepo with pnpm + Turborepo)
  • Framework: Next.js 15 (App Router, React 19)
  • Database: PostgreSQL 16
  • Cache/Queue: Redis 7 + BullMQ
  • ORM: Prisma
  • Auth: better-auth
  • Reverse proxy: Caddy (TLS)
  • Process management: systemd
  • AI tools: 80+ MCP tools for build/deploy/monitor lifecycle