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 brings them to life, giving accurate and timely data within the comfort of Excel. Hitting a refresh button or loading in some CSV with VBA? Not anymore.
A robust and stable integration with Excel is harder to pull off than it looks. It often requires developers to work with unfamiliar, dated trusty (but rusty) technologies.
rtd.pub shields developers from this with a simple plugin model, where they can write plugins in any language ... to interface with any API, function, data stream or model. Focus on empowering your end users with a library of data streams to use, instead of fighting the Excel dragons (pictured opposite; actually happened, definitely not AI generated.) 🐉
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.
We've all been asked that at some point. Got some complex pricing logic in C++? An AI model in Python that needs a server with a certain NVIDIA GPU? Want to prompt an LLM like ChatGPT or Gemini? All good. Wrap it 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 a NATS server (it's easy), you can hook it up to Excel with a few lines of configuration. Full support for NATS auth is available, including support for identity providers.
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 will be immediately productive. Official plugins for common use cases are open source, free to use and adapt. We can also write bespoke plugins for your organization. Get in touch.
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.