Your engineering team spent three weeks implementing the new commission structure. It passed QA, went live this morning. Yesterday the finance team quietly updated the master Excel with new baseline rates. By the time anyone notices, the app is already paying the wrong commissions.
RuleX puts an HTTP endpoint in front of your Excel file: a live URL your app calls with inputs and gets back the formula’s result. You upload the workbook, mark which cells are inputs and which are outputs, and call the resulting endpoint from your app. It evaluates the formulas on each call against whatever inputs your app sends. Lookups, conditionals, and dependent cells all run.
Most companies have business logic in Excel:
Someone spent months getting the formula right, and the rest of the business runs off it.
When someone asks to use that logic in an app, the answer is a developer rewriting it in code.

At Coverstack we had several of these models in production: rate charts, distributor commission tables, discount logic, validation engines. All of them drifted the same way. Ops reconciled payouts by hand against files that had already moved on. Underwriters chased why the quote in the app didn’t match the rate in the workbook. We built RuleX so the Excel model and the app can’t disagree.
When your app calls the endpoint, it gets back a result. Behind that call: RuleX extracted the Excel inputs using the corresponding endpoint schema, evaluated the result as specified in the data source, and returned exactly what Excel would compute.
Here is a small premium calculator. The inputs are sum assured, tenure in months, and date of birth. A rate chart keyed by age and tenure feeds an XLOOKUP, and the formulas at the bottom compute the net premium and GST.

Wired up through RuleX, the same workbook serves an HTTP endpoint. A few calls with different inputs:
POST { "sum_assured": 300000, "tenure_months": 12, "dob": "2000-01-01" }
→ { "net_premium": 480, "gst": 86.4, "premium": 566.4 }
POST { "sum_assured": 500000, "tenure_months": 36, "dob": "1980-06-15" }
→ { "net_premium": 8500, "gst": 1530, "premium": 10030 }
POST { "sum_assured": 200000, "tenure_months": 12, "dob": "1965-08-20" }
→ { "net_premium": 4600, "gst": 828, "premium": 5428 }
Each call runs the whole workbook against the inputs you send. The age tier shifts the XLOOKUP into a different row of the rate chart, the tenure picks a column, and the dependent cells fall in line.
In production, a real insurance rate chart usually has more dimensions than these two: gender, location, profession, education, smoker status. RuleX evaluates whatever the workbook contains, regardless of how many dimensions the lookup spans. If you can make it work in Excel, it’ll work in RuleX.
A single Excel model can support multiple endpoints. Distributor A is on 12% and Distributor B is on 8%, each with their rate locked into their own endpoint. A request to Distributor A’s URL always computes at 12%; the rate isn’t something the caller can control. Each endpoint can be called as a JSON API or rendered as a web form. Upload a new version of the workbook and both endpoints serve the new logic once the new Source is ready.
The formulas already in your model work through the API unchanged. RuleX covers 70+ of them and matches Excel’s behaviour exactly. Excel’s cell validations carry too: bad inputs don’t slip through, they return structured API errors.
RuleX has been running for more than two years in production at Coverstack, across 300+ data sources and 168 live endpoints, on a single AWS t3a.medium instance. Here’s the Sentry APM dashboard for response times over the last seven days:

The core RuleX engine is written in Rust and runs natively on Linux, so there is no Excel server in the loop. Formula evaluation takes under 20ms, and warm endpoints respond in under 70ms end-to-end, fast enough to call inline in any integration.
CPU usage on the underlying instance over the same week:

The instance averages under 20% CPU. The peaks are new Sources being compiled to native binaries at upload time; once compilation finishes the instance returns to its baseline.
For teams interested in how the execution engine, endpoint runtime, and spreadsheet compilation pipeline work, see the RuleX architecture documentation.
We’ve made a free version of RuleX available at demo.rulex.coverstack.in. Upload your file and make your first API call in minutes. The full documentation is available at docs.rulex.coverstack.in. For production access, reach out to us at support@coverstack.in.