cd /news/generative-engine-optimization/what-i-learned-building-175-browser-… · home › topics › generative-engine-optimization › article
[ARTICLE · art-142430] src=dev.to ↗ pub= topic=generative-engine-optimization verified=true sentiment=· neutral

What I learned building 175+ browser-only tools with Next.js (and why Google ignored most of them)

A developer built PlainToolbox, a collection of 175+ browser-only tools (calculators, converters, text utilities and generators) using Next.js, with each tool defined as a single object whose pure run() function feeds the page, JSON-LD schema, sitemap and llms.txt file. Despite server-rendering default example answers so crawlers and AI assistants see worked results, Google indexed several pages briefly before dropping nearly all of them, leaving only the homepage indexed with most tool pages marked "Crawled, currently not indexed." The developer reports that the first traceable visits came from an AI assistant and concludes that technical SEO makes a new domain eligible but backlinks and real mentions matter more.

by read2 min views1 publishedSep 30, 2026

I'm a developer, and over the past months I built PlainToolbox, a collection of 175+ free tools: calculators, converters, text utilities and generators. Everything runs in the browser, with no backend and no sign-up.

Building the tools was the easy part. Getting Google to index them was not. Here is what I learned.

Every tool is a small object describing its inputs, logic and FAQs. A shared engine turns it into a page.

{
  slug: "add-business-days",
  name: "Add Business Days to a Date",
  category: "date",
  fields: [/* start date, days, holidays */],
  run(values) {
    // pure function: inputs in, outputs out
  },
  faqs: [/* ... */],
}

The same definition feeds the page, the JSON-LD schema, the sitemap and the llms.txt file. Adding a tool never means touching five places.

Many tool sites ship an empty form and fill it with JavaScript. I render the default example on the server, so the HTML already contains a real answer. Crawlers and AI assistants see a worked result, not a blank widget.

Because run() is a pure function, I can call it directly in a script and check known answers. For the business-days tool, 5 business days from a Monday must land seven calendar days later, and 3 business days from a Wednesday must land on the next Monday. Those checks caught real off-by-one bugs.

Google indexed several pages briefly, then dropped almost all of them. Today only my homepage is indexed, and Search Console shows most tool pages as "Crawled, currently not indexed".

Things I changed based on that:

A new domain has almost no trust. Technical SEO makes you eligible, but it does not make you rank. Backlinks and real mentions matter more than another hundred pages. I'm still early in that part.

The first visits I could trace came from an AI assistant, which fits: those systems often cite small pages that answer one question clearly.

If you want to try the tools, they're at plaintoolbox.com. I'd like to hear which ones are missing, or where a result is wrong.

── more in #generative-engine-optimization 4 stories · sorted by recency
── more on @plaintoolbox 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/what-i-learned-build…] indexed:0 read:2min 2026-09-30 · —