Open source · Single binary · Zero infrastructure

Turn any API into a real-time stream

Point LiteJoin at your APIs, join data from multiple sources with SQL, and get live results instantly. No Kafka. No Flink. No cluster to manage.

$ go install github.com/litejoin/litejoin@latest

Three steps to real-time data

No event bus to set up. No streaming infrastructure to learn. Just URLs and SQL.

01

Connect your sources

Point LiteJoin at any REST API, webhook, or event stream. It polls, detects changes, and emits only the deltas — turning any request/response API into a live stream automatically.

02

Join with SQL

Write standard SQL to join streams together. Enrich orders with user profiles. Combine IoT readings with device metadata. LiteJoin executes joins reactively — results emit the instant new data arrives.

03

Subscribe to results

Consume joined results via SSE, HTTP webhooks, or Kafka. Power live dashboards, trigger workflows, feed downstream services — all from a single binary running on your terms.

A YAML file is your entire backend

Define your sources, joins, and time windows in a single config file. No boilerplate services, no orchestration layer, no build step. LiteJoin reads the config and runs the pipeline.

  • Poll any API on an interval with automatic change detection
  • Reactive SQL joins — results fire the instant data lands
  • Tumbling, sliding, and session windows built in
  • 8,000+ joins/sec per instance, scales linearly with partitions
  • JavaScript SDK for subscribing from the browser
litejoin.yaml
sources:
  - name: orders
    type: http
    topic: orders

  - name: users
    type: http
    topic: users

joins:
  - name: order-enrichment
    sql: |
      SELECT o.*, u.payload AS user_info
      FROM orders o
      LEFT JOIN users u
        ON json_extract(o.payload, '$.user_id')
         = json_extract(u.payload, '$.id')
    triggers: [orders]
    result_key: $.user_id

sinks:
  - name: live-dashboard
    type: sse
    addr: :8081
litejoin.yaml
# Turn any REST API into a real-time stream
sources:
  - name: weather
    type: api
    url: https://api.weather.gov/stations/KNYC/observations/latest
    interval: 30s
    topic: weather
    key_path: $.id
    change_detection: diff

  - name: github_prs
    type: api
    url: https://api.github.com/repos/org/repo/pulls
    interval: 60s
    topic: pull_requests
    key_path: $.number
    headers:
      Authorization: Bearer ${GITHUB_TOKEN}

Every REST API is now a stream

Most APIs don't push changes to you. LiteJoin polls them, diffs against previous state, and emits only what changed. No webhook setup. No event bus. Just a URL.

  • Weather + delivery fleet Join live weather data with your logistics API for real-time adjusted ETAs
  • GitHub + Jira Stream PR activity joined with ticket status for live dev velocity dashboards
  • Stripe + your user DB Enrich payment events with customer profiles without configuring webhooks

One engine, three ways to use it

Start with the open-source core. Build visually in Studio. Deploy to the cloud when you're ready.

Open Source

LiteJoin

The core engine. A single Go binary that ingests events, executes SQL joins reactively, and outputs results to any sink. Embed it in your app or run it standalone.

  • HTTP, Kafka, and API polling sources
  • Reactive SQL joins on SQLite
  • Tumbling, sliding & session windows
  • SSE, HTTP, and Kafka sinks
  • 8,000+ joins/sec per instance
  • JavaScript client SDK
Desktop App

LiteJoin Studio

A visual interface for building streaming pipelines. Construct API streams like Postman requests. Draw joins between sources. See results in real time. Export to production config when ready.

  • Visual stream & join builder
  • Point-and-click API source setup
  • Live result previews
  • Schema inference from live data
  • Export to YAML, Go, or Docker Compose
  • Burst testing & event generation
Coming Soon

LiteJoin Cloud

Build in Studio, deploy to the cloud in one click. Managed infrastructure, persistent materialized views, and a live query API over your joined data. Your streams, always on.

  • One-click deploy from Studio
  • Managed hosting & scaling
  • Persistent materialized views
  • REST API over current join state
  • Team workspaces & shared collections
  • API key vault & SSO

Built for app developers

You shouldn't need a data engineering team to get real-time features in your app.

Mobile & Web Apps

Live order tracking

Join your orders API with a delivery fleet API and a weather service. Push enriched, real-time order status to your mobile app over SSE. No webhooks to configure on any of the source systems.

orders fleet-gps weather → live-tracking
SaaS Platforms

Real-time usage dashboards

Stream Stripe payment events joined with your user database and product catalog. Compute rolling revenue windows per plan tier, per region, updated every 5 seconds. Display in-app.

stripe-charges users → revenue-by-tier
IoT & Edge

Sensor correlation & alerting

Run LiteJoin on an edge device. Join temperature sensor readings with humidity and equipment metadata. Trigger alerts when correlated thresholds are breached. Works offline — single binary, no cloud required.

temp-sensors humidity equipment → alerts
Internal Tools

Cross-API activity feeds

Poll GitHub, Linear, Slack, and your deploy pipeline API. Join events by engineer and team. Power a single activity feed for your engineering org — built in 15 minutes, not weeks.

github linear deploys → team-feed

Start streaming in 5 minutes

Install the binary. Write a YAML file. Get real-time joined data flowing to your app.