{"adoption": {"forks": 495, "observed_at": "2026-08-28T04:04:27.778505+00:00", "stars": 1348}, "canonical_url": "https://ross.abutalabs.com/products/gemini-chatbot", "card": {"archived": false, "artifact_type": "application", "description": "Build your own generative UI chatbot using the Vercel AI SDK and Google Gemini", "domain": ["chatbots", "large-language-models", "web-development", "artificial-intelligence", "frontend"], "enriched": true, "function": ["chatbot", "chat-interface", "llm-inference", "agent-framework", "auth", "web-framework"], "health_score": 71, "homepage": "https://gemini.vercel.ai", "language": "TypeScript", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["vercel-labs/gemini-chatbot"], "name": "vercel-labs/gemini-chatbot", "platform": ["self-hosted", "cloud"], "pushed_at": "2026-05-27T16:07:25+00:00", "repo": "vercel-labs/gemini-chatbot", "stars": 1348, "tags": ["nextjs", "vercel-ai-sdk", "google-gemini", "template", "generative-ui", "streaming-chat", "shadcn-ui", "typescript", "nodejs", "web-server"], "topics": ["ai", "chatbot", "gemini-pro", "nextjs", "react", "typescript", "vercel"], "urls": [], "use_cases": ["build a chatbot with google gemini", "deploy my own ai chat app on vercel", "next.js chatbot template with streaming responses", "chat app with saved chat history and login", "switch between openai anthropic and gemini providers", "generative ui chat interface starter", "self-host an open source chatgpt alternative"], "what_it_is": "An open-source Next.js chatbot template powered by Google Gemini and the Vercel AI SDK, with streaming chat, generative UI, chat history persistence, and authentication. It ships as a deployable starter app with one-click Vercel deployment and swappable LLM providers.", "when_to_avoid": ["you need a backend-agnostic library rather than a full Next.js application", "you want a framework-free or non-React chat frontend", "you need fine-grained control over the chat implementation and would rather build from scratch"], "when_to_choose": ["you want a production-ready Next.js chatbot starter with auth and persistence", "you prefer Google Gemini as the default model but want provider flexibility via the AI SDK", "you deploy on Vercel and want one-click setup with Vercel Postgres and Blob storage"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gemini-chatbot", "repo": "vercel-labs/gemini-chatbot", "role": "main", "score": 63}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:27.778505+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:42:35.012903+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "823280caeab5b97321321302410caede73018b8683e450082376a94cb1dff244", "fetched_at": "2026-08-28T04:04:27.778505+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vercel-labs/gemini-chatbot"}, {"content_hash": "3041094f24e3ea49f89448bf78d86a69bba62f960b425ec380fcb1d33a8eac12", "fetched_at": "2026-08-29T12:01:56.063966+00:00", "kind": "homepage", "missing": false, "url": "https://gemini.vercel.ai"}, {"content_hash": "6dcfa7274970d5523e46ab4d13ca0d46f3413e5b90e356b5f17373e129e3a9c4", "fetched_at": "2026-08-29T12:01:56.073337+00:00", "kind": "site_page", "missing": false, "url": "https://sdk.vercel.ai/docs"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "longevity": 63, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 882, "days_push": 98, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 63, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}