Effective communication is the key to successful vibe coding. This phrasebook will help you craft clear, effective prompts that help Memex understand exactly what you want to build. Think of it as learning how to speak a new language—the language of collaborative creation with AI.
1. General Communication Principles
Be Specific and Descriptive
Instead of this:
Make me a website.
Try this:
Create a responsive website for my consulting business with a home page, services page, about page, and contact form. The design should be professional with a color scheme of navy blue and gold. Include a navigation menu that sticks to the top of the page when scrolling.
Provide Context and Purpose
Instead of this:
Build a database.
Try this:
I need a database to track inventory for my small retail business. We need to store information about products (name, SKU, price, quantity, category, supplier), suppliers (name, contact info, payment terms), and sales transactions (date, products sold, quantities, customer info).
Use Iterative Refinement
Instead of this:
This isn't right. Fix it.
Try this:
The layout looks good, but I'd like to make a few changes: 1) The navigation menu should be more prominent, 2) The contact form needs validation for email addresses, and 3) Can we add a gallery section to showcase past projects?
2. Project Initiation Phrases
Starting a New Project
Instead of this:
I want to make a project.
Try this:
I'd like to create a new project for tracking my personal fitness progress. Let's call it "FitTracker". The main goal is to help me monitor my workouts, nutrition, and progress toward specific fitness goals.
And instead of this:
Build me an app for recipes.
Try this:
Let's build a recipe management application that will help users to organize their favorite recipes and plan meals. The core features should include recipe storage with categories, ingredient lists with automatic unit conversion, meal planning calendar, and a shopping list generator.
Setting Project Parameters
Instead of this:
Make it with React.
Try this:
For this project, I'd like to use the MERN stack (MongoDB, Express, React, Node.js) because we need both a responsive frontend and a robust backend for data storage. The target audience is home cooks who are comfortable with technology but not technical experts.
And instead of this:
It should work everywhere.
Try this:
This needs to work on desktop browsers (Chrome, Firefox, Safari), iOS devices, and Android phones. The main technical constraints are that it must be responsive for different screen sizes and should work offline with data synchronization when connection is restored.
3. Design and UI Phrases
Describing Visual Elements
Instead of this:
Make it look nice.
Try this:
The interface should follow a minimalist design language with navy blue, white, and light gray as the primary colors. Use subtle shadows and rounded corners for a modern feel.
And instead of this:
I want a clean layout.
Try this:
The layout should prioritize functionality over visual complexity. The most important elements that should stand out are the data visualization charts, action buttons, and status indicators. Use whitespace effectively to create visual hierarchy.
Requesting Specific Components
Instead of this:
Add a menu to the site.
Try this:
Add a navigation menu with the following items: Home, Products, Services, About Us, and Contact. It should be fixed at the top of the page and collapse into a hamburger menu on mobile devices. The active page should be highlighted.
Instead of this:
I need a contact form.
Try this:
Create a contact form with fields for name, email, phone number, subject, and message. Include validation for the email field and phone format. The submission button should say "Send Message" and show a loading state while submitting.
4. Functionality Phrases
Describing User Interactions
Instead of this:
Make the button work.
Try this:
When a user clicks on the "Submit" button, the application should validate all form fields and then send the data to the server. If any validation fails, then error messages should appear below the problematic fields instead.
Instead of this:
Users need to filter the list.
Try this:
Users should be able to filter products by selecting categories from a dropdown menu and setting a price range using a slider. After applying these filters, the system should immediately update the product list without requiring a page refresh.
Data Handling
Instead of this:
Save the user data.
Try this:
The application needs to store user profiles, preferences, and activity history in a MongoDB database. The personal information should be encrypted for security reasons, and the activity data should be indexed for faster search performance.
Instead of this:
Show the data in a table.
Try this:
When retrieving sales data, the application should filter by the selected date range, sort by revenue in descending order, and aggregate by product category. Display it as an interactive table with sortable columns and a summary row at the bottom.
5. Backend and Infrastructure Phrases
API and Integration
Instead of this:
Connect to the weather API.
Try this:
The application needs to connect to the OpenWeatherMap service using their REST API. We'll need to authenticate with our API key, fetch current weather and 5-day forecast data at 3-hour intervals, and cache responses for 30 minutes to avoid excessive API calls.
Instead of this:
Make a fast backend.
Try this:
Set up a Node.js backend that can handle 500 concurrent users with response times under 200ms. It should include endpoints for user authentication, product retrieval with filtering, order processing, and payment integration with Stripe.
Database Structure
Instead of this:
Create a database for users and products.
Try this:
Create a database schema with the following entities: Users (id, name, email, password_hash, created_at), Products (id, name, description, price, inventory_count, category_id), Categories (id, name), and Orders (id, user_id, total, status, created_at). Users have many Orders, Products belong to Categories, and Orders have many Products through an OrderItems join table.
Instead of this:
Make the database fast.
Try this:
The database should be optimized for read operations since we'll have many more queries than updates. Include indexes on user_email, product_category_id, and order_user_id fields for faster queries. Consider implementing Redis caching for frequently accessed product data.
6. Testing and Deployment Phrases
Requesting Tests
Instead of this:
Make sure it works.
Try this:
Let's write tests for the user authentication feature. We should test successful login, failed login with wrong password, account lockout after multiple failures, and password reset flow. Make sure that proper error messages are displayed and security logs are created.
Instead of this:
Write some tests.
Try this:
Create a test suite that covers at least 80% of the codebase, focusing on the critical paths like payment processing, order submission, and inventory updates. Include both unit tests for individual functions and integration tests for the complete workflows.
Deployment Instructions
Instead of this:
Deploy the app.
Try this:
Prepare this application for deployment on AWS Elastic Beanstalk. We'll need configuration for database connection strings, API keys, and logging levels as environment variables. Make sure static assets are served from CloudFront CDN for better performance.
Instead of this:
Automate the deployment.
Try this:
Set up a CI/CD pipeline using GitHub Actions that runs tests, builds the application, and deploys to staging when changes are pushed to the develop branch. Only deploy to production when changes are merged to the main branch and after manual approval.
7. Domain-Specific Phrases
Web Development
Instead of this:
Make the website work on phones.
Try this:
Create a responsive layout that works well on desktop, tablet, and mobile devices. Use media queries to adjust the navigation, product grid, and checkout form at breakpoints of 1200px, 768px, and 480px. Ensure touch targets are at least 44px on mobile.
Instead of this:
Make the site show up in Google.
Try this:
Implement SEO best practices including semantic HTML structure, meta tags for page titles and descriptions, and structured data for product information using Schema.org markup. Ensure all images have descriptive alt text and the site has a proper sitemap.xml file.
Data Analysis and Visualization
Instead of this:
Show me charts of my data.
Try this:
Create a dashboard that visualizes sales performance using line charts for trends over time, bar charts for comparison between regions, and pie charts for product category distribution. Include filters for date range, region, and product line with the ability to drill down into specific customer segments.
Instead of this:
Clean up my messy data.
Try this:
Write a data processing pipeline that takes CSV exports from our CRM, cleans it by removing duplicates, standardizing date formats, and filling missing values with appropriate defaults, then transforms it into a normalized JSON structure for analysis in our dashboard.
Mobile App Development
Instead of this:
Make an app with different screens.
Try this:
Design a mobile app with a tab-based navigation containing Home, Search, Favorites, Orders, and Profile tabs. Each screen should follow platform-specific design guidelines for iOS (using SF symbols and native components) while maintaining our brand identity.
Instead of this:
The app should work without internet.
Try this:
Implement offline functionality so users can browse products, view their saved items, and even add products to cart even without an internet connection, then synchronize their cart and process pending actions when they're back online.
E-commerce
Instead of this:
Add product filtering.
Try this:
Build a product catalog with filtering by category, price range, brand, and user ratings, sorting by price, popularity, and newest arrivals, and a search function that supports autocomplete, partial matching, and filtering within search results.
Instead of this:
Add a checkout process.
Try this:
Create a checkout process with 3 steps: 1) Shipping information and method selection, 2) Payment details with multiple options, and 3) Order review and confirmation. Include integration with Stripe for credit card processing and PayPal as an alternative, and options for standard, expedited, and next-day shipping methods.
8. Refinement and Iteration Phrases
Requesting Changes
Instead of this:
This isn't quite right. Change it.
Try this:
The product detail page is close to what I need, but let's make these adjustments: 1) Move the product description above the specifications, 2) Make the product images larger and add a zoom feature, and 3) Add a "Frequently bought together" section at the bottom.
Instead of this:
The search doesn't work well.
Try this:
I like the overall approach to the search functionality, but can we modify the results ranking to better handle misspellings and partial matches? Currently, users have to type exact product names to find what they're looking for.
Expanding Functionality
Instead of this:
Add more features.
Try this:
Now that the core functionality is working, let's add a product comparison feature that will allow users to select up to 4 products and view their specifications side-by-side in a table format.
Instead of this:
Make the user profiles better.
Try this:
Let's enhance the user profile feature by adding support for saved payment methods and multiple shipping addresses which will benefit returning customers by making the checkout process faster and more convenient.
9. Troubleshooting Phrases
Identifying Issues
Instead of this:
The app is broken.
Try this:
I'm noticing that when users try to submit the contact form with attachments larger than 5MB, the application shows a blank error page instead of a helpful message. Can we investigate what's causing this and implement a more user-friendly error handling approach?
Instead of this:
The search doesn't work.
Try this:
The search feature isn't working as expected. It should return results that match any of the keywords entered, but instead it's only returning results that match all keywords exactly. Let's debug this to understand why partial matches aren't being included.
Requesting Explanations
Instead of this:
How does this work?
Try this:
Can you explain how the recommendation system works in simple terms? I'd like to understand how it balances user browsing history, purchase history, and popularity metrics to generate personalized suggestions.
Instead of this:
Why does it do that?
Try this:
Walk me through the logic of the inventory management process. I'm particularly interested in how it handles backorders and split shipments when a product is partially out of stock.
10. Advanced Techniques
Combining Multiple Approaches
Instead of this:
Let's mix different technologies.
Try this:
Let's use a hybrid approach for this feature: React with server components for the frontend experience because we need both interactivity and good SEO, but Go microservices for the backend processing because we need high-throughput for data processing with minimal resource usage.
Optimization Requests
Instead of this:
Make the site faster.
Try this:
The product listing page is running slowly when there are more than 100 items. Let's optimize it by focusing on image loading (implementing lazy loading), reducing JavaScript bundle size, and implementing pagination with the goal of improving page load time by at least 40% and time-to-interactive by 60%.
Architecture Discussions
Instead of this:
What's the best way to build this?
Try this:
I'm considering two approaches for this system: a monolithic application with server-side rendering or a microservices architecture with a separate frontend SPA. Can we discuss the pros and cons of each for our specific needs of supporting 10,000 daily users with frequent feature updates and integration with multiple third-party services?
11. Real-World Examples
Building a Customer Portal
Initial Request:
I need to build a customer portal for my service business. Clients should be able to log in, view their project status, approve designs, and pay invoices. The design should match our brand colors (purple and gray) and feel professional but friendly.
Feature Refinement:
The login page looks good, but let's enhance the dashboard. I'd like to add a timeline showing project milestones, with completed items checked off and upcoming items clearly visible. Each milestone should be clickable to see more details.
Technical Specification:
For the invoice payment system, we need to integrate with Stripe. Customers should be able to save their payment methods securely, view payment history, and set up automatic payments for recurring services. Let's make sure we're following PCI compliance requirements.
Creating a Data Analysis Tool
Initial Request:
I need a tool that can analyze CSV files containing our monthly sales data. The tool should generate visualizations showing trends over time, top-performing products, and regional performance. It should allow filtering by date range, product category, and sales region.
Feature Refinement:
The basic charts look good, but I'd like to add a predictive element. Can we implement a simple forecasting feature that projects sales for the next 3 months based on historical data? Include confidence intervals in the visualization.
Technical Specification:
The data processing is taking too long for large files. Let's optimize the import process by using streaming parsing instead of loading the entire file into memory. Also, let's add caching for processed data so repeated analyses of the same file are faster.
Conclusion
Effective communication with Memex is a skill that improves with practice. By using specific, descriptive language and providing clear context, you'll get better results and build more sophisticated applications. Remember that vibe coding is a collaborative process—Memex is your partner in bringing your ideas to life.
As you become more comfortable with these phrases and patterns, you'll develop your own style of communication that works best for your projects. The key is to be clear about what you want while remaining open to suggestions and alternatives that Memex might offer based on best practices and technical considerations.