Browser-based multimodal AI · GitHub Pages

Search images with natural language using CLIP

A static, backend-free portfolio application for image-text retrieval and zero-shot image classification using quantized ONNX inference in the browser.

Initializing static gallery…Transformers.js + ONNX Runtime Web
safe gallery images
visual categories
embedding dimensions
0backend servers
Responsible use: This educational demo may return biased, incomplete, or incorrect results. Similarity is not probability. Do not upload private, confidential, sensitive, medical, identity, workplace, or copyrighted images.

Interactive demo

One CLIP model, two multimodal workflows

Try:
ModeGallery preview
Query latency
MetricCosine similarity

Architecture

Static hosting with real browser inference

01

Static gallery

Safe PNG assets, captions, tags, and metadata are served directly by GitHub Pages.

02

CLIP encoders

The text and vision encoders load as quantized ONNX models through Transformers.js while the site itself is published from main/docs.

03

Shared embeddings

Images and natural-language queries are represented in the same 512-dimensional space.

04

Client-side ranking

Cosine similarity, top-k ranking, latency, and UI rendering all run in JavaScript.

Evaluation framework

Metrics are measured, never invented

Recall@1100.0%

Correct image appears first.

Recall@5100.0%

Correct image appears in top five.

Recall@10100.0%

Correct image appears in top ten.

Latency14.81 ms avg

Python CPU text-encoding benchmark; browser latency is shown live above.

Measured on 10 curated retrieval queries across a 12-image demonstration gallery. Results apply only to this small public evaluation set; browser latency is still measured live.

Model details

CLIP ViT-B/32

CLIP learns aligned image and text representations. Higher cosine similarity generally indicates stronger alignment, but does not guarantee semantic correctness.

Limitations

Human review remains necessary

Prompt wording, gallery coverage, quantization, browser resources, and model bias can affect results. This demo is not suitable for consequential decisions.