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.

Blint desktop app showing coverage map, pattern status, and CLAUDE.md management Blint

What's included

Create and share patterns
Manage documentation
Write and implement specs
Automatic pattern enforcement
Manage your CLAUDE.md
Enforce industry standards
Built-in agentic coding
Git viewer

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. Not thorough technical specification, but higher-level design principles and domain concepts — enforced consistently across every file, every commit, every contributor.

Keeping Control

Controlled code answers two questions: why was it written, and how should it be designed?

The why

Documentation

Business purpose and domain concepts. What does this service do? Why does this workflow exist? Project-specific context so your AI understands the system it's building, not just the file it's editing.

The how

Patterns

Design decisions and coding conventions. How should data be validated? How should errors be handled? Reusable ideas that keep code consistent as it scales.

Both live as markdown files in your repo — easy to read, edit, and version alongside your code.

Blint coverage map showing pattern and documentation coverage across project files

Patterns

Share your best ideas between projects and with others

Sometimes it's good to be opinionated. A pattern is your take on how something should be done — a design principle with teeth. Each targets specific files via globs and gets enforced automatically.

Demo Driven Development

Build components in isolation with Storybook. Comprehensive demos as living documentation.

quality:demos
Torben SkoTorben Sko

Environment Configuration

Fail fast with explicit values. No defaults, no fallbacks — validate all required variables at startup.

ops:environment
Torben SkoTorben Sko

Async Loading Component

Centralise loading, error, and retry UI for React Query. One component handles the state machine.

frontend:async-handling
Torben SkoTorben Sko

Data Model Handling

Shared Zod schemas as the single source of truth. Validate at boundaries, infer types from schemas.

data:models
Torben SkoTorben Sko

E2E Testing with Storybook

Page objects and component tests with Playwright. Composable, isolated test strategy.

quality:e2e-testing
Torben SkoTorben Sko

Managing LocalStack

Treat LocalStack as disposable. Destroy-first deploys for AWS local development.

ops:local-dev
Torben SkoTorben Sko

Tailwind Culling Fix

Use @source directive to prevent class purging in shared monorepo components.

frontend:build
Torben SkoTorben Sko

Organising .env Files

Separate .env files per app and environment. No shared configs across stages.

ops:environment
Torben SkoTorben Sko

Null vs Undefined

Treat them as semantically distinct. Null means explicitly empty; undefined means not set.

data:conventions
Torben SkoTorben Sko

Service Events

Lightweight DynamoDB-backed event logging for business visibility without a third-party platform.

ops:observability
Torben SkoTorben Sko

Lambda Tips

Health checks, debugging flags (verbose, dry), and version reporting on every Lambda.

backend:api-design
Torben SkoTorben Sko

API Mocking Pattern

Clean swap between real and mock APIs using React Context. No conditionals in component code.

frontend:testing
Torben SkoTorben Sko

AI-Managed Documentation

Embed markdown docs in your codebase. Let Claude maintain the content with real diagrams.

architecture:documentation
Torben SkoTorben Sko

Strict Schemas

Typed schemas for all data structures. No loose JSON or untyped dictionaries.

data:validation
Torben SkoTorben Sko

Colocation

Keep related code together. Tests, styles, and utilities next to the code they serve.

architecture:structure
Torben SkoTorben Sko

Fail Fast

Validate preconditions early. Throw on invalid state rather than continuing silently.

errors:handling
Torben SkoTorben Sko
View all patterns in the registry →

A clear, spec-driven workflow

Plan work as specs, implement with guidance, review before merging

Every feature or fix starts as a specification document. Blint guides the process from draft through implementation to review — checking that the code follows your patterns before it ships.

1

Draft

Write the spec — describe what to build and why

2

Implement

Build the feature in an isolated environment

3

Check

Enforce patterns and review the changes

Merge

Ship with confidence

Blint spec workflow buttons showing Start, Check, and Complete actions

And there's no need to leave Blint to do the implementation — it has agentic coding built right in.

Built-in agentic coding

Claude Code, wrapped with a streamlined workflow

Blint wraps Claude Code directly into the app, so you get full agentic coding without context switching. Start a spec, and Blint opens a Claude session pre-loaded with your patterns, documentation, and an isolated environment.

Sessions scoped to spec branches — no cross-contamination

Patterns and docs fed as context automatically

Uses your existing Claude subscription — no extra API key

Blint embedded Claude Code session showing agentic coding workflow

Isolated environments for parallel work

Each spec gets its own environment so parallel work doesn't collide

When you start a spec, Blint can set up an isolated environment — a git worktree, a full copy, or just the original folder. Multiple specs can run in parallel without stepping on each other.

Original folder

Work directly in your project. No isolation — best for quick fixes.

Git worktree

Clean checkout on a new branch. Main project stays untouched.

Full copy

Complete project copy with dependencies. Self-contained — no rebuild.

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. One click to sync 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, 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

Blint

Get started with Blint

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