Shioaji Pro
為 agent 交易鋪路:交易終端全程由 coding agent 打造,介面 100% 開源、桌面版內建 AI Agent 與全套專業下單面板 — 這個終端就是能力證明。
Translation pending
Calculate QBCC home warranty insurance premiums for new construction and renovations based on the July 2020 premium table.
FinanceTypeScript · HTMLGitHub @chrisohalloranOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A Next.js calculator for estimating Queensland QBCC home warranty insurance premiums and QLeave levy amounts. It also captures calculator-intent leads and shows contextual next-step offers based on the user's project type and value band.
npm install
npm run dev
Open http://localhost:3000.
NEXT_PUBLIC_GTM_ID=GTM-XXXXXXX
NEXT_PUBLIC_POSTHOG_KEY=phc_your_project_key
NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com
RESEND_API_KEY=re_your_key_here
[email protected]
LEAD_EMAIL_FROM=QBCC Calculator <[email protected]>
[email protected]
DATABASE_URL=postgres://USER:PASSWORD@HOST/DB?sslmode=require
LEADS_WEBHOOK_URL=https://example.com/qbcc-leads
LEADS_WEBHOOK_SECRET=change-me
LEADS_STORAGE_MODE=local
LEADS_DATA_DIR=/tmp/qbcc-calculator-local-data
Production lead persistence requires DATABASE_URL (or POSTGRES_URL), Resend email delivery (RESEND_API_KEY + LEAD_NOTIFICATION_EMAIL), or LEADS_WEBHOOK_URL. Run npm run db:migrate after setting the database URL. Local JSON storage is useful for development, but it is disabled on Vercel even when LEADS_STORAGE_MODE=local because the Vercel filesystem is not durable. LEADS_DATA_DIR is honored only for non-Vercel local storage, allowing smoke tests to use isolated temporary storage without redirecting production persistence.
The calculator enriches each quote with:
pending_review state shared by the API receipt and lead records.Current contextual offers are intentionally native to the calculator:
npm run nuroc:preflight
npx tsc --noEmit
npm run build
npm run nuroc:lead-api-smoke
npm run lint
The lead API smoke boots the built app on loopback, removes Resend and webhook variables from the child process, uses an example.com address with temporary local storage, verifies invalid-request rejection and the opaque-reference/review-state round trip, then deletes the temporary data. For browser verification, start the app locally, calculate a new-build and renovation quote, confirm the contextual offer changes, and submit only a controlled test lead in development mode.
The app is deployed on Vercel:
main: productionstaging: staging or preview validationBefore calling a production deploy complete, verify the canonical production URL loads the expected calculator and that lead capture posts to the configured webhook.
lib/quote.ts is shared by the calculator, estimate URLs, lead API and WebMCP tools. It validates bounds, rounds the QLeave cost to cents before the $150,000 excluding-GST threshold, and attaches a rate version. Premium tables retain their existing interpolation behavior; confirm final amounts with QBCC.
Email receipts distinguish provider acceptance (sent) from a persisted request without confirmed customer email (saved). Webhook and email persistence run independently with bounded timeouts. Clients reuse an idempotency key for retries; upstream requests carry it through. The process-local receipt cache and abuse limiter are bounded, but are not a distributed database or durable retry queue. A durable receiver should deduplicate leadReference and own any delivery retry workflow. Resend acceptance does not prove inbox delivery.
For analytics, configure either NEXT_PUBLIC_GTM_ID or direct NEXT_PUBLIC_GA_MEASUREMENT_ID. GTM takes precedence. Configure GA4 Enhanced Measurement consistently to avoid a second history-based pageview. PostHog records one first result, distinct estimate revisions, explicit user actions and visible offer impressions; person profiles, autocapture and session replay are disabled. Dashboard/property access is needed to verify ingestion.
WebMCP uses document.modelContext with a compatibility fallback to navigator.modelContext. Supported browsers expose calculate_estimate and get_rate_methodology; unsupported browsers retain the ordinary form. Tools do not email, lodge, purchase insurance or capture contact details. Native registration and execution were validated in the Codex in-app browser.
Run npm test, npm run build, npm run nuroc:lead-api-smoke, and npm run verify:canonical. The production build enforces lint, regression tests and type checking. The GitHub workflow is configured for Node 22; it was manually disabled in repository settings at release time. Next.js 16 uses the webpack build path for compatibility with the existing project.