decision engine // real-time decision api

A decision engine for consumer platforms, delivered as one API call.

Gortex is a real-time decision engine API. One POST /v1/decide call scores the candidates a platform already retrieved, returns the order one recipient should see, places sponsored slots inside that same order, and hands back a decision ID that explains it, in under 200ms p99. No decisioning engine to build in-house. No rules file nobody owns.

p99 decision latency
< 200 ms
decision endpoint
1 (/v1/decide)
typed sdks
7 (languages)
traced decisions
100 %
# 01 / the short answer

What a decision engine does: picks, places and proves, per request.

A decision engine takes context and a set of options at request time and returns the choice to serve. For a consumer platform the choice is an order: which posts, profiles, listings or jobs go where, and which slots are worth selling. Gortex resolves all three parts of that decision (relevance, monetization and rationale) in one synchronous response instead of three systems.

01 decision input
A recipient, a surface, and the candidate set retrieval already produced. Retrieval, storage and identity stay exactly where they live today.
02 decision output
A ranked order for that recipient, sponsored slots placed against that order rather than pinned above it, and a decision ID for audit.
03 decision guarantee
Sub-200ms p99, one endpoint, one contract. The decisioning engine sits in the hot path without becoming the reason the feed is slow.
# 02 / the problem

Every ranked surface already runs a decision engine. Usually an accidental one.

The accidental version is a SQL sort, a weights file and a growing pile of special cases. It works until the surface matters commercially, then four costs land at once.

01 the rules-engine ceiling
Hand-written conditions cannot trade relevance against revenue numerically. Every new goal becomes another branch, and branches never get deleted.
02 two systems, one surface
A ranker and an ad server are separate builds with separate latency budgets, then a fragile merge step decides which one wins each slot.
03 the in-house estimate
Published buy-versus-build figures put ad decisioning at 12 to 24 months, before a ranker exists: two to three senior engineers off the core roadmap.
04 no answer to 'why'
When a creator, seller, PM or reviewer asks why an item ranked first, an untraced engine has no reply that survives scrutiny.
# 03 / how the decision engine works

Four stages, one synchronous decision.

The architecture is published rather than implied, so a platform architect can review the hot path before writing a line of integration code.

01 ingest
Candidates, recipient context and surface arrive on POST /v1/decide against an OpenAPI 3.1 contract with 7 typed SDKs. No batch job, no nightly export.
02 score
Calibrated linear scoring puts unlike candidates on one comparable scale, which is what lets a paid listing and an organic post be compared instead of merged.
03 place
Deterministic slot filling positions sponsored items by opportunity cost against the organic order, so monetization never quietly outbids relevance.
04 trace
Every decision returns an ID that resolves to the rationale behind each placement, replayable long after the response was served.
# 04 / decision engine vs rules engine

Rules encode last year's judgement. A decision engine scores now.

rules engine decisioning engine
Human-written conditions, evaluated in order Every candidate scored per request, per recipient
Outcomes as good as the last person to edit the weights One comparable scale across organic and sponsored
Relevance and revenue live in separate branches Placement priced by opportunity cost, not priority flags
Explanation means reading the file Explanation returned with the response as a decision ID
Cost of change grows with every exception New goals become inputs instead of new branches

Rules stay useful for policy: eligibility, compliance, hard exclusions. The decision engine handles everything downstream of policy, where the question stops being “is this allowed” and becomes “what is this worth to this recipient right now”.

# 05 / decisions this engine makes

One real-time decision API, five entry points.

Order a social, home or content feed per recipient, posts, articles, video and UGC alike, and fill its sponsored slots in the same call, instead of per cron batch.
Personalized recommendations scored and monetized together, with no separate recommender service to operate.
Trade relevance, take-rate and supply balance across both sides, with promoted listings resolved inside the ranked result.
Per-user ordering for discovery, search results, category browse and notifications on one contract.
Paid slots priced against the organic order, so a monetized feed and a relevant feed stay the same feed.

Ranking is the most common entry point: the same engine is documented surface-by-surface on the ranking API page.

# 06 / built for

For platforms with a ranking surface and no ranking team.

