Back to Projects
ai
2026

SiteAsk — Drop-in AI Chat for Any Website

SiteAsk is the productised version of the Ask Amit assistant on this site — generalised so any blog, docs, or marketing site can install it with a single script tag. The widget loads a static prebuilt index, runs query embedding in the visitor's browser via Transformers.js (all-MiniLM-L6-v2 q8), does cosine retrieval locally, and only then POSTs to a tiny user-supplied backend that proxies the LLM call. That architecture lets it undercut SaaS competitors (Inkeep, Kapa.ai) on cost: no embedding-API bill, no vector DB to host, you pay only for LLM calls and only when someone actually chats. Ships as @siteask/widget (the embed bundle) plus a Node CLI for building the index from markdown directories or arbitrary URLs.

SiteAsk — Drop-in AI Chat for Any Website
Technologies

Frontend

TypeScript
DOM (no framework)
tsup
@huggingface/transformers

Backend

Node.js (CLI)
Reference Next.js API route
OpenRouter / BYOK LLM

Database

Tools

gray-matter
all-MiniLM-L6-v2 (q8)
cosine retrieval
Challenges
  • Most chat-widget products are SaaS-only and charge per-query — too expensive for personal sites and small docs
  • RAG normally requires a backend index + a vector DB + an embedding API key — three pieces of infrastructure to host and pay for
  • Cross-site embeds usually need a brittle iframe; CSS isolation + clean theming is non-trivial
Solutions
  • Move embedding and retrieval into the visitor's browser via Transformers.js (q8 quantised model, ~25 MB lazy-loaded once)
  • Ship the index as a static JSON file the site owner hosts on their own CDN — no vector DB needed
  • Backend is just a thin LLM proxy with a documented 2-key contract; reference implementation for Next.js, Cloudflare Workers and Vercel Edge on the roadmap
  • Single IIFE bundle with namespaced CSS classes — no iframe, no shadow DOM gotchas; theme via data attributes
Key Outcomes & Impact

~10 KB gzipped widget bundle; transformers.js + model lazy-load only when a visitor opens the chat

Site owners pay only for LLM tokens, never for embedding API calls or vector DB hosting

One-script-tag install with sensible defaults; programmatic SiteAsk.init() for advanced users

Other Projects

JobJam.io — AI Job Search & Application Platform
JobJam.io — AI Job Search & Application Platform

AI-powered job search platform: discover roles, evaluate fit, tailor applications, and close skill gaps. One-time pricing, no subscriptions.

View Project
Portfolio MCP Server
Portfolio MCP Server

An installable Model Context Protocol server that exposes my blog posts as queryable resources, tools, and prompts to any MCP-compatible AI client.

View Project