> product // vite-flare-starter // the making of
vite-flare-starter
how it was made.
Vite Flare Starter began in November 2025 as a clean Cloudflare starter kit, auth wired, database ready, deploy on day one. By mid-2026 it had grown into the studio's most-committed repository: 1,623 commits (a good slice of them from an overnight agent that tends the codebase while the humans sleep), a full AI platform under the hood, and the foundation every other Jezweb product forks from. Nothing was planned at that scale. It just kept teaching us things.
The short version
It started with a familiar frustration: every new project burned its first week on the same setup. Auth, database, deploy config, UI primitives, wired again from scratch, again. The initial commit on 29 November 2025 put a stop to that. Three weeks of polish and the starter was at v0.12.0 with multi-provider AI, files on R2, admin roles, and email.
Then April 2026 happened. A sustained build session, later documented in the commit log as phases A through E, then F through M, layered in a full AI chat interface, an agent framework, a skills system, MCP connectors for Google Workspace and Microsoft 365, Spaces for multi-user collaboration, Routines for scheduled agents, RAG-backed memory, and voice mode. The bundle grew from a starter to the substrate every other studio product runs on. Forks of it have shipped to production. Its patterns have been ported back upstream from those forks. It is, genuinely, in constant motion.
// the build log · mined from the commit history, nothing dramatised
A starter that actually starts
The initial commit landed 29 November 2025 after extracting and cleaning a CRM project's scaffolding. Within a week it had a Deploy to Cloudflare button, a custom theme system, and feature flags. By Christmas it had admin roles, an activity log, error tracking, AI infrastructure, a files module, and v0.12.0. The goal was modest: skip the first week of any new project. That worked immediately.
Multi-provider AI and the forking guide
January added native Workers AI routing, OpenRouter support, multi-provider email abstraction, and a FORKING.md guide written explicitly for AI agents picking up the repo cold. The decision to default to OAuth-only auth and pages-over-modals landed here, small preference calls that have shaped every fork since.
Full AI chat, AI SDK v6, and the tool contract
A long dormancy ended with a burst: a major dependency update, AI SDK v6 adoption, a command palette, skeleton components, artifacts rendered inline, audio input and output, PDF attachments, a structured extract page, vision support, and a unified ToolDefinition contract across 51 tools. The main chunk dropped from 3.9 MB to 2.2 MB in the same session. Fifty-nine shadcn/ui components shipped. Version ticked from 0.13 to 2.0.0 across five days.
Google, Microsoft, Slack, Notion, all wired
Native Google Workspace OAuth arrived with Gmail depth, Calendar CRUD, Docs, Sheets, Drive and Tasks tools: 21 new agent tools in three days. Microsoft 365 followed: Outlook, OneDrive, Calendar. Then Slack, Notion and Atlassian stubs. Per-user MCP connections with OAuth and per-tool policies. A unified ToolDefinition contract across all tool modules. The starter was no longer just a skeleton; it was a platform.
A full agentic infrastructure
Phases A through M landed in a sustained sequence: an autonomous agent base class, approval queues, Vectorize-backed semantic memory, Spaces for multi-user multi-agent workrooms, Routines for cron-driven scheduled agents, an organisation plugin, voice mode (push-to-talk + auto-TTS), a knowledge module, RAG ingestion, and a ChatAgent migration to Cloudflare's Durable Object agents SDK. The overnight agent loop, a scheduled remote agent running hourly check-ins, entered the commit log and has been running ever since.
Steady work at scale
From mid-May onward the dominant pattern is unglamorous but real: automated dependency refreshes, model ID migrations as providers retire old IDs, Playwright e2e tests, accessibility fixes from axe-core audits, cross-project ports from forks that found better patterns, and the hourly overnight log bail entries from the scheduled agent. The repo never goes quiet. It is now the upstream for every Jezweb product that runs on Cloudflare.
git log: “feat: Full AI SDK v6 adoption, v2.0.0”
The version jump from 1.x to 2.0.0 was earned in a single session that rewrote the AI layer, added 59 shadcn components, and halved the bundle size.
// the roads not taken
Tried, measured, set aside: the judgement lives here as much as in what shipped.
Chat module migrated to Cloudflare agents SDK
The original streaming HTTP chat route was replaced wholesale with a ChatAgent Durable Object and WebSocket transport in May 2026. The migration plan was written across three commits, debated across five option documents, then executed in four phases. The old route was deleted.
Tool-name autocomplete in the skill editor
Autocomplete for tool names (triggered by '/') was shipped on 24 April and reverted two commits later. The log says only 'unwind tool-name autocomplete': the feature didn't make the cut.
Menubar primitive removed
The shadcn Menubar component was removed in May 2026 with the note 'no SaaS surface fits'. It had been scaffolded in but never found a natural home.
Want something built like this?
This is how we work: in the open, measured, honest about the dead ends.