← Back to Bulkhead Forge

Bulkhead Forge — product / Discovery

Ask the question once. Discovery keeps answering it.

Discovery runs saved search profiles on a schedule — events in your city, moves in your market, any recurring question — and returns scored, deduplicated findings with evidence attached. Only what's new or materially changed reaches you.

Working MVP · Runs on Google Cloud · EU region

Illustrative run output — the stages and the six-component score are real; the profile name is an example, not a published result.

Profiles

A profile is a standing question

You describe what you're looking for — the topic, the sources, how often to look, how much a run may spend. Discovery does the reading. Edit the profile in the console and the next run obeys; press "Run now" and it doesn't wait for the schedule.

Profiles are typed. The EVENT type ships today — the first production profile watches IT events in Warsaw — and new discovery types plug into the same pipeline.

profile — warsaw-it-events.json Enabled
{
  "id": "warsaw-it-events",
  "type": "EVENT",
  "intent": "IT meetups & conferences in Warsaw",
  "sources": ["feeds", "web-search"],
  "schedule": "nightly",
  "budgets": {
    "pages_per_run": 30,
    "model_per_run": "$0.20"
  }
}

How a run works

Anatomy of a nightly run

  • Phase 01

    Plan

    A planner model turns the profile into search queries — and remembers which of last week's queries produced findings that survived. Scouts fan out with separate mandates; a supervisor redirects the ones finding nothing.

    Planner · memory

  • Phase 02

    Gather

    Feeds first — they're free — then web search. Every fetch respects robots.txt and is SSRF-guarded. Candidates are interleaved across queries so no single query can eat the page budget.

    Feeds · search · page budget

  • Phase 03

    Resolve

    Structured data is extracted from pages, then an identity ladder deduplicates candidates across sources. Ambiguous pairs aren't dropped — they're escalated to a verifier model.

    Extract · dedup · verifier

  • Phase 04

    Score & announce

    Findings are scored on six components, each with its own confidence and evidence. A state machine diffs against what you already know — only new or materially changed findings are announced.

    6 components · outbox

Cost governance

Spend is governed, not hoped about

An agent that reads the web nightly is a spending machine. Discovery treats budget as an architectural constraint — the same way the rest of our engineering treats latency or isolation.

  • Per-run cap

    One ledger is shared by every caller in a run. It refuses the model call that would cross the cap — before it's issued, not after the invoice.

  • Monthly grant

    Each run reserves from a monthly budget before spending anything. A spent month stops runs — it doesn't surprise you. Ceilings are edited in the console, not in code.

  • Every token metered

    Every model call lands in Cloud Monitoring as ai.model.* metrics. Per-profile spend is a dashboard in the console, not an end-of-month estimate.

  • Degrades, never breaks

    No search key → feeds only. No model key → template plans and keyword scoring. A missing credential narrows the run in a named way; it never fails it.

Use cases

One pipeline, many standing questions

  • Live

    Event radar

    The first production profile watches a city's IT meetups and conferences — dates, venues and changes, deduplicated across listing sites and feeds.

  • Next

    Market & news watch

    Competitor launches, pricing moves, announcements — the same scoring and "only what changed" contract, pointed at your market instead of a calendar.

  • Pluggable

    Your discovery type

    Types are plugins: EVENT ships today, and a new type — grants, tenders, job posts, venues — reuses the whole plan → gather → resolve → score pipeline.

Google Cloud

Built on Google Cloud from day one

Running today

  • Scheduled Cloud Run jobs — europe-west1
  • Cloud SQL (PostgreSQL) behind an internal domain service
  • Budgets and profiles managed in the console
  • Secret Manager · Artifact Registry · keyless WIF deploys
  • Cloud Monitoring — every model call metered (ai.model.*)

Where Gemini fits next

  • Planner, verifier and judge roles on Gemini via Vertex AI
  • Scoring at Flash-class latency and cost — hundreds of candidates per run
  • Role-based routing: each role gets the cheapest model that passes its eval band
  • The cost ledger and metering are already in place — a provider is one config away

Roadmap

Where this goes

Now

  • EVENT type · nightly schedules · "Run now"
  • Scoring with evidence & confidence
  • Budget guardrails · spend dashboards

Next

  • Gemini roles on Vertex AI
  • News & announcements type
  • Finding review flows in the console

Later

  • Custom discovery-type SDK
  • Alert routing — Slack, email
  • Findings feeding Actions items

Early access

Stop re-searching what you already asked.

Working MVP, onboarding a first cohort. Bring one standing question — we'll turn it into a profile together. One email is the whole first step.

contact@bulkheadlogic.com