Habr AI→ original

Claude Code helped build a working 46,000-line CRM system — and there’s already a guide

Habr AI examined a real vibe coding case: a two-person team built a working 46,000-line CRM system in a month and a half with Claude Code. What matters in this

AI-processed from Habr AI; edited by Hamidun News
Claude Code helped build a working 46,000-line CRM system — and there’s already a guide
Source: Habr AI. Collage: Hamidun News.
◐ Listen to article

On Habr AI, a detailed case study was published about how a two-person team built a commercial CRM system almost entirely using Claude Code. Over the course of a month and a half, they produced 46 thousand lines of code, a working product, and a set of rules without which this mode quickly turns into chaos.

What They Built

The authors describe not a learning prototype, but a working CRM system for processing incoming requests and managing deals. The system can automatically respond to emails, create tasks, and move customers through the funnel. The project was written by two people: one combined the roles of manager and analyst, collecting tasks from video calls via ReadAI and laying them out in Jira through MCP; the second managed the development process itself, implementation, and testing.

They chose NestJS, NextJS, ShadCN UI, and PostgreSQL as their stack. The key conclusion from this experiment is simple: what's impressive is not the number 46 thousand lines itself, but that the client is already using the product. This is an important distinction against the usual skepticism toward vibe coding, which is often associated either with weekend demos or accelerated production of technical debt.

In this case, the authors demonstrate the opposite scenario: if you clearly limit tasks, roles, and working rules in advance, AI can be not a toy, but a quite practical tool for commercial development.

How They Organized the Process

The team's main artifact became a short claude.md file—not a dump of knowledge, but an entry point with a project description, stack, links to documentation, and basic rules. Everything else was moved to separate md-files by modules: deals, email processing, API, and other parts of the system. For backend, database, and other areas, they created their own "agents" in the form of instructions with patterns, constraints, and typical mistakes. The idea is for Claude to read only the context needed right now, rather than spend tokens on the entire project at once.

  • Short claude.md with the most important information
  • Separate md-files for major modules
  • Specialized instructions for backend and database
  • One context for one task
  • Mandatory review after generation

The second rule is not to mix tasks in one window. The authors recommend sticking to the "one context = one task" scheme, doing clear after completion, and using resume to return. The reason is that when context overflows, Claude compresses history and loses details at the worst moment. For large chunks of work, they turned on plan mode to break implementation into independent subtasks. By their estimate, even a basic $20 subscription is enough for 3–5 hours of active work if the documentation and project structure are already prepared.

Where Problems Arise

The article separately discusses typical failures. Claude can confuse library methods, forget what was already discussed, produce duplicate code, or suggest architectural solutions that don't fit well with the rest of the system. A separate source of errors is external APIs.

If you pull documentation from the internet on the fly each time, the model spends more tokens and more often makes mistakes in parameters or usage scenarios. That's why for each integration, the team first asked the AI to assemble a separate md-file based on the official documentation, and only then moved to code. The authors also recommend not skipping discovery, not trusting without verification a requirements document that the client generated via AI, and not expecting a perfect result on the first try.

For complex architectural tasks, they used Sequential Thinking to have the model first go through a chain of reasoning before immediately writing code. For navigation through a large codebase, Serena proved useful, which saves context on file searching.

"The main thing is to understand what you want to get as output and

not generate chaos."

What This Means

The case from Habr AI shows well that the main deficit in vibe coding is not code generation, but process manageability. Claude Code accelerates development, but only if the team has discipline in documentation, task breakdown, review, and context management. For studios and product teams, this is essentially a new operational skill: it's not enough to be able to write prompts, you need to be able to design an environment where AI doesn't sprawl across the project but moves it forward.

ZK
Hamidun News
AI news without noise. Daily editorial selection from 400+ sources. A product by Zhemal Khamidun, Head of AI at Alpina Digital.

Want to stop reading about AI and start using it?

AI News is a curated feed of AI/tech news. Hamidun Academy teaches you to use AI systematically in your work.

What do you think?
Loading comments…