Skip to main content

Playground · research instrument

On-device AI

Vector Retrieval Recall Lab

Generate a deterministic clustered corpus in this browser. Exact cosine search establishes ground truth; a disclosed IVF-style coarse index skips candidates. Sweep probe count and measure the recall you keep, the work you avoid, and the latency your device actually sees.

Independent research instrument — not claimed as MakerPortal shipped product code. Methods, equations, assumptions, and limitations are disclosed so you can inspect what the page does and does not establish.

Simulator · Local measurements only

Recall is what the shortcut costs.

Every row below is computed after you press run. Changing any control clears the measurements; the chart never carries estimates forward.

No network requests

Corpus + search budget

StatusWaiting for a run
Corpus bytes
Eligible vectors
Build time
Query batch8 deterministic

The seed makes corpus values repeatable, not timings. Browser scheduling, CPU state, JIT warm-up, and power mode still affect milliseconds.

Measured probe sweep

Bars: approximate latency · dashed: exact baseline · line: recall@k

No measurements
Measured exact and approximate vector-search results
ProbesCandidatesExact ms/qApprox ms/qRecall@kMeasured ratio
Run a sweep to populate measured rows.

Anatomy · What this establishes

Ground truth first, shortcut second.

01 · CORPUS

Clustered, normalized vectors

A seeded generator creates normalized Float32 vectors around random centroids. Metadata buckets provide a visible filter-selectivity control. The bytes readout counts vector storage only.

02 · EXACT

Every eligible dot product

Exact cosine scans every vector allowed by the metadata predicate, maintains the top-k IDs, and becomes the recall reference. It is timed after one unreported warm-up query.

03 · COARSE

Probe selected buckets

The teaching index scores cluster centroids, opens the requested number of buckets, and evaluates only those candidates. It resembles an IVF coarse quantizer but makes no claim about a provider's internal index.

04 · COMPARE

Eight-query batch

Recall, candidate count, and per-query latency are averaged across eight deterministic queries. A speed ratio appears only from the two measured clocks; a slower shortcut stays slower on screen.

Gear · Third section

Build a repeatable local retrieval bench

6 audited picks

Kit Builder · Fourth section

Local vector-search test stack

Use a fixed corpus snapshot and hardware power mode when comparing software changes. Prices come from the audited catalog cache; optional items stay visibly excluded until selected.

Build this lab

Local vector-search test stack

Jetson or Pi for repeatable local retrieval tests, SSD for corpus snapshots, and two practical ML systems references. Measure your own workload before choosing managed capacity.

Prices shown were retrieved from the Amazon Product Advertising API on 19 July 2026 and are indicative only — the price and availability on Amazon at the time of purchase apply.

Prices shown were checked against the Amazon product listing on 9 August 2026 and are indicative only — the price and availability on Amazon at the time of purchase apply.

Estimated total

$559

Prices from Amazon catalog cache · may change

Open primary listing ↗

Kit Total

Buy ↗

Math · Disclosed model

Four quantities, no mystery score.

Cosine similarity (vectors normalized here)

s(q,x)=qxq2x2=qxs(\mathbf{q},\mathbf{x})=\frac{\mathbf{q}\cdot\mathbf{x}}{\lVert\mathbf{q}\rVert_2\lVert\mathbf{x}\rVert_2}=\mathbf{q}\cdot\mathbf{x}

Normalization moves the magnitude work to corpus construction. Each query score is then a d-element dot product.

Recall at k

recall@k=NkexactNkapproxk\operatorname{recall@k}=\frac{|N_k^{\mathrm{exact}}\cap N_k^{\mathrm{approx}}|}{k}

The lab averages this fraction over eight queries. It does not treat the coarse result's own score as proof of retrieval quality.

Measured candidate fraction

ρ=Cprobed,eligibleNeligible\rho=\frac{C_{\mathrm{probed,eligible}}}{N_{\mathrm{eligible}}}

A smaller ρ means fewer dot products. It does not guarantee lower wall time because centroid ranking and bucket traversal add fixed work.

Dense vector storage floor

