Blint makes AI-coding
predictable and scalable.
Define your best design ideas as patterns, document the purpose behind your code, and enforce both consistently — across every file, every commit, every contributor.
Active Specs
New specPatterns8
Browse allPrinciples5
Browse allCoverage
Full MapConventions3
Context
Audit
The core idea
AI-coded projects need guardrails to scale well.
Blint introduces controlled code — guardrails that enforce your design opinions automatically, across every file, every commit, every contributor.
- Patterns — your reusable takes on how to build.
- Principles — the ideas that govern this project.
A standard shape every function exposes so deploys stay honest.
One validated model from the API through to the UI.
Every component ships with an isolated, exhaustive demo.
Every provider hides behind one interface we control.
How readings are tagged, bucketed and normalised.
Spacing, colour and component rules across the app.
Everything in Blint
One tool for governed, agentic development
Patterns and principles define the rules; embedded Claude Code does the work; coverage and conventions keep it honest.
Compliance coverage map
A treemap of your codebase shows where patterns and docs are thin, so you can see what isn't yet under control.
Coding conventions
Turn on principles like DRY, KISS and YAGNI, and dial the rigour up or down to match the project.
Built-in Claude Code
Work on specs and co-author your patterns, without leaving the app
Claude Code runs inside Blint. Use it to implement your specs, and to refine your reusable patterns and project principles in conversation.
-
Implement specs — run Claude Code on a spec and follow its work live
-
Co-author patterns — shape your reusable patterns and principles in plain English
-
State at a glance — a soft glow behind the chat shifts with Claude's state as it works
Claude subscription required
Extend the async loading rule to cover custom hooks too.
Added src/hooks/**/*.ts to the globs and a note on hook loaders.
Patterns & principles
Your patterns and principles, versioned as markdown right beside the code they govern.
-
Versioned patterns — browse and edit reusable patterns with glob matchers, bumped on every change
-
Sync across projects — publish to the registry and pull patterns into any repo to keep codebases aligned
-
Colocated principles — principles live beside the code they describe, grouped by folder
Reusable Patterns
Portable ways of building — codebase-agnostic rules another team could adopt verbatim.
Community patterns
A pattern is your take on how something should be done — targeting specific files and enforced automatically. Share yours across projects, or pull vetted ones from the community registry.
Browse patternsSwitch between accounts
Keep several Claude logins on hand and switch between them without losing the conversation.
Colour-coded projects
Each project gets a colour every Blint window adopts, so you always know which repo you're in.
A clear, spec-driven workflow
From draft to review, with your patterns enforced
Plan each change as a spec and follow it across a board. Each one starts in its own worktree, and a single button carries it forward — Blint checks your patterns on the way through.
One session at a time
A per-directory baton runs sessions one at a time so parallel work doesn't collide — showing who holds it and who's waiting.
Isolated environments
Give each spec its own space to run in, so parallel work never steps on itself.
CLAUDE.md management
Keep your AI's context current without manual editing
Blint manages its own sections inside your CLAUDE.md — the file Claude Code reads for project guidance. Your existing content stays untouched, and one click syncs the managed sections.
-
Patterns — routes Claude to the right pattern files based on glob matchers
-
Principles — key points from your colocated principles, kept in sync automatically
-
Conventions — industry principles like DRY, KISS and Fail Fast, toggled on per project
-
Pointers — project-specific notes like "use AWS profile personal" or "run tests with --watch"
Managed by Blint
Local voice dictation
Push to talk anywhere in Blint. An optional on-device AI model transcribes far more accurately than generic dictation — and your speech never leaves your machine.
Add a pattern that enforces our async loading wrapper on every data-fetching component
Runs in the background
A menu-bar status and notifications let you track progress at a glance and know the moment you're needed again — so you never have to give Blint your full attention.
Everything running, in one view
Your dev servers and scripts sit alongside the ones Claude spins up in its sessions — one list of every running process, grouped by type. A quick-run bar starts your favourites in a click, each row shows who owns it, and you can jump straight to what Claude's doing — or stop anything left running.
Token optimisation
Reclaim context spent on data the session no longer needs
A long session holds on to more than it needs — tool results, screenshots and images, and older turns — much of which can be dropped without losing the thread. Blint removes it so the context window holds more of the current work.
-
Smart pruning — removes bulky, reconstructable context — tool results, images, older turns — on the next cache refresh
-
Soft context limits — set a limit below the model's maximum; Blint auto-compacts the conversation as it approaches it
Built-in git viewer
Status, diffs and quick actions for any branch, wired into the spec workflow.
Unified conversations
Every session and ad-hoc chat across your projects in one place — the conversations tab lists them all with live activity and what needs your attention.
src/lib/auth.tsWired the middleware and added token refresh. Running the pattern check now…Drive Blint from your own tools
All of Blint's power, driven from your own app
Point your app at Blint's local API instead of rebuilding on the raw agent SDK. Conversations you start still run with everything Blint gives you — account switching, token optimisation, pattern enforcement — so there's nothing to reimplement.
-
Nothing to rebuild — your app inherits every Blint feature, from account switching to token optimisation
-
App URLs — open or start any conversation from another app with a blint:// link
-
Create & track — spin up conversations and read their live status through the local API
Full documentation available within Blint.
blint://chat/checkout-flow Live status, read straight from Blint.
The conversation view
Claude Code for people who want to see the whole engine.
Most agent UIs show you a chat log and hope for the best. Blint's conversation view puts everything the session is actually doing on screen — what it started, what it's carrying, what it's spending — so you're supervising the work rather than guessing at it.
Implement the Show battery level for sensors spec. Follow the sensor telemetry principle, and keep the card layout inside the existing widget pattern.
The principle already defines the health envelope, so battery level is a field on it rather than a new concept. I'll thread it through the schema, then render it as a badge on the card.
Now the sensor card stories — this is where the spec's actual feature shows up:
While Storybook boots, the principle update:
Check the critical threshold too — under 10% should read as an alert, not a warning.
Both thresholds render. Now let me prove the whole path end-to-end — SQL → grouping → Zod schema:
-
Everything it started — the subagents, dev servers and monitors this session spun up, and a note when a background task is the thing holding it open.
-
Claude's own checklist — the task list it wrote for itself, ticking over as it works, so you can see the plan and not just the output.
-
What's still in the context — every image and document Claude is carrying, what they weigh, and which ones the next prune will archive.
-
Actions fold, prose stays — runs of tool calls collapse to a count you can open; what Claude actually said stays readable between them.
-
The whole token account — context broken down by category, where auto-compact will fire, and real API-reported spend with the cache hit rate.
-
Pruning you can audit — what's been reclaimed, what still can be, and the engine's own log of why it acted or held off.
-
Per-conversation controls — permission mode, model and reasoning effort set for this chat alone, changeable mid-session.
-
State without reading — a glow behind the input shifts with what the session is doing, so a glance across the room tells you where it's up to.
Get started with Blint
Free for public patterns. Download the desktop app for macOS or Windows.