Live sandbox demo: https://minefix-approvals.vercel.app
The hosted demo is protected by a short-lived access code. Supply that code to judges with the submission; it is not stored in this public repository.
MineFix is a field-ready maintenance approval PWA for heavy equipment. The hackathon MVP demonstrates a complete repair workflow: evidence-backed intake, bounded AI purchasing, human escalation above policy, Prava sandbox payment authorization, repair closeout, and an append-only maintenance record.
The demo uses a fictional mine, vendor, work order, and maintenance history. It uses a real 2024 Komatsu HM400-5 model designation and clearly labels generated before/after imagery as synthetic demo evidence.
- AI-authorized: a $18,740 repair package stays below the configured $25,000 AI spending limit and can advance without human approval.
- Human escalation: a $32,480 field-service repair exceeds the limit by $7,480, pauses, and resumes only after a maintenance approver records a decision.
Both routes converge on the same Prava sandbox lifecycle. The repair envelope authorizes a real, low-value procurement proof: an in-stock $88.74 Komatsu 07332-11200 coupling whose live WQC Parts catalog lists HM400-5 usage. MineFix creates one short-lived Prava session, mounts Prava's secure card/passkey surface, keeps the scoped credential server-side, attempts the actual Shopify checkout in one isolated Browserbase session, reports the observed result to Prava, and verifies the terminal session state. The organizer-expected merchant decline is represented as a successful sandbox proof, not as a completed real purchase. Browserbase session recording and logging are disabled, and payment fields are never rendered or logged by MineFix.
The project intentionally does not store Prava keys in a project .env file.
The launcher reads PRAVA_API_KEY and PRAVA_SECRET_KEY from the approved
canonical Codex platform environment and maps them to the official Prava SDK
variables without printing their values.
npm install
npm run check:env
npm run devThe app is sandbox-only. Do not use the Prava Pay CLI or production credentials.
Hosted builds cannot read the local canonical platform environment file. Add
NEXT_PUBLIC_PUBLISHABLE_KEY and MERCHANT_SECRET_KEY through the host's
encrypted project settings, keep NEXT_PUBLIC_BACKEND_URL fixed to
https://sandbox.api.prava.space, and add the optional MINEFIX_* and
BROWSERBASE_API_KEY values only when their corresponding demo capability is
enabled. Never upload or commit test-card numbers, expiration dates, or CVVs.
npm run lint
npm run typecheck
npm run build
npm audit --omit=devSee docs/DEMO_RUNBOOK.md for the judge walkthrough and docs/QA_EVIDENCE.md for current verification evidence and the remaining deliberate sandbox-transaction gate.