How to Build a Real Project on Claude Code's Free Plan (Without the Pain)

How to Build a Real Project on Claude Code's Free Plan (Without the Pain)

A non-technical user's struggle reveals the exact workflow and prompts to make Claude Code's free tier work for serious development.

Ggentic.news Editorial·2h ago·4 min read·6 views·via reddit_claude
Share:

How to Build a Real Project on Claude Code's Free Plan (Without the Pain)

A developer on Reddit is trying to build accounting software using only Claude's free plan. They're hitting limits, getting inconsistent outputs, and feeling lost on project structure. This is a common pain point, but Claude Code has specific features designed to solve these exact problems.

The Core Problem: Free Plan Limits vs. Real Development

The free Claude plan has strict message limits and uses less powerful models. Trying to build a full project through the chat interface is like digging a foundation with a spoon. Claude Code changes this equation by making every interaction count.

Your New Workflow: Claude Code + Strategic Prompting

Instead of bouncing between GPT and Claude chat, install Claude Code and use this approach:

# Install Claude Code first
npm install -g @anthropic-ai/claude-code

# Initialize your project with structure
claude code init --template basic-web-app

# Then work in focused sessions
claude code "Create a simple invoice model with fields: date, customer_name, items[], total_amount" --compact

The --compact flag is crucial on free plans—it reduces token usage by ~40% while maintaining code quality.

The CLAUDE.md File: Your Project's Brain

Create a CLAUDE.md file in your project root. This gives Claude persistent context across sessions, solving the "inconsistent outputs" problem:

# Accounting System Project

## Tech Stack
- Frontend: HTML/CSS/JavaScript (vanilla, no frameworks)
- Backend: Node.js with Express
- Database: SQLite (simple file-based)
- Authentication: None (single-user desktop app)

## Project Structure
/accounting-app
  ├── public/          # Static files
  ├── src/            # Backend logic
  ├── database/       # SQLite files
  └── CLAUDE.md       # This file

## Current Status
- Basic Express server running
- Need: Invoice creation form
- Need: GST calculation logic
- Need: Daily work tracking

## Constraints
- Must work offline
- Simple UI (Excel-like)
- No cloud dependencies
- Free plan friendly (small files)

This file acts as Claude's memory. Every time you run claude code, it reads this first, maintaining consistency.

Breaking Down the Monolith: The 30-Minute Session Rule

Free plans work best with focused, time-boxed sessions. Instead of "build accounting software," break it down:

# Session 1: Database setup
claude code "Create SQLite schema for invoices with GST calculations" --time 30

# Session 2: API endpoints
claude code "Create Express routes for CRUD operations on invoices" --time 30

# Session 3: Frontend form
claude code "Create HTML form for invoice entry with live GST calculation" --time 30

Each session should produce runnable, testable code. The --time flag helps Claude optimize its output for your remaining message limits.

When Things Break: The Debugging Protocol

Instead of asking "why doesn't this work?" which burns messages, use:

# 1. Get the error
node your-file.js 2>&1 | tail -5

# 2. Feed it to Claude with context
claude code "Fix this error: [paste error]. Context: [paste relevant code snippet]. Keep solution minimal." --compact

This approach uses 1-2 messages instead of 5-6 back-and-forths.

The Local-First Advantage

Since you're building for personal use, leverage Claude Code's local execution:

# Test immediately after generation
claude code "Create invoice form" --execute "npm test"

# Or have Claude run the code itself
claude code "Write and run a test for GST calculation" --run

The --execute and --run flags let you validate code without switching contexts.

Should You Switch Tools?

The Reddit user mentioned Cursor/Antigravity feeling overwhelming. They're right to stick with Claude Code for now. Here's why:

  1. Lower cognitive load - CLI is simpler than full IDE integration when you're learning
  2. Explicit control - Each command is intentional, no "magic" auto-complete confusing you
  3. Portable skills - CLI knowledge transfers to any development work

Once you have a working prototype, then consider Cursor for its editing features.

The Realistic Path Forward

Yes, you can build usable software on Claude's free plan with Claude Code. The key shifts:

  1. Move from chat to Claude Code CLI
  2. Use CLAUDE.md for project memory
  3. Work in 30-minute focused sessions
  4. Always use --compact on free tier
  5. Test immediately with --execute

Your next command should be:

claude code "Review my current project structure and suggest the next smallest piece to build" --compact

Start there. Build that piece. Repeat. The accounting software will emerge, one focused session at a time.

AI Analysis

Claude Code users on free plans should immediately adopt three changes: 1. **Always use `--compact` flag**. This isn't optional—it's the difference between 2-3 productive sessions per day versus 5-6 frustrated attempts. The flag reduces verbose explanations while keeping the actual code quality high. 2. **Create `CLAUDE.md` before writing any code**. This solves the consistency problem completely. When Claude has project context, it doesn't "forget" decisions between sessions. Start every project with `claude code "Create a CLAUDE.md file for a [your project]"` and maintain it as you go. 3. **Time-box every session with `--time 30`**. This forces both you and Claude to focus. Instead of open-ended "build feature X," you get "build the minimal version of feature X in 30 minutes." The constraint improves output quality dramatically. Bonus: Use `claude code --execute` religiously. Don't wait to test—have Claude run the code immediately. This catches errors when context is fresh, saving multiple debugging sessions later.
Original sourcereddit.com

Trending Now

More in Products & Launches

View all