a fit not a fit
Seed to Series B consumer platforms, roughly 5 to 100 engineers Catalog-first retail e-commerce
CTOs and platform architects owning a live ranked surface Teams needing an ad network to supply advertiser demand
Social feeds, creator platforms, dating apps, marketplaces, job boards, delivery Pre-PMF apps with no interaction volume to decide on
Teams that outgrew hand-tuned sorting with no data science hire budgeted Anyone who needs a live real-time auction this quarter
Surfaces where sponsored placement is already on the roadmap On-prem or air-gapped deployments

The job being hired for stays narrow: ship a personalized surface that also earns revenue, without funding a decisioning engine build.

# 07 / the difference

Most vendors solve half a decision. This one returns all of it.

01 vs. ranking-only apis
Relevance ships first, then monetization arrives as a second vendor, a second integration and a second latency budget. Both are resolved here in one response.
02 vs. ad decisioning platforms
Ad infrastructure hands the ranking problem back: bring your own ranker. This engine ranks and places on the same call.
03 vs. retail decisioning suites
Enterprise suites that do both are shaped for SKUs and sold on long enterprise cycles. This is shaped for posts, profiles, listings and jobs.
04 vs. in-house rules and heuristics
A weights file cannot price a slot. Replacing it starts as one shadow-mode call, not a rewrite quarter.
# 08 / integration path

Start in shadow mode. Deepen when numbers justify it.

A published integration ladder replaces the usual up-front commitment. Every level is opt-in and reversible.

L0 one call, shadow mode
Send candidates, log the returned decision beside the current sort, compare before anything user-facing changes.
L1 live decisions
Serve the returned order to a traffic slice, with the decision ID stored against each impression for later replay.
L2 sponsored slots on
Enable monetized placement inside the same response, priced against the organic order rather than layered over it.
L3 full surface coverage
Every ranked surface moves onto one decision contract, one latency budget and one audit trail.

Roadmap is dated, not implied: real-time auction Q1 2027, learned ranker mid-2027, agent-to-agent decision levels L4 to L7 from 2027.

# 09 / what changes after integration

Decision moves, roadmap stays.

Adopting a hosted decisioning engine is a scope decision before it is a technical one. These are the concrete shifts a platform team plans around.

01 ranking stops being a project
A two-quarter ranker build and a 12-to-24-month ad decisioning build collapse into one integration that begins with a single REST call in shadow mode.
02 revenue and relevance share one objective
Sponsored slots stop being a separate pipeline reconciled at render time; both are decided on one scale, in one response, with one latency budget to defend.
03 every placement becomes answerable
Support, partnerships and product questions resolve against a stored decision ID instead of a guess, which is what makes creator and seller conversations survivable.
04 engineers return to the product
The two to three senior engineers a decisioning build consumes stay on the surfaces users actually pay attention to.
# 10 / what is verifiable today

Claims a technical buyer can check before requesting access.

The decision lifecycle is documented stage by stage, including where the decision is made and what each stage costs in milliseconds.
02 open contract
OpenAPI 3.1 spec and 7 typed SDKs, so request and response shapes can be reviewed before an invite is issued.
Three decisioning surfaces run against the real API shape, baseline against active, with rationale visible on every card.
04 stated plainly
Private beta, pre-seed, invite-only. No learned ranker yet and no auction yet: dates published instead of hedges.
# 11 / questions

Decision engine questions, answered in one line each.

What is a decision engine?

A system that takes context plus options at request time and returns the choice to serve. Here, that is a ranked and monetized order with a trace.

Does retrieval have to move?

No. Candidate generation, storage and identity stay in place; the engine receives candidates and returns the decision.

Is it fast enough for a live feed?

Sub-200ms p99 in beta on the single decide call, which is the bar a real-time decision API has to clear in the hot path.

Can a decision be explained later?

Yes. Each response carries a decision ID that resolves to the rationale behind every organic and sponsored placement.

How does a beta start?

Access is invite-only. Integrating during beta also means shaping the Q1 2027 auction design rather than inheriting a finished one.

private beta // invite only

Put a decision engine in your hot path without betting a quarter on it.

Beta seats go to consumer platforms with a live ranking surface. Requesting access returns the OpenAPI spec, an SDK key, and a shadow-mode integration that compares Gortex decisions against the current sort before anything reaches users.