ibsolutions.dev: an intelligent services provider website

ibsolutions.dev: an intelligent services provider website

We used our own website as a proving ground for a pattern we think applies to any services company or B2B catalog: let visitors describe their problem in plain language and surface the most relevant work and solutions automatically. The search is built directly into ibsolutions.dev using the same Astro stack as the rest of the site.

What we solved

Buyers land on a services site, browse through multiple pages, and leave without finding proof that matches their specific problem. Standard navigation assumes visitors already know what they are looking for. We tested whether a plain language search could close that gap and get visitors to relevant work faster.

What we built

A lightweight RAG-style search on the Solutions page that matches visitor queries to existing client work and solution entries. Results are designed for non-technical visitors: a short impact sentence, a link to the matching work, and a clear CTA to request a scoped pilot.

How it works

Embeddings at build time. Each solution and its related content is converted into OpenAI embeddings and stored during the site build. This avoids per-visit embedding costs — the only API call at request time is embedding the visitor’s query.

Hybrid scoring. When a visitor types a short problem description, the query is embedded and compared against stored embeddings using semantic similarity. A keyword boost is applied when query words appear in title or description fields. The combination of semantic and keyword scoring outperforms either approach alone for a small, curated catalog.

Relevance threshold and fallback. The top three results above a confidence threshold are returned. If none pass, a suggested fallback is shown rather than an empty state. The threshold is conservative by default and iterated on as real query data accumulates.

Serverless delivery. The search lives on /solutions and is backed by a serverless API endpoint (/api/search-solutions) hosted on Vercel. The architecture is lightweight — no database, no external search service, just embeddings and a scoring function.

How it maps to real work

Any company with a catalog of services, solutions, or products faces the same navigation problem: visitors have to translate their own language into the site’s taxonomy to find what they need. The pattern here — embed your catalog at build time, score visitor queries against it, and surface results in buyer-friendly language — applies broadly.

Services companies can use it to match prospect problems to relevant case studies. B2B product companies can surface the right product configuration from a plain-language description. Marketplaces can help buyers navigate large inventories without relying on rigid category filters.

The key constraint is catalog size. This approach works well for curated catalogs (tens to low hundreds of entries) where each item has meaningful descriptive content. For very large catalogs, a dedicated search service would be more appropriate.

What we learned

The biggest takeaway is that search queries reveal how prospects actually describe their problems, which is often different from how we write about our services. Logging those queries creates a feedback loop that sharpens positioning and content over time — the search feature doubles as a lightweight market research tool.

Hybrid scoring was a practical discovery. Pure semantic search returned plausible but sometimes loosely related results. Adding a keyword boost for title and description fields tightened relevance significantly without adding complexity. For a small catalog this simple combination is hard to beat.

Generating embeddings at build time was the right call for cost and performance. There is no per-visit embedding cost, and the search response is fast because the only runtime work is embedding one short query and scoring it against a pre-computed set.

Read more

A deeper look at the challenge this solves, the impact we measured, and how marketing, sales and operations teams can apply the same pattern.

Implemented solutions:

Used technologies: