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 allDocumentation5
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. 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
Documentation — why it exists
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.
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
Claude subscription required
Added token refresh and wired it into the session guard. Tests pass.
Extend the async loading rule to cover custom hooks too.
Added src/hooks/**/*.ts to the globs and a note on hook loaders.
Switch between accounts
Keep several Claude logins on hand and switch between them without losing the conversation.
Switch account
Last used 5m ago
Last used 3d ago
Last used 2w ago
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, 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
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
Run each spec in a git worktree, a copy, or the original folder, so parallel work doesn't step 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
-
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"
Managed by Blint
Local voice dictation
Push to talk anywhere in Blint; speech becomes text on your machine, so nothing leaves it.
Add a pattern that enforces our async loading wrapper on every data-fetching component
Project script runner
Every script in your repo in one panel — click to run dev, test or build.
Token optimisation mode
Cut token use — Blint drops the bulky parts of the context when it next refreshes the cache.
Sync patterns across projects
Patterns are versioned markdown you can sync between projects in a click, keeping codebases aligned.
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, with live activity and what needs your attention.
Runs in the background
A menu-bar status and system notifications tell you what's running and what needs your input, so you can leave Blint working and come back when it's ready.
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 patternsA 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.
Get started with Blint
Free for public patterns. Download the desktop app for macOS or Windows.