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 spec
add-auth
fix-pagination

Patterns8

Browse all
Async Loading Component
Environment Configuration

Principles5

Browse all
API Overview
Build Notes

Coverage

Full Map
Patterns43%
Principles%
files
lines
pattern-covered
unmanaged

Conventions3

DRYKISSYAGNI

Context

Audit

92%
passing
7
to review

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.
Lambda health checks

A standard shape every function exposes so deploys stay honest.

End-to-end data handling

One validated model from the API through to the UI.

Demo-driven development

Every component ships with an isolated, exhaustive demo.

Integrations behind adapters

Every provider hides behind one interface we control.

Energy data classification

How readings are tagged, bucketed and normalised.

Our UI conventions

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.

PrototypeProduction
vibingrigorous
DRYKISSYAGNIFail fastSOLIDSingle ResponsibilityComposition over InheritanceSeparation of ConcernsLaw of DemeterPrefer ImmutabilityConvention over ConfigurationLeast AstonishmentEncapsulationIdempotency

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

You

Extend the async loading rule to cover custom hooks too.

Claude

Added src/hooks/**/*.ts to the globs and a note on hook loaders.

Async Loading Component v4
Reply to Claude…

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

New patternSearch project patterns... My patterns Registry
Coverage

Reusable Patterns

Portable ways of building — codebase-agnostic rules another team could adopt verbatim.

6 patterns74% of files covered25,470 lines
Category audit9/14

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 patterns

Switch 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.

payments-api

A clear, spec-driven workflow

From draft to review, with your patterns enforced

Start spec Review Accept & merge

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.

New specSearch specs... Clear complete
Drafting2
In Progress2
Complete1

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.

~/payments-api
add-auth holds baton
1 fix-pagination waiting
2 rate-limiting waiting

Isolated environments

Give each spec its own space to run in, so parallel work never steps on itself.

Worktree
A linked git worktree — isolated files, shared history.
Copy
A full, separate copy of the project folder.
Original
Work in place, in the project folder 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"

CLAUDE.md

Managed by Blint

Patterns
Principles
Conventions
Pointers

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.

Listening · 0:07

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.

Blint 1 9:41

Needs input:

allow-contact-editing

Running:

missing-mock-data

Show Blint

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.

New terminal dev build preview
Processes
· vpt/web
· repos/vpt
vite dev --port 5173add-auth
VITE v5.4 ready in 412 ms
➜ Local: http://localhost:5173/
hmr update /src/lib/auth.ts
page reload src/routes/login.tsx

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

Context 160k / 200k tokens
tool result · 3 images ~24.1k will prune
screenshot.png ~12.8k will prune
old turns × 14 ~18.4k will prune
build.log ~6.2k keep
CLAUDE.md ~2.1k pinned
saving ~55.3k tokens on next cache refresh

Built-in git viewer

Status, diffs and quick actions for any branch, wired into the spec workflow.

spec/add-auth 3 ahead
src/auth/login.ts modified
src/auth/session.ts added
src/hooks/useAuth.ts modified
src/legacy/old.ts deleted

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.

New chat
Pinned
add-auth
payments-api
rate-limiting#2
Refactor the API client
flaky checkout test
web
docs refreshpackages/site
add-auth spec
Add JWT auth to the API following the auth pattern.
Edited src/lib/auth.tsWired the middleware and added token refresh. Running the pattern check now…
Message Claude…

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.

Studio · Blint plugin
Blint sessions

Live status, read straight from Blint.

checkout-flow working
email-receipts idle
refund-policy not started

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.

EMS System|Show battery level for sensors| In projectclaude-opus-5API key ()
Review
3· a subagent or scheduled task woke this session — it holds the baton until this finishes
shellyarn --cwd packages/components storybookrunning
shellyarn --cwd packages/api devrunning
monitorcurl --retry 30 --retry-delay 1 localhost:4000/healthrunning
5· 898 KB · 3 will prune
370 KB
123 KB
139 KB
137 KB
129 KB

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.

Tool result pruned · 475.0 KB · ~121,600 tokens saved · tool-3f9c2e.json

Both thresholds render. Now let me prove the whole path end-to-end — SQL → grouping → Zod schema:

Add a follow-up — Claude picks it up at the next turn boundary…
BypassOpus (1M context)
19%191.4k
Stop Send
  • 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.