Disclaimer: Independent educational project. Not affiliated with EvoluteIQ. Built by Kaushal Khodifad. Data from public sources; figures are estimates.return to portfolio
Disclaimer: Independent educational project. Not affiliated with EvoluteIQ.
FlowIQ v0.1

How the runtime works

The centerpiece is a real little interpreter - a typed dataflow runtime that actually executes the graph you build, not a script that stamps “completed.”

The data packet

Trigger
Node reducer
Merge typed output
Next node
packet flows node → node; each reducer reads it, runs, and merges typed output back in. normalizeDefinition runs first so an AI-authored graph (no schemas/positions) executes unchanged.

Node reducers

Node typeWhat it genuinely doesOutput
triggerPulls a seeded row from the connector fabric as the in-flight packetthe source record
ai (extract / classify / summarize)Live OpenRouter call with a strict-JSON prompt; degrades to a deterministic rule-based extractor when no keyfields / label+urgency / summary (+ aiMode flag)
transformEvaluates field = expression mappings with a Pratt-parsed expression engine (no eval)new typed fields
conditionParses an expression, resolves it against REAL upstream values, returns a boolean{ result } + branchTaken
connectorDispatches to a REGISTERED executing operation - matchPO (2-way match), raisePO (min-max replenishment math), fileResult (PHI-masked EHR filing), createTicket / createIncident (SLA & priority matrices), schedulePayment (refuses packets that failed the 2-way match), appendAuditRow. Writes are returned as auditable fabric deltas. Connector/op pairs with no registered logic return a LABELED catalog echo, never a fake successop output + FabricDelta[]
approvalHalts the run for a human decision; resumable down the matching edgehalt + recommendation
delayA genuine modeled wait - books config.delayMs as work so it lengthens the run's measured latency{ delayedMs }
loopBounded iteration over a packet array field (config.over); reports a real iteration count{ iterations }
email / slack / actionTerminal side-effect; interpolates {{field}} from real packet values{ delivered, renderedMessage }

Failure taxonomy

VALIDATION_ERROR

A referenced field is missing or the wrong type

EXPRESSION_ERROR

A transform/condition expression is malformed (division by zero, unknown fn)

CONNECTOR_ERROR

A keyed row is absent (e.g. PO_NOT_FOUND) or a simulated 503

TIMEOUT

Modeled latency exceeds the node's timeoutMs

GUARDRAIL_REJECT

Amount exceeds a hard cap (e.g. maxAutoPay)

APPROVAL_HALT

An approval node pauses the run (resumable, not an error)

Determinism guarantee

same graph + seedhash(wf+def+seed)mulberry32byte-identical run
Run 1 deterministic
output hash a3f1·c9e0·2b74·d8aa
Run 2 deterministic
output hash a3f1·c9e0·2b74·d8aa
=
The only non-deterministic element is a live-AI node's content + fetch latency - explicitly fenced and flagged AI · live. Tick Deterministic mode in the Studio and re-run to prove it.
expr.test.ts30/30runtime.test.ts42/42

Cost & latency model

latency = base[type] + payloadKB·8ms + work + seeded jitter
cost += $0.0004 per connector call
cost += est_tokens/1000 · $0.002 per live-AI call
totalMs / totalCost = sum over EXECUTED (not skipped) nodes

Illustrative the per-call and per-token rates are placeholders, not sourced vendor pricing; latency bases are plausible-order-of-magnitude models, not benchmarked SAP/Epic round-trips. The formula is disclosed precisely so you can discount it.

Trust & governance

Hover any row for the detail. Listing the gaps is the point - a governance story you cannot falsify is marketing, not engineering.

Enforced in code - verifiable
Hard-cap guardrails
Human-in-the-loop halts
PHI minimization
Write auditability
AI scope-guarding
Encrypted demo vault
Out of scope - production would need
RBAC & tenant isolation
Durable execution store
Real secret management
HIPAA / PII posture
RPA / stream / batch flows

Who buys this & the honest math

BuyerCIO / COO · automation CoE lead
Blockertrust, not capability
Wedgethe glass box
Deterministic replay
Typed failures
Per-branch audit
Per-write deltas

Why now: plain-English generation is commodity (Zapier Copilot, n8n); differentiation moved down the stack to whether each generated node verifiably executes and can be governed.

AP-invoice automation unit economicsIllustrative - every input editable, no vendor pricing claimed
Invoices automated / mo1,400
AP hours returned / mo187 h
Gross labor value / mo$6,533
Net / mo after platform cost$5,033

At these inputs the automation pays back within the month at these assumptions (4.4x monthly cost coverage). Formula: net = invoices x automatable% x (min/60) x $/h - platform cost. Defaults are round illustrative numbers chosen to be edited, not quoted.

About & provenance
EvoluteIQ-inspired · not affiliatedAll data syntheticFront door: Zapier / n8n classBuilt by Kaushal Khodifad

↑ Independent educational project by Kaushal Khodifad. EvoluteIQ is a real company in the intelligent automation & process orchestration space; this design and the underlying prototype were built by Kaushal as a portfolio study. Not affiliated with, endorsed by, or representative of EvoluteIQ's actual product. Data is from public sources. Figures are estimates.

Return to portfolioOpen the live demo