How to Vibe Code Properly
Vibe coding is a new term of phrase that has come about where software is built by describing what you want—in plain natural language—to an AI model, rather than writing traditional lines of code. The AI generates code based on your prompts, and you guide it through review, testing, and refinement. This conversational, prompt-driven workflow was popularized by Andrej Karpathy in February 2025


Steve Jackson
Chief Data Officer
Steve has over 20 years experience with getting the most out of data platforms having made his clients 100s of millions in cost savings or sales directly attributable to his work. For the last 5 years he has been building an AI driven travel SaaS and vibe coding his way through all kinds of software development hell!
How to Vibe Code Properly: A Strategic Approach for SME Leaders
As a founder or leader of a growing business, you’ve likely felt the tension between needing custom software solutions and the complexities of traditional development. Enter vibe coding—a revolutionary approach that’s changing how we think about software development.
Vibe coding isn’t just another tech buzzword. It’s a new paradigm where software is built by describing what you want in plain natural language to an AI model, rather than writing traditional lines of code. The AI generates code based on your prompts, and you guide it through review, testing, and refinement. This conversational, prompt-driven workflow, popularized by Andrej Karpathy in February 2025, represents a fundamental shift in how we approach software creation.
For SME leaders in travel, wellness, retail, food service, and hospitality, this approach offers unprecedented opportunities to rapidly prototype, test, and deploy custom solutions without the traditional barriers of technical complexity or extensive development teams.
How do you do Vibe Coding well?
Successful vibe coding requires a structured mindset shift. You’re not just describing features to a developer—you’re orchestrating a complex software project with an AI partner that needs clear direction and context.
Start as the Visionary
Begin every vibe coding project by clearly articulating your business vision. For example, if you’re running a boutique fitness studio, don’t just say “I want a booking system.” Instead, paint the full picture: “I envision a seamless client experience where members can book classes, see real-time availability, receive automated reminders, and feel connected to our community through integrated social features.”
This visionary phase sets the foundation for everything that follows. The AI needs to understand not just what you’re building, but why you’re building it and how it fits into your broader business strategy.
Transition to Product Manager
Once your vision is clear, shift into product manager mode. Define user personas, map user journeys, and prioritize features based on business value. This is where many SME leaders stumble—they jump straight to implementation without proper product planning.
Consider a restaurant owner wanting a custom ordering system. As a product manager, you’d define:
- Primary users: customers, kitchen staff, delivery drivers
- Core user journeys: browsing menu, placing orders, payment processing, order fulfillment
- Success metrics: order completion rate, average order value, customer satisfaction
Evolve into Technical Architect
Finally, think like a technical architect. Consider system integration, data flow, security requirements, and scalability. This doesn’t mean you need deep technical knowledge, but you do need to think systematically about how different components will work together.
The AI becomes your collaborative partner in this planning phase, helping you identify technical considerations you might miss while ensuring your business requirements remain the driving force.
Let AI break it all down in documentation.
Write to .md files as documentation and save them in a memory file on your local dev environment. Documentation is the backbone of successful vibe coding projects. Unlike traditional development where documentation often lags behind implementation, vibe coding flips this relationship—comprehensive documentation becomes your project’s foundation.
Creating a Knowledge Base
Have the AI generate detailed markdown files for every aspect of your project:
- project_vision.md: Your business vision and objectives
- user_personas.md: Detailed user profiles and use cases
- technical_architecture.md: System overview and component relationships
- feature_specifications.md: Detailed feature requirements
- api_documentation.md: Data structures and interfaces
These files serve as your project’s memory bank. Every decision, every requirement, every architectural choice gets documented in plain English that both you and the AI can easily reference.
Implementing Memory Persistence
The game-changer is setting up a system where the AI can access and update these documentation files directly. Using an MCP (Model Context Protocol) server to allow AI access to your files creates a persistent knowledge base that grows with your project. I personally use an MCP server allowing CLAUDE to access my memory (.md files) that it generates allowing it to always be able to pick up the context of what we discuss, both in Claude Desktop and Claude Code.
This setup means the AI doesn’t start fresh with each conversation. It can reference previous decisions, understand the evolution of requirements, and maintain consistency across development sessions. For SME leaders juggling multiple responsibilities, this continuity is invaluable.
Maintaining Living Documentation
Unlike static documentation that becomes outdated, these markdown files evolve with your project. When you discover a new requirement or change direction, the AI updates the relevant documentation files, ensuring your knowledge base remains current and accurate.

