Compare/Plain vs Vera

AI tool comparison

Plain vs Vera

Which one should you ship with? Here is the side-by-side panel verdict, pricing read, reviewer split, and community vote comparison.

P

Developer Tools

Plain

Django reimagined for humans and AI agents alike

Ship

75%

Panel ship

Community

Paid

Entry

Plain is a full-stack Python web framework explicitly designed to work well with both human developers and AI agents. A fork of Django driven by ongoing development at PullApprove, it reimagines proven patterns for the agentic era: explicit, typed, predictable code that LLMs can understand, navigate, and modify without disambiguation. The framework ships with built-in agent tooling including rules files in '.claude/rules/' for guardrails and installable agent skills like '/plain-install', '/plain-upgrade', and '/plain-optimize'. The CLI unifies development into four commands: 'plain dev', 'plain fix', 'plain check', and 'plain test'. Thirty first-party packages cover authentication, analytics, payments, and more — reducing the assembly burden of a typical Django project. The tech stack is deliberately modern: PostgreSQL ORM with QuerySet API, Jinja2 templates, htmx and Tailwind CSS for frontend, Astral tools (uv, ruff, ty) for Python tooling, and oxc/esbuild for JavaScript. Python 3.13+ required. The design philosophy — prioritizing clarity and structure specifically to make code comprehensible to LLMs — reflects a bet that agentic-native frameworks will outperform retrofitted ones as AI-assisted development becomes the norm.

V

Developer Tools

Vera

A programming language designed for machines, not humans

Mixed

50%

Panel ship

Community

Paid

Entry

Vera is a programming language built from the ground up for LLMs to write — not humans. Named after the Latin word for truth, it compiles to WebAssembly and runs in both the CLI and browser. Its most radical design choice: it eliminates variable names entirely, replacing them with typed De Bruijn structural references (like `@Int.0` for the most recent integer binding). Research suggests naming confusion is one of the biggest failure modes in AI-generated code — Vera removes the problem at the language level. Every function in Vera must declare `requires()` preconditions, `ensures()` postconditions, and `effects()` side-effect declarations. The compiler uses Z3 formal verification to check contracts at every call site, meaning the AI can't ship code that violates its own preconditions. Error messages are structured JSON with stable codes — written as instructions for AI systems to parse and fix, not human developers to read. Benchmark results are striking: on VeraBench, Kimi K2.5 achieves 100% correctness writing Vera code, outperforming both Python (86%) and TypeScript (91%) implementations. At v0.0.127 with 810+ commits, 127 releases, 3,638 tests, and a 13-chapter spec, this is a serious project — not a weekend experiment. If AI is going to write most of our code, perhaps the code should be designed for AI to write.

Decision
Plain
Vera
Panel verdict
Ship · 3 ship / 1 skip
Mixed · 2 ship / 2 skip
Community
No community votes yet
No community votes yet
Pricing
Open Source
Open Source (MIT)
Best for
Django reimagined for humans and AI agents alike
A programming language designed for machines, not humans
Category
Developer Tools
Developer Tools

Reviewer scorecard

Builder
80/100 · ship

A Django fork that actually makes the right tradeoffs for 2026: drops the legacy baggage, goes all-in on PostgreSQL and type annotations, and adds first-class agent tooling with Claude rules files and installable agent skills. The unified CLI ('plain dev', 'plain fix', 'plain check', 'plain test') is the kind of opinionated ergonomics that makes day-to-day development faster. If you're starting a new Python web project and want it to work well with Claude Code, Plain is worth evaluating seriously.

80/100 · ship

The contracts-first approach is genuinely compelling — I've spent too many hours debugging AI-generated code that violated implicit invariants. Having the compiler enforce preconditions at every call site is the kind of guardrail I'd actually trust. The WASM compilation target means you can run this anywhere, and 3,638 tests suggests this isn't vaporware.

Skeptic
45/100 · skip

Django has survived 20 years because its stability and ecosystem matter more than its legacy baggage. Plain has 30 first-party packages and one production deployment: PullApprove, the startup that built it. That's not a community, that's a well-maintained internal framework that got open-sourced. 'Designed for agents' is also a questionable differentiator — Django apps work fine with Claude Code because LLMs read Python, not because the framework has agent-native features. The rules files in .claude/rules/ are just advisory text, same as CLAUDE.md.

45/100 · skip

A language with no variable names sounds like an academic exercise, not something that'll ship real software. Even if LLMs do great on VeraBench, the ecosystem is zero — no libraries, no community, no integrations. You'd be asking your team to maintain code written in a language nobody else on Earth can read. That's a hard sell even if the AI loves it.

Futurist
80/100 · ship

The design philosophy — explicit, typed, predictable code that machines can understand and modify — points to a real insight: the frameworks we write code in will increasingly be co-designed with AI agents as first-class users. Plain is early proof that 'agentic-native' is a legitimate axis for framework design, not just a marketing adjective. Expect other frameworks to adopt similar agent tooling within two years.

80/100 · ship

Vera represents a fundamental rethink: what if programming languages were designed for their actual authors in 2026 — which are predominantly AI systems? The formal verification backbone means AI-generated code carries a proof of correctness, not just a vibe. This is early, but the trajectory points to a world where AI writes formally verified software by default.

Creator
80/100 · ship

For indie hackers building SaaS products with AI assistance, a framework built to be understandable by both you and your coding agent reduces the friction of the 'explain this codebase to Claude' step. The 30 first-party packages covering auth to analytics mean you're not assembling Django plugins from six different maintainers.

45/100 · skip

I love the philosophical angle — a language where the 'author' is the machine. But until there's a visual toolchain, a debugger humans can read, and something I can demo to a client, this lives in research territory. The JSON error messages designed for AI systems are clever but leave human reviewers completely out of the loop.

Weekly AI Tool Verdicts

Get the next comparison in your inbox

New AI tools ship daily. We compare them before you waste an afternoon.

Bookmarks

Loading bookmarks...

No bookmarks yet

Bookmark tools to save them for later