GEMINI LABJP
NANOLITE — Nano Banana 2 Lite is here: Google's fastest and most cost-efficient Gemini Image model, made for running lightweight image generation cheaplyOMNIFLASH — Gemini Omni Flash is in public preview, a natively multimodal model that lets enterprises and developers build custom, dynamic video workflowsAGENTS — Managed Agents expand with background: true for async server-side runs and polling, remote MCP server integration, and refreshing credentials across interactionsMEMORY — The Memory Bank IngestEvents API is generally available, decoupling event ingestion from memory generation so you can stream content continuouslyTHROUGHPUT — Provisioned Throughput now lets you submit up to seven pending orders for the same model and regionDEPRECATE — Image generation models shut down on August 17, and the Grok 4.1 family on the Gemini Enterprise Agent Platform on August 20NANOLITE — Nano Banana 2 Lite is here: Google's fastest and most cost-efficient Gemini Image model, made for running lightweight image generation cheaplyOMNIFLASH — Gemini Omni Flash is in public preview, a natively multimodal model that lets enterprises and developers build custom, dynamic video workflowsAGENTS — Managed Agents expand with background: true for async server-side runs and polling, remote MCP server integration, and refreshing credentials across interactionsMEMORY — The Memory Bank IngestEvents API is generally available, decoupling event ingestion from memory generation so you can stream content continuouslyTHROUGHPUT — Provisioned Throughput now lets you submit up to seven pending orders for the same model and regionDEPRECATE — Image generation models shut down on August 17, and the Grok 4.1 family on the Gemini Enterprise Agent Platform on August 20
Back to Blog

The Tech Stack Behind Gemini Lab

tech-stackNext.jsCloudflare Workersbehind-the-scenes

Introduction

While Gemini Lab's primary mission is organizing and delivering Gemini knowledge, the site itself is built on a carefully chosen technology stack. This post covers the technical decisions behind the site and why we made them.

Since the same architecture powers our sister sites (Claude Lab, Antigravity Lab, and Rork Lab), this overview may be helpful for anyone building technical knowledge bases.

Framework: Next.js 16 + TypeScript

Gemini Lab uses Next.js 16 with the App Router, which is built on React Server Components. This enables flexible server-side and client-side rendering on a per-component basis.

TypeScript provides strict type definitions for article data and component interfaces. When frontmatter structures drift, issues are caught at build time rather than in production.

Hosting: Cloudflare Workers

Cloudflare Workers is a serverless platform that runs code at the edge. We use the @opennextjs/cloudflare (OpenNext) adapter to run Next.js on Workers.

The key advantage is global edge distribution — visitors from Japan, the US, and everywhere in between experience low-latency page loads. Deployment is automatic, triggered by pushes to GitHub. Cloudflare Pages serves as the CI/CD runner, building the project and deploying to Workers via wrangler deploy.

Content Management: MDX + generate-content.mjs

Articles are managed in MDX format, which extends Markdown with JSX support. This allows embedding code blocks and interactive components naturally within articles.

Each article's frontmatter includes metadata in YAML format: title, slug, category, level, date, author, description, and tags. Dates use the YYYY-MM-DDTHH:MM ISO 8601 format, enabling accurate chronological sorting even when multiple articles are published on the same day.

At build time, a generate-content.mjs script scans all MDX files, parses frontmatter, and generates JSON index files that power the article listings and blog pages.

Internationalization: next-intl v4

Every page supports both Japanese and English. Routing uses the app/[locale]/ structure, with next-intl v4 handling language switching and message management.

Article content is managed as separate files per language (content/articles/ja/... and content/articles/en/...), allowing each version to be written naturally in its target language rather than machine-translated.

Syntax Highlighting: rehype-pretty-code + shiki

For a technical site, readable code blocks are essential. We use rehype-pretty-code with shiki to generate syntax highlighting at build time, with proper color schemes for both dark and light themes.

Because shiki runs at build time, it adds zero JavaScript to the client-side bundle.

SEO Strategy

JSON-LD Structured Data

Each page includes appropriate JSON-LD markup covering WebSite, Article, FAQPage, BreadcrumbList, and Speakable schemas. These help Google display rich snippets in search results.

AI Search Engine Compatibility

We serve llms.txt and llms-full.txt at the site root. This emerging standard helps AI search engines and chatbots efficiently understand site content, an increasingly important aspect of modern SEO.

Automated Content Updates

Gemini Lab uses scheduled tasks to automatically generate articles. Every three hours, a task fires that searches for the latest Gemini-related topics, generates articles in both Japanese and English, and deploys them automatically.

This system allows us to keep pace with Gemini's rapid evolution while maintaining a steady flow of fresh content without manual intervention.

Design System

All sister sites share a common design system: CSS variable-based dark/light mode switching, a DM Mono + Noto Sans JP + DM Sans font stack, and @media (hover: hover) for desktop-only hover animations.

Each site's identity is expressed through its accent color. Gemini Lab uses #5B9BF4 (blue), aligned with Google Gemini's brand palette.

Summary

Gemini Lab's tech stack is designed to balance content quality with update frequency. Fast delivery via Next.js and Cloudflare Workers, rich content management through MDX, and continuous content supply through automated generation form the three pillars of our approach.

We plan to publish more detailed technical articles about this architecture in the future. If you have questions or feedback, we'd love to hear from you.