AI tool comparison
Plain vs Windsurf Wave 9
Which one should you ship with? Here is the side-by-side panel verdict, pricing read, reviewer split, and community vote comparison.
Developer Tools
Plain
A Django fork rebuilt for AI agents — typed, predictable, agent-readable
75%
Panel ship
—
Community
Free
Entry
Plain is a full-stack Python web framework that forks Django with one overriding goal: make the codebase maximally readable and understandable by AI coding agents. Built by Dropseed (Adam Engebretson), it started in 2023 and has quietly matured into a production-ready framework — today's Show HN submission (93 points) brought it to wider attention. The design philosophy is radical clarity over magic. Plain eliminates Django's more implicit behaviors, adds strict typing throughout, and includes built-in AI integration hooks: a `.claude/rules/` directory for Claude Code context, a CLI command for on-demand documentation retrieval, and OpenTelemetry instrumentation out of the box. The idea is that when a coding agent touches your codebase, it should be able to understand what's happening without fighting through Django's layers of metaclass magic. This represents a genuine philosophical bet: as AI agents write more of our code, the framework's readability to machines matters as much as its readability to humans. Plain is ahead of the curve on this — most frameworks were designed for human ergonomics first. The Show HN traction suggests senior engineers are taking the concept seriously, even if migration from Django remains a real cost.
Developer Tools
Windsurf Wave 9
Persistent memory and team rules baked into your AI coding editor
100%
Panel ship
—
Community
Free
Entry
Windsurf's Wave 9 update adds Cascade Memory, which retains architectural decisions and context across coding sessions so the AI doesn't forget what it learned last week. It also introduces .windsurfrules files that let teams encode project-level coding standards, enforced automatically by the AI on every session. Together, these features push Windsurf closer to a stateful, team-aware coding environment rather than a stateless chat interface.
Reviewer scorecard
“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.”
“The primitive here is clear: persistent context injection at the session boundary, plus a file-based rules DSL that lives in your repo. The DX bet — encoding team standards in a dotfile you can version-control and diff — is exactly the right call. That's not a Windsurf proprietary concept, it's just git-friendly config, and I mean that as a compliment. The moment of truth is opening a project you haven't touched in three weeks and watching the AI actually remember that you're using a custom auth layer instead of asking you to re-explain it. That's a real problem being solved, not a marketing feature, and the .windsurfrules approach is a composable primitive I'd actually use.”
“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.”
“Direct competitor is Cursor with its .cursorrules and Memory features — so Windsurf isn't inventing this category, they're executing a catch-up sprint. The scenario where this breaks: large monorepos with multiple sub-teams where .windsurfrules conflicts arise across directories, or Cascade Memory hallucinating 'remembered' architectural decisions that were actually deprecated. What kills this in 12 months isn't a competitor — it's that VS Code Copilot ships native persistent memory with a Microsoft distribution advantage and this feature parity evaporates. The reason I'm shipping this anyway: the execution appears tighter than Cursor's initial memory rollout, and teams that are already on Windsurf have a real reason to stay.”
“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.”
“The thesis Windsurf is betting on: within two years, the primary unit of AI coding interaction shifts from 'conversation' to 'persistent agent with institutional knowledge,' and the editor that owns the memory layer owns the workflow. That's a falsifiable claim — it requires that context window improvements don't simply make memory redundant, and that teams value persistent AI state enough to tolerate vendor lock-in on their codebase knowledge. The second-order effect that nobody's talking about: .windsurfrules files become de facto team documentation artifacts, creating a new category of 'AI-readable specs' that lives alongside README files. Windsurf is early on the memory-as-infrastructure trend, not on-time — that's the right position to be in.”
“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.”
“The job-to-be-done is specific and singular: stop the AI from being a goldfish that forgets your codebase every session. That's a real job, and both features in Wave 9 attack it directly without scope creep. Onboarding to .windsurfrules is essentially zero — you drop a file in your repo root, which means the team lead sets it up once and every developer gets the benefit without a configuration screen. The completeness question is whether Cascade Memory is reliable enough to actually replace the mental tax of re-contextualizing the AI, or whether developers will still prepend long context dumps out of distrust — that's the gap between a feature launch and a workflow change.”
Weekly AI Tool Verdicts
Get the next comparison in your inbox
New AI tools ship daily. We compare them before you waste an afternoon.