Working prototype · Fund houses
AI analysis a committee can check.
Investment analysis
A fund's marketing document turned into a scored committee memo, with every quote verified in code and every gap listed.
A working prototype built on Phlo. Not a client deployment.
- Industry
- Fund houses
- Capability
- Investment analysis
- Built so far
- Engine working, management screens partly built
The system
The memo reader. The recommendation is computed from the scorecard, one finding is contested, one quote failed verification and was kept, and the list of what could not be determined is always shown. Rebuilt for this page with invented sample data.

Not fired. A net return is stated once, in the fee notes.
Fired. The headline return is gross of fees, with no net figure beside it.
A fund house that invests in other managers’ funds receives marketing documents: pitch decks, offering memoranda, fact sheets. An analyst reads each one and decides whether the manager deserves further diligence. This is a working prototype of a system for that first screening. It is not a client deployment.
The operation, and what it has to control
The premise of the design is that screening is limited by reading time: documents arrive faster than they can be evaluated consistently, and the quality of a screening decision depends on which analyst happened to read the deck.
A language model can read a deck and write a memo in minutes. That does not help a committee unless each sentence can be checked: where a quote came from, which rule produced a finding, and what the document did not say. What has to be controlled is not the reading. It is the evidence behind every statement, and the rules the fund was judged by.
What we built
There are two parts. The analysis engine takes a document and a set of criteria and produces a scored, twelve-section memo with its evidence. The management system, built on Phlo, holds the documents, the criteria, the runs, the memos and the decisions. A worker passes jobs between them and reports each finished stage back as an event.
What is prototype, plainly. The engine works and has been run on its own on a real fund document. The management system’s backend is built and can record every step as an event, but no real document has yet been recorded passing through it from start to finish. Its screens are mostly read-only: an analyst can read a memo, follow a run and see a criteria set. Recording a triage decision is the only action wired in the browser. Uploading, promoting a document to a deal, authoring and activating criteria, marking sections reviewed, overriding a finding and exporting are not yet available in the browser. The register lookups are partly built. A loop for answering the memo’s open questions and comparing versions is designed, not built.
How a document moves through it
- Intake. A document is stored under the hash of its contents, so the same deck arriving twice is recognised. Promoting a document to a deal is always a person’s decision.
- Claim. A worker claims the queued run. The criteria set handed to the engine is recorded with its hash.
- Five stages. Classification, extraction, diligence, scoring and memo. Each finished stage is an event on the deal, so a run is followed stage by stage.
- Review. The analyst reads the memo, with each finding attributed to the rule that produced it.
- Decision. The analyst records pursue, hold or pass, with a written rationale. A hold needs a revisit date and a condition.
What the first build described
A prototype is still a first build in one respect: it had to describe the screening operation before anything could be scored. The description below is what the management system’s events are made of. Most of these events exist in the backend only. Recording a triage decision is the one action wired in the browser.
- The things tracked. The document. The deal, which is the fund being evaluated, created when a person promotes a document. The criteria set, with its vetoes, red flags and green flags. The analysis run. The memo and its twelve sections. The finding, tied to the criterion that produced it. The quote, tied to the page it cites. The decision.
- What can happen at intake. A document is uploaded, recognised as a duplicate, or rejected. A deal is submitted.
- What can happen to the rules. A criteria set is created, a criterion is added or updated, and the set is activated or archived. Each time a set is handed to the engine, that is recorded too.
- What can happen in a run. It is started. The deal is classified, extracted, taken through diligence and scored, and the memo is generated. Each is its own event on the deal.
- What can happen after the memo. The deal is triaged, and that decision is an event with its rationale.
- Exception: the same deck twice. The backend records the second copy as a duplicate and starts no new run.
- Exception: a run that fails. The backend has events for a run that fails, for requeuing it, and for reclaiming a run whose worker stopped part way, so none of these disappears from the history.
- Exception: a quote that cannot be found. It is kept and flagged as unverified, not dropped.
- Exception: the evidence can be read two ways. Each criterion is scored twice, once leniently and once strictly. Where the readings disagree, the finding is marked contested and both are printed.
- Exception: a register cannot be reached. A veto that could not be checked is reported as unevaluated. It is never scored against the manager and never shown as clear.
- Exception: the document does not say. “What we could not determine” is a section of every memo. It cannot be removed or collapsed.
The rules it holds
Every quote is verified in code. Each quoted passage is compared with the text of the page it cites.
The recommendation is arithmetic. It is computed from the scorecard. The model does not write it, so the memo cannot contradict its own scores. A figure in the memo must match an extracted value, or the run fails.
Funds are scored against the institution’s own criteria set, and each criterion carries written guidance on how to detect it. A person must review and activate a set before any deal is scored. Once active, a set cannot be edited. A change is a new version.
What the record makes possible
A deal’s events read as its analytical history: which document, which version of the rules, what each stage found, and what the analyst decided. The system computes whether the person agreed with the memo. The person cannot set that value.
One measurement exists, and it is from a single test document. The engine verified 121 of 124 quotes against their pages. The three that failed stayed in the output, flagged.
What the foundation carries forward
The parts of this prototype that are not specific to funds are the framework’s: accounts and permissions, and the event record.
The parts that are specific are the model above. Completing the prototype means building the remaining screens on events that already exist, and building the designed evidence loop, whose engine support and events are specified but not yet written. It does not mean starting again. That is the same position any first build leaves an operation in.
The record
Every step is recorded as an event.
One fund document, from upload to a decision. At 11:05 the analyst chooses to pursue a fund the memo marked Hold. The system works out for itself that the person and the memo disagreed, and stores that beside the rationale. The memo is not changed.
The event types are the system's own. The times, figures and names are invented for this page.
One chain of events, as stored
- 09:14Document uploadedA 48-page fund deck, stored under the hash of its contents
- 09:20Deal submittedPromoted to a deal by the analyst · analysis run queued
- 09:20Analysis run startedClaimed by one worker
- 09:21Criteria set exportedCS-2026-0003 · the rules handed to the engine, recorded with their hashv3
- 09:21Deal classifiedFund category and document type, with supporting quotes
- 09:24Deal extractedFund facts, each with a page citation
- 09:24Deal diligence completedRegister lookups in code, no model call · one register not reached
- 09:33Deal scoredEach criterion scored twice · 2 contested · 1 veto unevaluated61
- 09:41L1 memo generated12 sections · recommendation computed from the scorecard · 81 of 84 citations verifiedHold
- 11:05Deal triagedThe analyst decides against the memo, with a written rationale · recorded as an overridePursue
Keep reading
The idea underneath it.
A system of events
Why Phlo stores what happened rather than what is, and what that makes possible.
Next case studyMulti-plant power producerBiomass powerInformal procurement
Fuel bought from farmers, balers and aggregators, with every weighment, quality check, deduction and invoice on the record.Get started
Every process in your operation, on one system.
Tell us how your operation runs today, and we will come back with what it takes to build it: the processes, the scope, and the timeline. Every system is scoped and built with you, so the first conversation is about your operation, not a demo.
coffee@jetbro.inWhatsApp +91 90999 62227