We're open soon for early adopters, but you can see it in action or read the preview docs ⇢
Integrating your spreadsheets with fast moving data and external code has huge benefits, enabling models to react instantly— resulting in quicker responses to market and business changes. Hitting a refresh button or loading in some CSV with VBA? Not anymore.
A robust and scalable implementation is harder to pull off than it looks. It often requires development teams to work with unfamiliar, dated trusty (but rusty) technologies.
rtd.pub isolates developers from all of this, allowing them to focus on delivering results. rtd.pub uses a simple plugin model, where developers write plugins to interface with any API, function, data stream or model.
Thinking beyond the obvious market and FX price tickers use case— code in any language can react to on-sheet changes and compute results that get returned back to the sheet for display and possibly further computation. Got some legacy pricing logic in C++? An AI model in Python that needs GPUs? Want to prompt an LLM like ChatGPT or Gemini? No bother. Wrap your tried and tested functionality up as an rtd.pub plugin, with just a few lines of code and expose it to Excel.
Setting up connectors (instances of plugins) is done with a simple configuration file. Control how your end users interact with your data by providing named functions with documented parameters. This ensures that your data streams are easy to discover and consume.
If you can land your data into NATS, you can hook it up to Excel with a few lines of configuration. Full support for NATS auth is available including JWT/support for IdPs.
It is easy to develop custom plugins. Plugins run as isolated processes outside of Excel, so you can test their behaviour and performance using tools you already use, as well as the test bench tool provided in the rtd.pub SDK.
With idiomatic SDKs for Go and Python (and support for any language with gRPC libraries), developers can use the environments and ecosystems that they already use. Official plugins for common use cases are open source and free to use and adapt. We even write bespoke plugins for your organization.
We benchmark the solution with a plugin that updates a random selection of topics every 100ms. Refresh cadence can be configured, allowing you to balance resource consumption with update velocity. This sheet has 10000 topics: far more are feasible. CPU load remains low, and Excel responsiveness is unaffected, even on very basic hardware.
It is straightforward to connect to external data vendors, including ones that you might already use— this integration uses the polygon.io stocks websocket API (no affiliation) and their official go client. The plugin is a mere 100 lines of code, and will be open sourced soon.
Shows configuration of the counter plugin from the tutorial, and the NATS plugin running side by side.