Return to the case study

Supporting evidence

EduLoans reviewer workspace

The complete artifacts and detailed records behind the account. Current public references, original work and proposed designs retain their labels.

Detailed material

The challenge

Thirteen lender thresholds were missing. A polished interface could still produce a convincing match, but it could not supply the policy evidence behind that answer. I treated those gaps as restrictions on affected-lender release rather than letting the prototype guess.

Do not guess missing lender policy

I chose deterministic lender gates for the first version and deferred machine-learning scoring until outcome data existed. The alternative would have made a plausible score easier to display while leaving the underlying eligibility uncertain. Relationship-manager confirmation, backed by a policy screenshot, was required before the five affected lenders could be released.

Human verification before matching

A document can be recognized without its contents being reliable. The design separates classification, validation and verification. For example, an uncertain regional marksheet or scanned tax return must go to a KAM—an account manager reviewing the case—rather than silently becoming verified information. This is the intended handling of the documented example types, not an executed document-quality evaluation.

Impact and its limits

What exists is a documented policy model and original interaction prototype for three roles. The model records 62 rules across eight lender configurations and 23 workflow states; these are scope counts, not correctness scores. Archived software tests cover UI/utilities and locally defined rule helpers, not deployed lender-function correctness or document-model quality. Closure of the recorded release restrictions is not established.

Make uncertainty visible before release

That choice adds a review step instead of maximizing apparent automation. It also makes unfinished work visible. The archived backlog includes rule-source consistency, a specified Punjab pincode rejection not yet wired into the application, 32 unsecured lender–applicant checklist combinations and a separate operational dashboard. None is presented as subsequently completed.

Before release, I would require approved lender fixtures, verification that cannot be bypassed and matching policy versions across builds. These are proposed gates. Document quality, permissions, score boundaries and recovery need their own evaluation; a software-test pass count cannot establish those results.

Deterministic gates before model scoring

The model keeps each lender’s conditions visible: eligibility gates first, then a score bounded at 0–100 and five result tiers. Premium-university income exceptions, course factors and urgency adjustments remain policy inputs rather than reasons to improvise an answer. The same verified facts and rule version should produce the same result.

I separated policy exploration from interface scaffolding so each could be inspected independently. AI-assisted building describes how the working artifacts were produced; it does not mean the captured interface runs a live document model or makes a lender’s credit decision. The original role screens use sample data and scripted responses.

Different people, different case actions

The role views explore different actions against one case model. A student supplies information; a partner submits and manages cases in bulk with payout context; a KAM inspects risk and service-level signals, checks evidence and resolves exceptions. The scripted screenshots show those jobs individually; they are not a recording of one case completing the full journey.

Original role views and workflow detail

The written student journey has fourteen turns; V1.03 shows a thirteen-step counter. Partners explore bulk submission and payout context. KAMs inspect a queue and verify evidence before rule-engine results. The screenshots are separate scripted role views, not a demonstrated end-to-end execution.

The 23 states describe a workflow state machine, not geography. Lender-by-applicant checklists link document requirements to policy. Uncertain regional marksheets, scanned tax returns and joint statements are documented examples for human review. Expanded coverage and a separate operational KAM dashboard remain archived roadmap items.

Implementation notes: policy exploration and scaffolding

The policy/chat build supported rule and conversation review; the React, TypeScript and Supabase scaffold made the application structure tangible. The tool inventory records which work each build supported, not independent evidence of production quality.

Original V1.03 screenshots run with sample records and scripted responses, without a lender, backend or live model connection.

Scroll across to see every column.

Tool roles in the technical portfolio
Tool or buildPurposeBoundary
EmergentPolicy/chat prototype and interaction explorationPrototype behaviour needs policy validation
LovableApplication scaffoldingUI availability does not prove workflow completeness
Claude and GeminiSpecification, reasoning and reviewOutputs remain subject to policy/source review
AntigravityRepository and integration workImplementation still needs tests and release gates
React, TypeScript and SupabaseApplication scaffold and data structureRule consistency and operational coverage remain release work

The choices I defended before release

The archived policy model uses lender-specific gates, 0–100 bounded scores and five result tiers. Premium-university income exceptions, course factors and urgency adjustments are retained as explicit policy conditions; machine-learning scoring was deferred pending outcome data.

Thirteen thresholds across Auxilo, Gyandhan, PNB, Axis and ICICI required relationship-manager confirmation backed by policy evidence. The archived P0 restriction applied to those lenders. A Punjab pincode exclusion is specified as policy while its application wiring remains P1 backlog.

Archived backlog: restrictions, coverage and later operations

Status is the archived technical-portfolio account, reviewed 15 October 2026; later completion is not established. Threshold confirmation and consistency between the master rule source and builds restrict release. The proposed consistency options are master-to-Supabase sync with a checksum or a rules-administration flow.

Coverage work includes pincode rejection wiring and 32 unsecured checklist combinations. A proposed single-JWT OpenAPI contract has three scopes and asynchronous document/verification handling, with hard-reject closure. Later operational work includes separate KAM permissions, payout reconciliation and rule-engine re-runs.

Scroll across to see every column.

Archived release backlog — later completion not established
ConsequenceWorkRecorded status
Release restriction (P0)Confirm 13 lender thresholds with relationship managersRelease restriction for affected lenders
Release restriction (P0)Reconcile the rules source across master and buildsSync/checksum or rules-admin options proposed
Coverage or contract work (P1)Wire Punjab pincode hard rejectionImplementation backlog despite stated policy
Coverage or contract work (P1)Complete 32 unsecured lender–applicant checklist combinationsCoverage expansion
Coverage or contract work (P1)OpenAPI scopes, asynchronous document/verification and hard-reject closureProposed contract
Later operations (P2)Separate KAM dashboard, permissions, payout reconciliation and BRE re-runsOperational roadmap