Create tasks and subtasks of 2-4 hours
Breaking down your vision into manageable, time-bounded tasks is crucial for maintaining momentum and measuring progress. The 2-4 hour estimation isn’t arbitrary—it’s the sweet spot for maintaining context while achieving meaningful progress.
Lean Tasks
Let’s use a theoretical example: building a customer loyalty program for a coffee shop chain.
Main Task: Customer Registration System Estimated Time: 12-16 hours
Subtask 1: User Registration Interface (3 hours)
- Acceptance Criteria:
- Customer can create account with email and phone number
- Form validates email format and phone number format
- System sends verification email
- User receives confirmation message upon successful registration
- Registration data is securely stored in database
Subtask 2: Login Authentication System (4 hours)
- Acceptance Criteria:
- Registered users can log in with email/password
- System displays appropriate error messages for invalid credentials
- Successful login redirects to dashboard
- Password reset functionality works via email
- Session management keeps users logged in appropriately
Subtask 3: Profile Management Interface (3 hours)
- Acceptance Criteria:
- Users can view and edit their profile information
- Changes are validated before saving
- Users can update password with proper verification
- Profile changes are reflected immediately in the interface
- System logs all profile modifications for security
The Power of Specific Acceptance Criteria
Notice how each acceptance criterion is testable and unambiguous. This specificity guides the AI’s implementation and provides clear success metrics. You’re not guessing whether a feature is complete, you have objective criteria to verify functionality.
Make AI write tests and run them.
Testing in vibe coding isn’t just about finding bugs, it’s about validating that your business requirements are properly implemented. The AI becomes your QA partner, but you need to structure this process carefully.
Test-Driven Validation
After completing each subtask, immediately have the AI generate comprehensive tests:
- Unit tests: Verify individual functions work correctly
- Integration tests: Ensure components work together properly
- User acceptance tests: Confirm features meet business requirements
- Edge case tests: Handle unexpected inputs and scenarios
The Testing Workflow
- Complete subtask implementation
- Generate tests based on acceptance criteria
- Run tests and document results
- Fix any failures with AI assistance
- Run full test suite to ensure no regressions
- Update documentation with test results
Context Management is Critical
This is where many vibe coding projects fail. As your codebase grows, the AI can lose context about earlier decisions and implementations. Working on one subtask at a time helps maintain focus, but you must actively manage context by:
- Referencing relevant documentation files before starting each subtask
- Having the AI review related code components before making changes
- Running comprehensive tests after each implementation
- Updating architecture documentation when making significant changes
Regression Prevention
The “make sure all past tests pass” requirement isn’t optional it’s essential for maintaining code quality. Each new implementation should enhance your system without breaking existing functionality. This disciplined approach prevents the technical debt that often plagues rapid development projects.
Now think about the coding
Ask AI to read all the documentation first, talk to you, confirm what it will do, THEN let it do it one step at a time.
This confirmation process is your quality control, the difference between chaotic code generation and systematic software development. It transforms vibe coding from a reactive process into a deliberate, strategic approach.
The Pre-Implementation Protocol
Before any code is written, establish this workflow:
- Documentation Review: AI reads all relevant documentation files
- Context Confirmation: AI summarizes its understanding of the current state
- Implementation Plan: AI outlines its approach to the subtask
- Stakeholder Approval: You review and approve the plan
- Step-by-Step Execution: AI implements the plan incrementally
Sample Confirmation Dialogue
AI: "I’ve reviewed the project documentation and understand we’re implementing the user registration interface. Based on the acceptance criteria, I plan to:
- Create a React component with email and phone input fields
- Implement client-side validation using the established validation library
- Connect to the user registration API endpoint documented in api_documentation.md
- Add email verification workflow using the email service configuration
- Update the routing to redirect to the dashboard upon successful registration
This implementation will integrate with the existing authentication system and follow the UI patterns established in the design system. Should I proceed with this approach?"
The Value of Confirmation
This dialogue serves multiple purposes:
- Ensures AI understands requirements correctly
- Identifies potential integration issues before implementation
- Provides opportunity to refine approach based on business insights
- Creates a clear implementation trail for future reference
Incremental Implementation
Once approved, the AI should implement step by step, showing you each component as it’s built. This transparency allows you to course-correct early and ensures the final implementation aligns with your vision.
Becoming a Solution Architect
This kind of setup means you are becoming a solution architect and letting AI write the code. But you have less chance of breaking things following this process.
By following this structured approach to vibe coding, you’re fundamentally changing your role in software development. You’re evolving from a business owner who needs software into a solution architect who designs and orchestrates sophisticated systems.
Your New Role as Solution Architect
This transformation is powerful for SME leaders:
- Strategic Thinking: You focus on business problems and user needs rather than technical implementation details
- System Design: You architect solutions that scale with your business growth
- Quality Assurance: You ensure implementations meet business requirements through structured testing
- Risk Management: You minimize technical risk through careful planning and documentation
Reduced Risk Through Structure
The disciplined approach outlined here dramatically reduces the likelihood of project failures common in rapid development:
- Clear requirements prevent scope creep and miscommunication
- Comprehensive documentation ensures consistency and maintainability
- Incremental implementation allows early detection of issues
- Thorough testing prevents regressions and ensures reliability
- Confirmation workflows eliminate assumption-based development
The Competitive Advantage
For SME leaders in competitive markets like travel, wellness, retail, food service, and hospitality, this approach offers unprecedented agility. You can:
- Rapidly prototype new service offerings
- Customize solutions for specific market segments
- Iterate based on customer feedback without lengthy development cycles
- Maintain high-quality standards without large development teams
Moving Forward
Vibe coding isn’t just about writing software faster, it’s about thinking systematically, planning thoroughly, and executing with precision. When done correctly, it transforms software development from a technical challenge into a strategic capability. It’s one of the reasons why AI won’t take your job. It’ll transform it or create new ones previously given to senior developers.
The businesses that master this approach will have a significant advantage in an increasingly digital marketplace. They’ll be able to respond quickly to market opportunities, customize solutions for their unique requirements, and maintain high-quality standards without the traditional barriers of technical complexity.
Ready to transform your approach to software development?
Start with a small project, follow this framework rigorously, and experience the power of structured vibe coding for yourself. The future of SME software development is here, and it’s more accessible than you might think.

