Introducing Timeplus Apps: Install Streaming Pipelines with One Click
- Gang Tao

- May 28
- 5 min read
If you've ever set up a streaming analytics pipeline from scratch, you know the drill. Spin up the database. Write the DDL for source streams. Define the materialized views. Tune the windows. Build dashboards. Wire up alerting. Document everything so the next person on call doesn't have to reverse-engineer your SQL at 2 AM.
It works. It's also a lot of work — and most of it isn't unique to your business. The OHLC candlestick logic you wrote for crypto prices looks an awful lot like the OHLC logic the next team is about to write. The fraud-detection CEP pattern you debugged last quarter is the same shape as what a friend at another company is currently debugging.
Today we're launching Timeplus Apps — a packaging format and registry that turns a complete streaming pipeline into a single installable artifact. Browse the catalog, pick an app, install it, and you have a running pipeline with dashboards in minutes by a simple click.

Why We Built Timeplus Apps
Timeplus has always been a fast, SQL-native streaming engine. But raw primitives — streams, materialized views, UDFs, dashboards — are just primitives. To get from primitives to value, someone has to assemble them into a working pipeline. That assembly step is where most of the friction lives.
We saw three patterns repeating across customers and the community:
Demos that should be repeatable aren't. A great walkthrough lives in a blog post or a notebook, and reproducing it means copy-pasting SQL across a dozen files in the right order.
Best-practice pipelines get re-invented. Real-time market data, log anomaly detection, GitHub event analytics — these are textbook use cases. Every team rebuilds them from scratch.
Sharing your own work is hard. You built something clever on Timeplus and you'd like to hand it to a colleague. Today that means a README and a prayer.
Apps fix all three. A pipeline becomes a .tpapp file — a zip archive containing everything needed to recreate it on any Timeplus instance. Hand someone the file, or point them at the registry, and they get exactly what you built.
How it Works
A Timeplus app is structured around three pieces: a manifest, resources, and dashboards.
my-app/
├── manifest.yaml # Metadata: name, version, description, dependencies
├── ddl/ # SQL resources: streams, views, UDFs, sources, sinks
│ ├── 01-sources.sql
│ ├── 02-views.sql
│ └── 03-alerts.sql
└── dashboards/ # Dashboard JSON definitions
└── overview.jsonThe manifest declares what the app is and what it needs. The DDL folder contains the SQL that defines the pipeline — sources, materialized views, UDFs, sinks. The dashboards folder contains the visualizations that make the data useful. make build packages these into a single .tpapp file. make install installs it into a running Timeplus instance via the Neutron API.
On the backend, the app registry is the source of truth. It tracks installed apps, their versions, and the resources they own. When you install an app, the registry creates each resource and tags it with the owning app, so uninstalling is clean — no orphaned streams, no leftover views you're afraid to drop. The catalog is the discovery layer: a searchable, GitHub-Pages-hosted index of every published app, with screenshots, descriptions, and direct download links.
This separation matters. The registry is a runtime concept (what's installed where), the catalog is a discovery concept (what exists in the world). Same model GitHub uses for repositories and the search index — and it scales the same way.

What's in the Catalog Today
We're launching with eight apps that span the categories most teams ask about:
market-data — Real-time crypto from the Coinbase WebSocket, with OHLC candlesticks, RSI, VWAP, and alpha signals already wired up.
alpha-101 — A streaming implementation of WorldQuant Alpha #1 and #2 over a synthetic feed, demonstrating cross-sectional rank, lag arrays, and rolling correlation with both live and backtest dashboards.
github — Continuous ingestion of the GitHub public events firehose: hot repos, push activity, live event feed.
cep — Complex event processing patterns for fraud detection, mixing SQL with JavaScript UDFs.
hacker-news — HN posts and comments via the Firebase API: trending stories, active users, post-type distributions.
invest-insights — Order management, position tracking, continuous-auction participation, live P&L.
cisco-asa-ddos — DDoS detection over simulated firewall logs with per-IP dynamic baselines and webhook alerting.
game-feature-pipeline — A real-time ML feature pipeline for game analytics, including spend anomaly detection.
Each one is a working pipeline you can install and start poking at in minutes. They double as reference implementations — if you want to see how to do rolling correlation in streaming SQL, the source is right there.

Building Your Own App
The whole point is that you can publish your own. The flow:
Scaffold. Create apps/<your-app>/ with manifest.yaml, a ddl/ folder, and a dashboards/ folder. Copy the Makefile from an existing app and update APP_NAME.
Develop iteratively. Build the pipeline normally inside Timeplus. Once it works, export the DDL into ddl/ and the dashboard definitions into dashboards/.
Build. Run make build APP=<your-app> from the repo root. You get a .tpapp zip you can hand to anyone.
Install on any instance. make install APP=<your-app> NEUTRON_URL=http://my-host:8000 TENANT=my-tenant deploys it. Same artifact, any environment.
Or you can actually leverage this Agent Skill, and delegate this building task to an AI coding agent.
If you'd like to contribute back to the public catalog, open a PR against timeplus-io/apps. The release workflow builds your .tpapp, attaches it to a GitHub release, and the catalog picks it up automatically.
What's Next
This is the very first version of the framework, and we're treating these launch apps as a first wave rather than a finished collection. A few directions on the roadmap:
Richer manifests. Parameterized installs (target stream names, API keys, time windows) so the same app can be installed multiple times with different configurations.
Dependency resolution. Apps that compose — a market-data app feeding an alpha-signal app feeding a portfolio app, all with their dependencies declared.
First-party connectors as apps. Source and sink integrations packaged the same way as analytics pipelines.
Community contributions. A clearer contribution path, tagging, and search filters in the catalog so good third-party apps are easy to find.
If you have a streaming pipeline you've been meaning to share, or one you wish existed, this is the moment to tell us. Open an issue, file a PR, or just install an app and let us know what broke. The framework gets sharper the more people use it.
To try these apps, just run this to get early access:
docker run -p 8000:8000 --platform linux/amd64 timeplus/timeplus-enterprise:3.3.1-rc.10 Browse the catalog at https://timeplus-io.github.io/apps/, or jump straight into the source at https://github.com/timeplus-io/apps. We can't wait to see what you build!