Status from the archived technical portfolio, reviewed 15 October 2026. Priorities describe release consequences, not a claim that this is the live backlog.

Separate exploration: orchestration and connectors

Separate exploratory work considered mapping KAM work onto an NVIDIA NemoClaw agent graph in an Antigravity side project, and investigating Zapier MCP, Apify and Unipile for a LinkedIn-related connector gap. These are follow-on learning topics, not components delivered in the lending prototype.

Archived unit and regression validation — March 2026

Archived software tests cover UI/utilities and locally defined rule helpers. They do not establish deployed policy correctness or document-model quality. The Vitest JSON report records 145 passing assertions across ten files on 5 March 2026 at 06:51 UTC; the run was not freshly repeated for this case.

Rule-engine tests define helpers within the test file rather than importing the deployed suggest-lender function. Supabase and selected UI dependencies are mocked; document assertions cover status utilities. Earlier selector failures and an unidentified failed last-run marker also remain in the archive.

Scroll across to see every column.

What the archived validation establishes
EvidenceRecorded scopeLimit
Deterministic BRE tests26 assertions: urgency, strategy, warnings and academic weightingLocal test helpers; not the deployed edge function
UI and utility regression testsAuth hydration, selectors, field validation, completeness, formatting and disclosuresMocks replace auth, Supabase and selected UI dependencies
Document-related assertionsDocument-status labels and utilitiesNo labelled-document model evaluation
JSON run report145 passing assertions across ten test filesOne March 2026 snapshot; older failure logs remain

Evaluation and release validation — proposed

Proposed, not executed: approved lender fixtures, enforced verification and consistent rule versions are the three first release gates. The full matrix also covers score boundaries, uncertain documents, role permissions and incomplete-case recovery. Fixtures, acceptance thresholds and representative document data have not been supplied as executed model or end-to-end results.

Scroll across to see every column.

Proposed evaluation plan — no measured results claimed
ScenarioExpected behaviourAvailable evidenceStatus
Missing lender thresholdsBlock matching/release for affected lenders until approved thresholds are supplied; never substitute a guessed value.Existing: release notes identify 13 threshold gaps across five lenders and require relationship-manager policy confirmation. Proposed: signed-off boundary fixtures and a release-blocking test.Proposed — not executed
Verification bypassDo not return a lender match before required KAM verification; reject attempts to skip the gate.Existing: workflow and architecture describe verification before BRE results. Proposed: student, partner and KAM attempts to bypass the gate, with permission and recovery checks.Proposed — not executed
Deterministic repeatabilityThe same applicant inputs and rule version produce the same gates, score and tier across each implementation.Existing: deterministic policy model and archived local-helper BRE tests; the deployed edge function was not tested by those helpers. Proposed: shared approved fixtures against the model and both builds, recording version disagreements.Proposed — not executed
Score boundariesClamp scores to 0–100 and assign the documented five tiers consistently at each boundary.Existing: bounded-scoring model, scoring diagram and archived local-helper assertions. Proposed: approved lender-specific fixtures at, below and above every score/tier boundary.Proposed — not executed
Uncertain documentsSeparate classification, validation and verification; uncertain extraction routes to human review instead of a confident match.Existing: document-pipeline diagram and regional marksheet, tax-scan and joint-statement examples. Archived document assertions cover status utilities, not model quality. Proposed: consented deidentified difficult scans with per-type quality, abstention and reviewer-correction checks.Proposed — not executed
Role permissions and incomplete-case recoveryKeep student, partner and KAM actions within their remit; explain missing evidence and recover without losing the case state.Existing: three-role original interaction prototype with scripted sample data and a confirmation card. Proposed: incomplete-document, unauthorised-action and recovery journeys; expand the 32 unsecured checklist combinations.Proposed — not executed
Rule-source reconciliation before releaseUse the approved policy version in each build and resolve differences before deployment.Existing: master/build consistency backlog and proposed checksum or rules-admin controls. Proposed: version reconciliation, signed-off fixtures and documented disagreement resolution.Proposed — not executed

The test sets, baselines and release thresholds must be agreed before execution. This table records proposed validation work.

Notes and sources

  • Evidence: authored PRD/rule model, original V1.03 role prototype and archived March 2026 software tests. The screenshots are scripted sample-data interactions without live lender, backend or document-model connections.
  • Archive scope: 62 rules, eight lender configurations and 23 workflow states. Thirteen missing thresholds, rule-source consistency, pincode wiring, checklist coverage and separate KAM operations remain recorded restrictions or roadmap items; later completion is not established.
  • A separate career account describes AI-assisted origination operations with effort reported as nine to four hours per file and about ₹1,562 labour value per file. Its measurement inputs and attribution are unavailable here. It is not a result of this scripted prototype, its rule engine or a document-model benchmark.
  • The archived test inventory and proposed release matrix are available in the references. They establish neither a freshly verified deployment nor independent model accuracy.
  1. AI Project by Priyam: EduLoans technical portfolio · Architecture, roles, decisions and roadmap chapters · Working builds and release backlog

  2. AI Project by Priyam · “What I’m learning next” and skills chapters · Follow-on exploration

  3. edulaons-main.zip · src/test, vitest_report.json, test_out.txt, earlier failure logs · 5 March 2026 · Archived software-validation evidence; not independently rerun

  4. Proposed validation plan · Authored portfolio plan; not executed results

Return to the case study