Build Log · October 4–5, 2026

GODgle — make the Bible answerable

A Google-simple app that answers everyday questions from retrieved, verified Scripture, then grew audience-native experiences for kids, teens, and adults — all live at godgle.vercel.app.

  • GODgle
  • Experiment
  • AI
  • Trust
  • Kids
BSB verses indexed (public domain)
31,102

BSB verses indexed (public domain)

API routes
5

API routes

audience experiences
4

audience experiences

independent adversarial audits
3

independent adversarial audits

production deploys, each live-verified
4

production deploys, each live-verified

Timeline

  1. Start

    Charge: Build GODgle v0

    Pre-build Crucible ran by default (architect persona); weakest assumption named as trustworthy interpretation under emotional stakes

  2. Build

    Retrieval-first pipeline

    BSB corpus + int8 embedding index over 15,245 passage windows; model cites pool ids only; server injects verse text

  3. Audit 1

    Quote-check bypass + prompt inflation fixed

    Tokenizer replaced a bypassable regex; refs capped; parseRef length guard

  4. Deploy

    godgle.vercel.app live

    Definition-of-done question verified in production

  5. Audience

    Kids / Teens / Adults / Deep study

    Customer-persona Crucible; same evidence at every level

  6. Redesign

    Kids storybook, teen stack, Google-style results + Ask chat

    After Zeb: 'way too much text for a kid'; web search added with fail-closed link verification

  7. Audit 2

    ReDoS + SSRF + person-check hardening

    Hostile-HTML helpers ~1ms (projected ~340s before)

  8. Relatability

    Live kid/teen culture, not a list

    Zeb: relevance must be generated, not curated; audit 3 hardened the path

What shipped

  • experiments/godgle/ — new Next.js 16 experiment app, deployed at https://godgle.vercel.app (Vercel project zebulun-j-s-projects/godgle)

  • experiments/godgle/scripts/build-corpus.mjs + data/bible.json — Berean Standard Bible (public-domain dedication in its own header), 66 books, 31,102 verses

  • experiments/godgle/scripts/build-embeddings.mjs + data/chunks.json + data/embeddings.bin — 15,245 three-verse windows, text-embedding-3-small @512 dims, int8 (7.8 MB)

  • experiments/godgle/lib/seek.ts — understand → retrieve (semantic + verified suggested refs) → grounded answer citing pool ids → server verification; formats full/search/chat; audience rules; chat history

  • experiments/godgle/lib/quotes.ts — quote-pairing tokenizer: unverified quotations lose their quote marks

  • experiments/godgle/lib/web.ts — OpenAI web_search with fail-closed URL verification (SSRF guard per hop, byte cap, page-derived titles/snippets, full-name person check) + live kid/teen culture context

  • experiments/godgle/lib/cards.ts — kids storybook cards and teen story cards; verse text attached from corpus; culture rules

  • experiments/godgle/app/api/{understand,answer,cards,web,passage}/route.ts — rate-limited public routes

  • experiments/godgle/components/{SearchView,ChatView,KidsView,TeensView,Results,PassageExpander,SearchBox}.tsx — four audience experiences + Deep study

  • experiments/godgle/lib/rate-limit.ts — vendored copy of forgekit-ai createRateLimiter (deliberate, for standalone Vercel deploy)

  • package.json — godgle workspace + deploy:godgle / dev:godgle scripts

  • forgekit-os/scripts/deploy-targets.config.mjs — godgle production health target (corpus-backed /api/passage)

  • forgekit-os/patterns.md — per-IP rate limiting row: second standalone-inline instance + bundled-deps/apps.json coupling warning