SpecOS is a product data intelligence platform for distributors. Customers search a catalog of 328K+ construction products in plain language or with a photo, and the system continuously improves itself — every question it can't answer becomes a data gap, and gaps are filled automatically from the distributor's own documentation. I built all of it alone: the data engine, the product, the logo, and the website.
Customers ask in natural language. The system queries the product database, extracts specifications from documentation, and answers with citations. When SpecOS finds the answer, it returns it. When it doesn't, it says so — no hallucinations. That honesty is what makes the rest of the system work.
Ask in plain language
Real answers from the catalog, with citations — never invented specs.
Search from a photo
A jobsite picture is embedded with CLIP and matched against the catalog — no name, no SKU, no typing.





Every time SpecOS can't answer, it logs a data gap: which feature the customer asked about, the product category, the context. Every failed query becomes a data point about what's missing from the catalog — and the admin product turns those data points into fixes.
Gap detected
What customers are asking for, in real time: which features are most requested per category, and how often they're missing. Products are evaluated against category-specific attributes — air filters on MERV rating and filter size, furnaces on BTU and AFUE.

Gap fixed
When a gap is detected, SpecOS searches the documentation and extracts the value with AI. Above 80% confidence, it's applied to the catalog automatically — in under 30 seconds. Between 50 and 80%, it lands in a review queue: the suggestion, the source excerpt, and approve, reject, or edit.
Every enrichment carries full attribution — which document, which page, what confidence, what extraction method. PDF processing pulls full text, tables, and image captions, so all of it is searchable.

Catalog improves
Each product is scored against the ten most-requested features for its category, and scores update in real time as enrichments apply. The system learns what matters for each product type from what customers actually ask — not from predefined schemas.

Trust
For definitions and concepts, a curated knowledge base: you control which sources are trusted, manage terminology, and import content. Every AI interaction is logged for compliance.
Definitional questions — "what does AFUE mean?" — are answered directly from the curated knowledge base.
Anything with consequences — electrical advice, code compliance — requires citable sources, or the AI won't answer. That limits liability and protects the people using it.
Search runs on two stores: a vector index in Pinecone and the catalog in Postgres. A query is embedded and matched against the index — 328K products, 1.25M variants, 9.2M features — then resolved to exact records in the database.
Single query
“Need a 3-ton AC unit for Florida”
4 tools · structured index
Animated diagram of a SpecOS query. Each tool pauses on the catalog columns it actually uses, or skips straight to Pinecone for image match, then curves into the database before the response agent answers. Use the pause button to stop the motion.
A brand has many products, a product has many variations, and every specification — height, voltage, material — lives in product_features as key-value pairs. New catalogs never need schema changes.
Customers choose their model — OpenAI, Gemini, or Claude — without a code change.
Brand
The shell around the engine: a logo and a public site, both mine. Nothing more was needed, so nothing more was made.
Stack — SvelteKit, Tailwind CSS, Supabase, Pinecone, Python
Indexed and searchable in seconds.
Behind one search box, combined into one answer.
From gap detected to high-confidence enrichment applied.
And every AI interaction logged for compliance.