Bvectors=Nd4 bytes(Float32)B_{\mathrm{vectors}}=N\,d\,4\ \mathrm{bytes}\quad(\text{Float32})

This is only the raw vector array. IDs, metadata, index structures, replicas, caches, and provider billing are intentionally excluded.

Code · Provider boundary

Keep the Pinecone key on your server.

The official TypeScript SDK documentation explicitly targets server-side use; bundling it into a browser can expose project keys. This current pattern resolves the index host, scopes a namespace, omits returned vector values, and applies metadata filtering. Measure the deployed request end to end. Explore Pinecone ↗

import { Pinecone } from '@pinecone-database/pinecone';

// Server-only environment variables. Never bundle this key into browser JS.
const pc = new Pinecone({ apiKey: process.env.PINECONE_API_KEY! });
const model = await pc.describeIndex(process.env.PINECONE_INDEX!);
const docs = pc.index({ host: model.host }).namespace('docs');

export async function nearest(
  vector: number[],
  category?: string,
) {
  return docs.query({
    vector,
    topK: 10,
    includeValues: false,
    includeMetadata: true,
    filter: category ? { category: { $eq: category } } : undefined,
  });
}
Commercial integrity: Pinecone's official partner page currently publishes referral and affiliate applications, including a path for technical educators, but no public commission rate. The account link is informational until MakerPortal receives an approved partner URL; no discount or payout is implied.

Export · Soft gate

Export the measured recall envelope

Download the corpus configuration, build time, exact baseline, and every measured probe row. The export contains no vectors, query values, key, endpoint, email, or device fingerprint.

File · vector-retrieval-measurements.json

vector-retrieval-measurements.jsonapplication/json+ watermark line on free path

Free download adds a small footer: /* Export from makerportal.ai — free watermarked build. Unlock …Clean export removes footer. Both are generated fresh from your current sim tuning.

Privacy: email stays in your browser localStorage (mp_export_email_vector-retrieval-recall-lab) + unlock flag (mp_export_unlock_vector-retrieval-recall-lab). If Buttondown username is configured, we also POST to Buttondown (privacy-first mode, no tracking pixels per D-014). See privacy → affiliates & email.

Unlock clean export

Soft gate — no hard paywall, no Clerk. Email stays local unless you explicitly check the newsletter box. Unsubscribe anytime. RSS at /rss.xml.

Export → Fab bonusAfter export, your tuned stackup can be ordered via PCBWay/JLCPCB CTA (when live) — see /privacy#affiliates for live merchants.

Frequently asked questions

Does this page benchmark Pinecone?

No. It benchmarks JavaScript running against a synthetic corpus generated in this browser. The coarse index is a disclosed teaching implementation, not Pinecone internals. Use the server-side code pattern on this page and measure your own deployed index before making a capacity or vendor decision.

What does recall@k mean here?

For each query, the page computes the exact cosine top-k over every eligible vector. Recall@k is the fraction of those exact neighbor IDs also returned by the coarse search. The displayed value is averaged across the current query batch.

Why can approximate search be slower on a small corpus?

Centroid scoring, bucket selection, and non-contiguous memory access have fixed costs. When the corpus is small—or when many clusters are probed—a sequential exact scan can win. The lab reports that result instead of forcing a speedup narrative.

Does any vector, query, result, or device identifier leave the page?

No. Corpus generation, indexing, search, charts, and export happen locally. First-party analytics record only coarse actions such as starting a sweep or opening the provider link, in a 100-event localStorage ring buffer. The page has no Pinecone key field because the official SDK belongs on a server, not in browser code.

Is the Pinecone link sponsored?

Not today. Pinecone publishes an affiliate application for technical builders and educators, but no public commission rate. MakerPortal keeps the partner URL empty until approval; if a tracked URL is added later, the link automatically receives rel="sponsored" and the site disclosure applies.

Shareable still

The instrument, captured—not illustrated.

This 16:9 frame is rendered from the real browser instrument above. It is the page's canonical preview for image search, link unfurls, and posts that need to show what the tool actually does.

Download 1280 × 720 JPEG
Vector Retrieval Recall Lab — live MakerPortal instrument screenshot
Canonical capture · real UI · no generated scientific artwork