JCCIDC
JCCIDC
Joint Cognitive Control
& Intelligent Design Company
← BACK TO CASE STUDIES

Community Dashboard — Claude Drafting with Local Gemma Knowledge Mode

Tauri v2 · Rust · React 19 · Express v5 · TypeScript · Claude API · Ollama · Gemma 4 · 2026

Overview

Community Dashboard is a desktop support tool for community moderators. It is a Tauri v2 application with two AI workflows and four integrated surfaces. Community Mode uses the cloud Anthropic Claude API for source-grounded draft replies. Knowledge Mode is a separate workflow that queries local files, vaults, and repos through a local Ollama runtime running Gemma 4 — no data leaves the machine.

Why No Platform API

The project was born from the deletion of a prior product that violated a platform's terms of service through automated community interaction. Community Dashboard was designed from the ground up with a hard constraint: zero automated platform API calls. The application reads no messages, sends no messages, and touches no platform APIs. All AI interaction happens locally or through the Anthropic API — the platform itself is never contacted.

Architecture

Layer Technology
Desktop Shell Tauri v2.10 unstable
Shell Backend Rust
API Server Express v5 + TypeScript
Frontend React 19 + Vite 8
AI Cloud Claude sonnet-4
AI Local Ollama + gemma4:e2b
Storage config.json
Image Processing sharp

5 Technical Wins

1. Tauri v2 Multiwebview with DPI-Safe Command Surface

9 Tauri commands manage the embedded browser panel. A BROWSER_EXISTS mutex prevents double-creation. The async show_browser command handles creation, positioning, and URL navigation. All bounds calculations are DPI-aware to prevent misalignment on high-density displays.

2. ResizeObserver → Native Bounds Synchronization

The embedded browser panel must track the React layout's dimensions pixel-perfectly. A ResizeObserver on the container element fires Tauri IPC commands to reposition the native webview. Debouncing prevents thrash during window resize.

3. Source-Grounded Draft Workflow with 3-State Guardrail

Community Mode drafts are grounded in source material (documentation, FAQs, prior answers). The guardrail has three states: matched (source found, draft generated), no-sources-configured (user hasn't set up sources, warning shown), and no-match (no relevant source found, Claude declines to draft rather than hallucinate).

4. Knowledge Mode: Local Gemma 4 via Ollama

Knowledge Mode is NOT a fallback — it is a first-class mode for querying private local data. When the user switches to Knowledge Mode, all queries go to a local Ollama runtime running Gemma 4. The model is loaded on first query and kept warm. Nothing leaves the machine. This is for personal knowledge bases, vault queries, and repo searches where cloud AI is inappropriate.

5. Config-Backed Theme Token System

7 presets and 40+ design tokens stored in config.json. Tokens cover background, surface, border, text, accent, and state colors. Themes apply via CSS custom properties using color-mix() for alpha variants. Theme changes are instant — no reload required.

Key Design Decisions

  • No database — all state lives in config.json; the app is a local tool, not a service
  • No embedding/vector index — source matching is keyword and section-based; keeps the dependency footprint minimal
  • Tauri over Electron — Rust backend, native webview, ~10MB binary vs ~200MB Electron bundle
  • Human-in-the-loop — all drafts are suggestions; the user reviews and edits before sending anything

Outcome

v1
Complete
4
Community workspaces
7+
Presets + custom themes
Local
Ollama verified
Tauri v2RustReact 19Express v5TypeScriptClaude APIOllamaGemma 4