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, across every file, every commit, every contributor.
- Patterns — your reusable takes on how to build.
- Documentation — 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 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
-
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 & 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
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 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.
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.
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
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
-
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. 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
Project script runner
Every script in your repo in one place — one click to run, with your favourites starred.
Token optimisation mode
Cut token use — Blint drops the bulky parts of the context when it next refreshes the cache.
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.
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…
Get started with Blint
Free for public patterns. Download the desktop app for macOS or Windows.