{"id":82497,"date":"2026-09-09T16:42:13","date_gmt":"2026-09-09T08:42:13","guid":{"rendered":"https:\/\/www.ahhhhfs.com\/82497\/"},"modified":"2026-09-11T21:29:18","modified_gmt":"2026-09-11T13:29:18","slug":"niubigeo","status":"publish","type":"post","link":"https:\/\/www.ahhhhfs.com\/en\/82497\/","title":{"rendered":"NiubiGEO: Open-Source, Self-Hosted AI Brand Visibility Tool"},"content":{"rendered":"<p><strong>NiubiGEO is an open-source, self-hosted AI brand visibility tool.<\/strong> It uses model APIs to show how AI describes your product, which other brands appear in the response, and what citations or links are returned.<\/p>\n<p><a href=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page.jpg\"><picture><source srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page.webp 1456w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page-180x200.webp 180w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page-768x856.webp 768w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page-1379x1536.webp 1379w\" sizes=\"(max-width: 1456px) 100vw, 1456px\" type=\"image\/webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-82491 sp-no-webp\" src=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page.jpg\" alt=\"NiubiGEO open-source AI brand visibility tool on GitHub\" width=\"1456\" height=\"1622\" title srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page.jpg 1456w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page-180x200.jpg 180w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page-768x856.jpg 768w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-github-page-1379x1536.jpg 1379w\" sizes=\"(max-width: 1456px) 100vw, 1456px\"><\/picture><\/a><\/p>\n<p>You can begin with a domain test to see how different models understand and describe a website. After selecting relevant keywords, you can also check which products appear when the target brand is not included in the query. These two workflows answer different questions: \u201cHow does AI describe my product?\u201d and \u201cWhich products appear for this topic?\u201d<\/p>\n<p>The records come from the APIs and models selected for each test. Model choice and web search settings can affect the output, so the results may differ from what users see in the ChatGPT, Claude or Gemini web interfaces.<\/p>\n<h2>What can NiubiGEO show you?<\/h2>\n<p>After a test is complete, NiubiGEO organizes the product descriptions, competing brands, keywords, citations and previous runs. You can review the report by asking five practical questions.<\/p>\n<p><a href=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench.jpg\"><picture><source srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench.webp 1440w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench-91x200.webp 91w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench-768x1684.webp 768w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench-700x1536.webp 700w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench-934x2048.webp 934w\" sizes=\"(max-width: 1440px) 100vw, 1440px\" type=\"image\/webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-82492 sp-no-webp\" src=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench.jpg\" alt=\"PostHog model response and citation records in the NiubiGEO workbench\" width=\"1440\" height=\"3158\" title srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench.jpg 1440w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench-91x200.jpg 91w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench-768x1684.jpg 768w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench-700x1536.jpg 700w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-posthog-workbench-934x2048.jpg 934w\" sizes=\"(max-width: 1440px) 100vw, 1440px\"><\/picture><\/a><\/p>\n<p><strong>1. Did the AI describe your product correctly?<\/strong> Check how the model categorizes the product, whether it misses important features, and whether it claims the product provides services that it does not offer. You can also compare descriptions returned by different models.<\/p>\n<p><strong>2. Which other products appeared in the response?<\/strong> Review the brands that the model places alongside your product, then decide whether they are direct competitors or only loosely related alternatives.<\/p>\n<p><strong>3. Which products appear when your brand is not named?<\/strong> After choosing a keyword to test, you can see which products are mentioned, which ones receive a clear recommendation, and whether your own product appears.<\/p>\n<p><strong>4. What links did the response include?<\/strong> Open the original response and check provider citations separately from ordinary URLs in the answer. These links show which pages were returned with the response, although they do not prove why the model mentioned or recommended a product.<\/p>\n<p><strong>5. What changes in later tests?<\/strong> Saved records make it possible to compare product descriptions, brand mentions and citations across different runs.<\/p>\n<h2>Does an AI mention count as a recommendation?<\/h2>\n<p>No. A brand name appearing in an answer only shows that it was mentioned in that particular response. To count as a recommendation, the answer should connect the product with a user requirement and explain why someone might choose it.<\/p>\n<p><strong>1. A simple brand mention:<\/strong> The product appears in a list of names, but the answer does not explain who it is for or what problem it solves.<\/p>\n<p><strong>2. A recommendation with a reason:<\/strong> The answer connects the product with factors such as price, team size or a particular use case, then explains why it may be worth considering.<\/p>\n<p><strong>3. A related link:<\/strong> The response includes a product website, review or community page. You can open the page to inspect the information, but the presence of a link does not prove that it caused the recommendation.<\/p>\n<p>For this reason, an AI visibility report is more useful when you examine where the brand appeared, how the model described it and whether it supplied a clear recommendation. Counting mentions alone leaves out much of that context.<\/p>\n<h2>Explore real NiubiGEO cases before self-hosting<\/h2>\n<p>The project provides <a href=\"https:\/\/github.com\/Albert-Weasker\/niubigeo\/blob\/v0.2.0\/examples\/README.md\" target=\"_blank\" rel=\"noopener\">20 public domain cases<\/a>, including Notion, Figma and PostHog. You can inspect the model responses, citations and report screenshots before installing the tool or adding an API key.<\/p>\n<p><a href=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases.jpg\"><picture><source srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases.webp 1640w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases-153x200.webp 153w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases-768x1006.webp 768w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases-1173x1536.webp 1173w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases-1564x2048.webp 1564w\" sizes=\"(max-width: 1640px) 100vw, 1640px\" type=\"image\/webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-82493 sp-no-webp\" src=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases.jpg\" alt=\"Twenty public AI visibility cases provided by the NiubiGEO project\" width=\"1640\" height=\"2148\" title srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases.jpg 1640w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases-153x200.jpg 153w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases-768x1006.jpg 768w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases-1173x1536.jpg 1173w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-public-cases-1564x2048.jpg 1564w\" sizes=\"(max-width: 1640px) 100vw, 1640px\"><\/picture><\/a><\/p>\n<p>In the Figma case, the project used \u201cPrototyping\u201d as the keyword. Some responses mainly explained the concept of prototyping, while another response mentioned Figma directly. The example shows the difference between an AI understanding a topic and naming a specific product in its answer.<\/p>\n<p><a href=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test.jpg\"><picture><source srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test.webp 1440w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test-97x200.webp 97w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test-768x1589.webp 768w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test-742x1536.webp 742w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test-990x2048.webp 990w\" sizes=\"(max-width: 1440px) 100vw, 1440px\" type=\"image\/webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-82490 sp-no-webp\" src=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test.jpg\" alt=\"Figma keyword measurement results in a public NiubiGEO case\" width=\"1440\" height=\"2979\" title srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test.jpg 1440w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test-97x200.jpg 97w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test-768x1589.jpg 768w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test-742x1536.jpg 742w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-figma-keyword-test-990x2048.jpg 990w\" sizes=\"(max-width: 1440px) 100vw, 1440px\"><\/picture><\/a><\/p>\n<p>Of the 20 published cases, 10 completed the full workflow and 10 completed only part of it. Eleven included keyword measurements. Failed runs and uncertain results remain in the records, so the examples also show some of the issues that can occur during testing.<\/p>\n<h2>How do you self-host NiubiGEO, and what does it cost?<\/h2>\n<p>NiubiGEO is an Apache-2.0 licensed open-source project that can run on your own computer or server. Testing a product requires your own API key and available account balance. Long-term costs may also include server resources, updates, backups and maintenance time.<\/p>\n<h3>What do you need to deploy it?<\/h3>\n<p>Version 0.2.0 provides a Docker image and can also run with Node.js 22 or later. The official quick-start configuration requires an OpenRouter API key. Once configured, you can open the workbench in a browser, select a model and begin testing.<\/p>\n<p>Scheduled tests require a separate monitoring Worker. The project\u2019s <a href=\"https:\/\/github.com\/Albert-Weasker\/niubigeo\/blob\/v0.2.0\/docs\/deployment\/docker.md\" target=\"_blank\" rel=\"noopener\">Docker deployment guide<\/a> explains how to start it so that tests can run at the configured times and retain their records.<\/p>\n<p>If you already use Docker or know how to install Node.js and edit configuration files, you can follow the <a href=\"https:\/\/github.com\/Albert-Weasker\/niubigeo\/releases\/tag\/v0.2.0\" target=\"_blank\" rel=\"noopener\">v0.2.0 setup instructions<\/a>. First-time self-hosting users may need additional time to prepare the environment and resolve configuration problems.<\/p>\n<h3>What determines the API cost?<\/h3>\n<ul>\n<li><strong>Model calls:<\/strong> Cost depends on the selected models, the number of tests, response length and how often tests are repeated.<\/li>\n<li><strong>Web search:<\/strong> Enabling search may add separate usage charges, depending on the selected model and provider.<\/li>\n<li><strong>Hosting and maintenance:<\/strong> Running the application on a local computer or rented server involves different costs. Updates, backups and troubleshooting also take time.<\/li>\n<\/ul>\n<p>For reference, the author reported that the v0.2.0 study covering 20 domains used 204 paid calls, including preflight checks, at a provider cost of about US$1.00. This was the recorded cost of that particular study, rather than a fixed price for every report, and it does not include hosting or maintenance.<\/p>\n<p>A practical starting point is to run a domain test with one model, followed by a small number of keyword measurements. You can then use the actual account charges to estimate the budget for future runs.<\/p>\n<h3>Where does the data go?<\/h3>\n<p>The application and saved test records remain in the environment where you deploy NiubiGEO. When a test generates an answer, the domain, keyword and other request data are still sent to the configured API provider. With the documented OpenRouter setup, requests pass through OpenRouter to the selected model.<\/p>\n<p>Use public product information for testing rather than confidential customer or business data. If the workbench will be available over the public internet, add suitable access controls to the deployment.<\/p>\n<h2>Why can NiubiGEO results change between runs?<\/h2>\n<p>If a response mentions your brand in one run but omits it in the next, that does not automatically mean your visibility has declined. NiubiGEO\u2019s <a href=\"https:\/\/github.com\/Albert-Weasker\/niubigeo\/blob\/v0.2.0\/docs\/limitations.md\" target=\"_blank\" rel=\"noopener\">documented limitations<\/a> explain that model output can vary and that repeated runs are not guaranteed to produce identical answers, even with the same sampling settings.<\/p>\n<p>For a more useful comparison, keep the domain or keyword, model, language and web search settings consistent, and record the test date. Changing the model, keyword or search method changes the test conditions, so brand mention counts should not be compared without that context.<\/p>\n<p>If a ranking or summary value looks unusual, open the original answer and check what the model actually wrote. The <a href=\"https:\/\/github.com\/Albert-Weasker\/niubigeo\/releases\/tag\/v0.2.0\" target=\"_blank\" rel=\"noopener\">v0.2.0 release notes<\/a> document some ranking-conflict issues. These values are therefore better used as a route back to the source responses than as proof of a fixed brand ranking.<\/p>\n<h2>Who is NiubiGEO for?<\/h2>\n<p>NiubiGEO is suitable for product owners, independent developers and marketing teams that want to check whether AI can describe their website correctly or identify which products appear for a topic when no brand is named. Access to the original responses also helps users review product descriptions, competing brands and citation links.<\/p>\n<p><a href=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison.jpg\"><picture><source srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison.webp 1540w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison-270x200.webp 270w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison-768x569.webp 768w,https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison-1536x1137.webp 1536w\" sizes=\"(max-width: 1540px) 100vw, 1540px\" type=\"image\/webp\"><img decoding=\"async\" class=\"alignnone size-full wp-image-82489 sp-no-webp\" src=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison.jpg\" alt=\"Comparison between NiubiGEO and commercial AI visibility monitoring tools\" width=\"1540\" height=\"1140\" title srcset=\"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison.jpg 1540w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison-270x200.jpg 270w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison-768x569.jpg 768w, https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-commercial-tools-comparison-1536x1137.jpg 1536w\" sizes=\"(max-width: 1540px) 100vw, 1540px\"><\/picture><\/a><\/p>\n<p>To use it, you need an OpenRouter API account, the ability to deploy an application with Docker or Node.js, and the time to review model responses yourself. Ongoing monitoring also requires maintaining the deployment and its scheduled monitoring Worker.<\/p>\n<p>Teams that do not want to manage their own environment, or that require built-in collaboration, access controls and customer support, may prefer a commercial hosted service. When comparing tools, check whether the data comes from model APIs or consumer web interfaces and whether the original responses can be inspected. Those differences matter more than a visibility score by itself.<\/p>\n<h2>NiubiGEO source code and deployment links<\/h2>\n<p><a title=\"NiubiGEO GitHub repository\" href=\"https:\/\/github.com\/Albert-Weasker\/niubigeo\" target=\"_blank\" rel=\"noopener\">NiubiGEO GitHub repository<\/a>: Review the current features, quick-start instructions and usage documentation.<\/p>\n<p><a title=\"NiubiGEO v0.2.0 release notes\" href=\"https:\/\/github.com\/Albert-Weasker\/niubigeo\/releases\/tag\/v0.2.0\" target=\"_blank\" rel=\"noopener\">NiubiGEO v0.2.0 release notes<\/a>: Check the version features, recorded API usage and known issues.<\/p>\n<p><a title=\"NiubiGEO Docker image\" href=\"https:\/\/github.com\/Albert-Weasker\/niubigeo\/pkgs\/container\/niubigeo\" target=\"_blank\" rel=\"noopener\">NiubiGEO Docker image<\/a>: View the available container releases.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>NiubiGEO is an open-source, self-hosted AI brand visibility tool. It uses model APIs to show how AI describes your product, which other brands appear in the response, and what citations or links are returned. You can begin with a domain test to see how different models understand and describe a website. After selecting relevant keywords,<\/p>\n","protected":false},"author":1,"featured_media":82498,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[9247,9270],"tags":[9306,9298],"series":[],"class_list":["post-82497","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developer-project-resources","category-software-development-tools","tag-open-source-tools-directory","tag-self-hosted-software"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/sdcHox-niubigeo","jetpack_featured_media_url":"https:\/\/www.ahhhhfs.com\/wp-content\/uploads\/2026\/09\/niubigeo-ai-brand-visibility-cover.jpg","_links":{"self":[{"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/posts\/82497","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/comments?post=82497"}],"version-history":[{"count":3,"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/posts\/82497\/revisions"}],"predecessor-version":[{"id":82506,"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/posts\/82497\/revisions\/82506"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/media\/82498"}],"wp:attachment":[{"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/media?parent=82497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/categories?post=82497"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/tags?post=82497"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/www.ahhhhfs.com\/en\/wp-json\/wp\/v2\/series?post=82497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}