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

Documentation5

Browse all
API Overview
Build Notes

Coverage

Full Map
Patterns43%
Documentation38%
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. Patterns define how code should be written. Documentation defines why it exists. Enforced consistently across every file, every commit, every contributor.

Pattern — how code should be written

Async Loading Component
src/components/**/*.tsx

Documentation — why it exists

Authentication flow

Everything in Blint

One tool for governed, agentic development

Patterns and documentation 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 documentation in conversation.

  • Implement specs — run Claude Code on a spec and follow its work live

  • Co-author patterns — shape your reusable patterns and docs 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 & documentation

Your patterns and documentation, 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 docs — documentation lives beside the code it describes, grouped by folder

New patternInstalled 5RegistryMine
Async Loading Component
Centralised loading, error and retry for React Query.
v42 globsSynced
Environment Configuration
Fail fast with explicit values — no defaults.
v23 globsUpdate
API Mocking
Clean swap between the real and mock API.
v11 globUnpublished
Service Events
Lightweight event logging on DynamoDB.
v32 globsSynced
Null vs Undefined
Treat them as distinct, with clear intent.
v14 globsSynced
Async Loading Componentv4 Publish
Matches
src/components/**/*.tsxsrc/hooks/**/*.ts
Pattern

All components that fetch data must use the AsyncLoader wrapper, which centralises loading, error and retry states…

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

A General-Purpose Async Loading Component for React Query

One way to centralise loading, error, and retry UI for React Query without leaking query state into every component.

AI-Managed Documentation That Lives in Your Codebase

Embedding markdown documentation directly in your app and letting Claude maintain it produces docs that stay accurate, include real diagrams, and don't rot.

API Mocking Pattern for React and Storybook

A clean pattern for swapping between real and mock APIs without polluting your components with mocking logic.

Data Model handling in TypeScript

A pattern for shared, runtime-validated data models that catch issues early and keep frontend and backend in sync.

Demo Driven Development

Building components in isolation with comprehensive demos catches edge cases that unit tests miss and ensures your UI handles failure gracefully.

E2E Testing with Playwright and Storybook

A testing strategy that mirrors how you build UIs — composable, isolated, and resilient to change.

Electron App Architecture

Architectural conventions for building an Electron app with Vite, React, Tailwind, shadcn/ui, and typed IPC

Electron Release Pipeline

GitHub Actions CI/CD for building, signing, distributing, and auto-updating an Electron app via S3/CloudFront

Environment Configuration Best Practices

Fail fast with explicit values. No defaults, no fallbacks, no computed configuration.

Fixing Tailwind Culling in Monorepos

A practical pattern for preventing Tailwind v4 from culling classes in shared monorepo components.

Lambda Tips

Tips for making lambdas easier to debug and maintain.

Managing the LocalStack Lifecycle

Treat LocalStack as disposable infrastructure. Destroy the container on every deploy and avoid partial teardowns.

Null vs Undefined

null and undefined are not interchangeable. Treating them as such blurs intent, weakens APIs, and forces defensive code everywhere.

Organising Environment Files

As the number of apps, services and environments grow over time, these tips keep your environment configurations files more manageable

Service Events: Rolling Your Own Event Logging

A lightweight event tracking system built on DynamoDB that provides visibility across your services without the cost or complexity of third-party logging platforms.

A General-Purpose Async Loading Component for React Query

One way to centralise loading, error, and retry UI for React Query without leaking query state into every component.

AI-Managed Documentation That Lives in Your Codebase

Embedding markdown documentation directly in your app and letting Claude maintain it produces docs that stay accurate, include real diagrams, and don't rot.

API Mocking Pattern for React and Storybook

A clean pattern for swapping between real and mock APIs without polluting your components with mocking logic.

Data Model handling in TypeScript

A pattern for shared, runtime-validated data models that catch issues early and keep frontend and backend in sync.

Demo Driven Development

Building components in isolation with comprehensive demos catches edge cases that unit tests miss and ensures your UI handles failure gracefully.

E2E Testing with Playwright and Storybook

A testing strategy that mirrors how you build UIs — composable, isolated, and resilient to change.

Electron App Architecture

Architectural conventions for building an Electron app with Vite, React, Tailwind, shadcn/ui, and typed IPC

Electron Release Pipeline

GitHub Actions CI/CD for building, signing, distributing, and auto-updating an Electron app via S3/CloudFront

Environment Configuration Best Practices

Fail fast with explicit values. No defaults, no fallbacks, no computed configuration.

Fixing Tailwind Culling in Monorepos

A practical pattern for preventing Tailwind v4 from culling classes in shared monorepo components.

Lambda Tips

Tips for making lambdas easier to debug and maintain.

Managing the LocalStack Lifecycle

Treat LocalStack as disposable infrastructure. Destroy the container on every deploy and avoid partial teardowns.

Null vs Undefined

null and undefined are not interchangeable. Treating them as such blurs intent, weakens APIs, and forces defensive code everywhere.

Organising Environment Files

As the number of apps, services and environments grow over time, these tips keep your environment configurations files more manageable

Service Events: Rolling Your Own Event Logging

A lightweight event tracking system built on DynamoDB that provides visibility across your services without the cost or complexity of third-party logging platforms.

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

Plan each change as a spec and follow it across a board, with Blint checking your patterns as the code is written.

  • Kanban board — move specs through drafting, implementing and reviewing

  • Pattern enforcement — checks run as code changes and flag drift before it ships

  • Isolated runs — each spec builds in its own worktree or copy

Drafting 2
add-webhooks
rate-limiting
In Progress 2
add-auth
Implementing checking patterns…
fix-pagination
Code Reviewed patterns
Complete 1
refresh-tokens
patterns

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

  • Documentation — key points from your colocated docs, 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
Documentation
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

Project script runner

Every script in your repo in one place — one click to run, with your favourites starred.

dev test build lint typecheck format storybook e2e deploy clean preview analyze migrate seed release docs bench typegen

Token optimisation mode

Cut token use — Blint drops the bulky parts of the context when it next refreshes the cache.

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

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

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…

Get started with Blint

Free for public patterns. Download the desktop app for macOS or Windows.