I spent 8 months building VebGen – an autonomous AI development agent for Django projects. Built this at my cousin's house (limited internet at home), no degree, no team, $0 funding. The entire 500KB codebase was developed using free-tier models.
The Story: I wanted an AI agent that actually understands Django projects without burning through API tokens. Cursor and Copilot are great for line-level coding, but I wanted something that could build full features autonomously while staying within free-tier limits.
What VebGen Does: Think of it as having a senior developer + QA engineer working 24/7 on your Django project. You describe what you want ("build a blog with comments"), and it: • Plans the architecture (adaptive based on complexity) • Writes the code (models, views, URLs, tests) • Reviews for security (OWASP Top 10, N+1 queries) • Fixes bugs autonomously (70% success rate) • Never loses progress (auto-save with rollback)
How It Compares: Cursor/Copilot → Assisted coding (you type, they help) → Great for productivity VebGen → Autonomous development (you describe, it builds) → Different scope
Cursor → Sends code to LLM every analysis ($$$) → VebGen: AST parsing locally (free) Copilot → Auto-completion tool → VebGen: Full feature implementation Devin → $500/month, waitlist, closed → VebGen: Open source, runs locally, $0
Where VebGen shines: • Works on free-tier APIs (Cursor/Copilot require paid tokens) • Understands Django deeply (95+ constructs: models, views, serializers, signals, admin, Celery, Channels, etc.) • Self-healing (70% bug fix rate, tries 3 approaches) • Security-first (built-in OWASP Top 10 checks, N+1 detection) • State persistence (5 rolling backups, never lose progress)
Where Cursor/Copilot win: • Better UX/polish • Smoother IDE integration • Larger ecosystem
Key Innovation - Zero-Token AST Parsing: Instead of sending your entire codebase to an LLM every time (expensive!), VebGen parses Django code locally using Python's AST module. It understands 95+ Django constructs without consuming any API tokens.
Example: You have 50 files, ask "add user authentication". VebGen parses the AST locally (zero tokens!), identifies the 5 relevant files, then only sends those to the LLM. This makes it work beautifully on free-tier Gemini/OpenRouter.
Technical Highlights: Dual-agent system (TARS plans, CASE executes) Multi-tier patching (tries 3 methods before giving up) Military-grade sandbox (2,700 lines of security code) 5 rolling backups (crash-safe with SHA-256 verification) 319 tests, 99.7% passing Works with 120+ models across 5 providers
Built for Developers: • Desktop app (Python + CustomTkinter) • Detailed architecture docs (15 markdown files) • Full test coverage with examples • Open source, MIT license
I'd love to hear your thoughts! Especially feedback on: - The AST parsing approach (is this the right abstraction?) - Security architecture (did I miss anything?) - What other frameworks should I support next? (Flask, FastAPI, React?)
GitHub: https://github.com/vebgenofficial/vebgen
Happy to answer any technical questions about how it works under the hood!