Inspiration

As a transfer student, I experienced how difficult it can be to understand whether prior coursework will count toward a new degree. Evidence is scattered across transcripts, syllabi, course catalogs, degree audits, and departmental policies. Students repeatedly resend documents, while advisors spend time reconstructing the same evidence before they can make a judgment.

CreditBridge AI began with a simple question: what if an agent completed the repetitive evidence work in the background, but never pretended to hold academic authority? The goal is not to replace advisors. It is to give them a cited, consistent, decision-ready packet and surface only the cases that genuinely require human judgment.

What it does

CreditBridge AI processes a synthetic transfer-credit case end to end. It validates submitted evidence, extracts learning outcomes, compares course content and assessment depth, applies explicit policy boundaries, and assembles a cited review packet.

When evidence is incomplete or contradictory—such as insufficient proof of an assembly-language laboratory—the agent pauses and requests an authorized advisor’s judgment. Every agent action and human decision is recorded in a visible provenance ledger.

The public demo displays whether execution came from the live Amazon Bedrock AgentCore runtime, a verified cache, or the deterministic safety fallback. It exposes runtime region, trace ID, latency, response hash, citations, and the final human-decision receipt. CreditBridge never autonomously awards or denies academic credit.

How we built it

The advisor interface is built with Next.js, React, and TypeScript and runs on Cloudflare Workers. Cloudflare D1 stores the durable case ledger, human decisions, execution receipts, cache entries, and provenance events.

The AI runtime is a containerized Amazon Bedrock AgentCore application built with the Strands Agents SDK. One bounded Strands run performs five auditable stages: Intake, Evidence, Matching, Policy, and Packet. Controlled tools verify document integrity, extract candidate learning outcomes, and request human review.

The Cloudflare Worker invokes the exact AgentCore runtime using AWS Signature Version 4. A dedicated IAM principal can invoke only the CreditBridge runtime and its default endpoint. A deterministic policy kernel remains separate from model reasoning, enforcing input boundaries, human escalation, and safe fallback behavior. SHA-256 hashes, AgentCore trace IDs, CI checks, and append-only audit events make the workflow inspectable and reproducible.

Challenges we ran into

The hardest challenge was building a real cross-cloud agent path instead of presenting a simulated integration. Our first Cloudflare-to-AgentCore request failed with HTTP 403 because the IAM policy authorized the runtime ARN but not its default runtime-endpoint ARN. Adding the exact endpoint resource resolved authorization without granting broad access.

The next challenge was latency. The original runtime made five sequential model calls and exceeded the 115–120 second execution window. We redesigned it as one bounded Strands run that preserves the five logical stages and controlled tools while reducing external model round trips from five to one. The verified production invocation then completed in 28,995 ms.

We also resolved container packaging, AgentCore cold starts, CloudFormation permissions, Windows/Linux build differences, secure secret management, and durable audit persistence.

Accomplishments that we're proud of

We deployed a real Strands agent to Amazon Bedrock AgentCore and invoked it from a public Cloudflare application using least-privilege SigV4 authentication.

A verified end-to-end live execution completed in 28,995 ms with remoteStatus: completed, an AgentCore trace ID, a response SHA-256 hash, and durable D1 persistence.

We built a complete advisor experience: case queue, evidence graph, source citations, policy exception, human decision gate, and tamper-evident audit trail. Model output can organize evidence and recommend next steps, but only an authorized human can make the consequential academic decision.

The system also includes a 15-minute verified-result cache, a 12-invocation daily budget, synthetic-data restrictions, deterministic fallback, reproducible tests, passing GitHub Actions CI, an MIT-licensed public repository, and deployment and security runbooks.

What we learned

We learned that trustworthy agent design is less about maximizing autonomy and more about defining exactly where autonomy must stop. In a consequential workflow, confidence is not authority. Missing evidence should create a structured escalation, not an invented answer.

We also learned that observability is part of the product experience. A trace ID or response hash becomes more valuable when an advisor can see which source supported a claim, why the case paused, which runtime executed it, and who made the final decision.

Finally, production agents are distributed systems. Identity policies, endpoint-specific permissions, cold starts, timeouts, caching, cost controls, deterministic validation, and failure recovery matter as much as prompts. Reducing five sequential model calls to one bounded orchestration made CreditBridge faster and more reliable without removing its logical stages.

What's next for CreditBridge AI

Next, CreditBridge AI will add institution-controlled authentication, production PDF and OCR ingestion, course-catalog and articulation connectors, background job queues, configurable institutional policy packs, and a larger evaluation suite for citation precision, escalation accuracy, and advisor handling time.

Before processing real student records, the system would require institution-owned infrastructure, encryption and retention controls, role-based access, FERPA review, and validation with registrars, faculty, advisors, and transfer students.

The long-term goal is a shared evidence layer that reduces repeated paperwork and advisor handling time while keeping academic authority transparent, auditable, and human-controlled.

Built With

  • amazon-bedrock
  • amazon-bedrock-agentcore
  • aws-iam
  • cloudflare-workers
  • d1
  • next.js
  • python
  • react
  • strands-agents-sdk
  • typescript
Share this project:

Updates