Change a business rule.
Without filing a ticket.

Write your pricing, eligibility, or fraud policy in plain English. SmartDecision turns it into a decision table your team can read and edit, and your apps call over an API in milliseconds. It runs on your own servers with a local LLM, so nothing leaves your network.

Founding-member pricing and a direct line to the team. One email when it launches, no spam.

Not ready yet? Try the live demos →

One loan policy, three forms: the sentence your team writes, the table it becomes, and the call your app makes.

01 · Policy

“A loan is approved if credit score is 700 or higher, age is between 21 and 65, and income is at least €10,000. Scores from 650 to 699 go to manual review.”

02 · Decision table
credit_score age income decision
>= 700 21...65 >= 10000 approved
650...699 21...65 >= 10000 review
* * * rejected
03 · Resolve API
POST /api/resolve/214
credit_score = 712
age          = 34
income       = 18000
{ "decision": "approved" }
resolved in 4 ms. No LLM at runtime: same inputs, same answer.
The problem

Your policy is buried in someone else's code

Pricing tiers, eligibility checks, fraud thresholds, approval limits. Each one starts as a simple if statement and ends as nested logic nobody wants to touch. The people who own the policy can't read it, and every change waits in the engineering queue.

SmartDecision moves those decisions out of the codebase and into tables that business teams can read and edit, engineers can test, and applications can call.

How it works

1

Write it in plain English

Describe the rule the way you'd explain it to a colleague. The local LLM drafts a decision table with inputs, outputs, and rules. You review it and change any cell by hand.

2

Prove it before it ships

Save the outcomes you expect as tests, like “a score of 700 is approved”. Run them before every change, so adjusting one rule never quietly breaks another.

3

Call it from any app

Your applications send inputs to one REST endpoint with an API key and get the answer back in milliseconds. Answers come from plain rule-matching: the LLM drafts tables, it never answers requests.

Plain infrastructure, on purpose

The questions your engineers will ask, answered up front.

Deployment
One self-contained binary with the web console embedded. Docker image available. No cluster, no sidecar services.
Storage
SQLite. Your rules are rows in a file you own and can back up with cp.
Rule generation
Local LLM. No third-party AI APIs, no per-token bills, no prompts leaving your machine.
Rule evaluation
A deterministic comparator engine: equality, ranges, wildcards, numbers, strings, booleans, dates. Same inputs, same answer, every time.
Integration
REST. POST /api/resolve/:id with an API key. Works from any language that can make an HTTP request.
Accountability
Built-in audit log of changes, plus decision tests that document expected behavior next to the rules.
Where it fits

Anywhere policy changes faster than code ships

Pricing logic

Discounts, promotions, regional prices, tier thresholds. Changed by the people who set them, not by a deploy.

Eligibility checks

Who can use a feature, upgrade a plan, or apply for a service. Defined once, answered the same in every app.

Fraud & risk rules

Transaction thresholds and risk policies evaluated inside your network, so sensitive data stays put.

Feature rollouts

Gate features by user attributes, region, or experiment without redeploying the application.

Air-gapped by design

Everything runs inside your infrastructure: the rule engine, the web console, and the LLM that drafts your rules. Credit scores, transaction amounts, eligibility inputs: none of it crosses your network boundary, not when you write a rule and not when an app resolves one. When compliance asks “where does the data go?”, the answer is nowhere.

Be first in line

SmartDecision isn't on sale yet. Join the waitlist to hear the moment it is, and tell us what your team needs before we ship.

Founding-member pricing and a direct line to the team. One email when it launches, no spam.