Memex
  • 👋Welcome to Memex
  • Tutorials and Best Practices
    • Building with Memex 101
    • Vibe Coding Troubleshooting Guide
      • Common Challenges and Solutions
      • Debugging Strategies
      • When to Start Fresh vs. When to Persist
      • Ask Memex for Help
  • The Vibe Coding Phrasebook
  • Transitioning from Traditional Coding to Vibe Coding
  • USING MEMEX
    • The Basics
    • Conversations and projects
    • Working with long conversation
    • Advanced control features
    • Checkpoints
    • Secrets
    • Sharing conversations
    • Network Access
  • IN DEPTH
    • Best practices
    • Use-case examples
    • Vibe Coding Best Practices from 10,000 projects
  • Best Practices for Agentic Coding
  • Refactoring Your Vibe Coded Projects
  • Pricing and Billing
    • Plans
    • Billing FAQs
Powered by GitBook
On this page
  • What is Vibe Coding?
  • Why Memex for Vibe Coding?
  • Getting the Most Out of Memex: Key Concepts
  • 1. Providing Good Context
  • 2. Breaking Down Projects into Steps
  • 3. Using Version Control (Git)
  • 4. Building Locally vs. Deploying
  • 5. Managing Secrets and Credentials
  • 6. Working with Projects in Memex
  • 7. Using Custom Instructions
  • Putting It All Together: A Data Analytics Dashboard Example
  • Building a Data Analytics Dashboard
  • Even More Techniques for Vibe Coding
  • Iterative Refinement
  • Combining Multiple Technologies
  • Extending Existing Projects
  • Learning While Building
  • Common Challenges and Solutions
  • Challenge: Memex Isn't Building What I Want
  • Challenge: My Project Is Getting Too Complex
  • Challenge: I Need to Make Changes to Something Memex Built
  • Challenge: I Need to Understand the Architecture
  • Next Steps

Was this helpful?

  1. Tutorials and Best Practices

Building with Memex 101

What is Vibe Coding?

Vibe coding is a new way to build software that doesn't require you to write code. Instead, you describe what you want to build in natural language, and an AI assistant (like Memex) turns your ideas into reality. It's called "vibe coding" because you're communicating the vibe or essence of what you want to create, rather than writing technical instructions.

With Memex, you can build anything from sophisticated web applications to complex data dashboards, from feature-rich mobile apps to enterprise-grade automation tools, all through conversation. The complexity and scale of what you can create is limited only by your imagination, not by your technical knowledge.

Why Memex for Vibe Coding?

Memex is an AI Builder for your desktop that makes vibe coding accessible to everyone. Here's why it's perfect for builders of all experience levels:

  • Works on your computer: Memex runs locally on your machine, giving you access to your files and resources

  • Supports any technology: Build with any programming language or framework, from simple websites to complex systems

  • Complete ownership: Everything you create belongs to you

  • No coding required: Just describe what you want in plain language

  • Professional-grade output: Create production-ready applications that can scale with your needs

Getting the Most Out of Memex: Key Concepts

While Memex can handle the technical details for you, understanding a few key concepts will help you get better results. Let's explore these concepts with practical examples.

1. Providing Good Context

Why it matters: The more context you provide, the better Memex understands what you're trying to build, allowing it to create more sophisticated and tailored solutions.

Example: Poor Context

User: Build me a website.

This gives Memex very little to work with. What kind of website? What features should it have? What should it look like?

Example: Good Context

User: I need a professional portfolio website for my photography business. I want it to have a dynamic gallery page where visitors can filter by category (nature, portrait, commercial), a contact form with validation, an about page with my bio, and a blog section where I can post photography tips. I prefer a minimalist design with dark backgrounds to make the photos stand out. The site should be responsive and load quickly, even with high-resolution images.

This gives Memex specific details about what you want, making it easier to build something that matches your vision and includes all the advanced features you need.

2. Breaking Down Projects into Steps

Why it matters: Even highly complex projects are easier to manage when broken into smaller steps, allowing for more precise control and refinement.

Example: One Big Request

User: Build me a complete e-commerce platform with product listings, shopping cart, user accounts, payment processing, inventory management, analytics dashboard, and an admin interface.

This is overwhelming and makes it hard to focus on each component, potentially missing important details.

Example: Step-by-Step Approach

User: Let's build an enterprise-grade e-commerce platform. First, let's create a product catalog system with filtering, sorting, and search capabilities.

[After Memex builds this]

User: Great! Now let's add a robust shopping cart feature with persistent storage and the ability to save items for later.

[After Memex builds this]

User: Next, let's implement a secure user authentication system with social login options and role-based permissions...

This approach allows you to review and refine each component before moving to the next, ensuring each part meets your exact requirements.

3. Using Version Control (Git)

Why it matters: Version control helps you track changes, collaborate with others, and recover from mistakes—essential for both small and large-scale projects. When working with AI tools like Memex, version control becomes even more important because, while incredibly powerful, AI can sometimes make unexpected changes or misinterpret requirements. Having a safety net that lets you revert to a working state is invaluable.

What is Git?

Git is a powerful tool that keeps track of changes to your project files over time. Think of it like a time machine for your project—you can see previous versions and go back if needed. For complex projects, it's invaluable for managing different features and collaborating with others.

Setting Up Git for Your Project

  1. Install Git: If you don't have Git installed, ask Memex to help you install it:

    User: Can you help me install Git on my computer?
  2. Initialize Git in your project:

    User: Please set up Git for this project.
  3. Make regular commits (saves of your progress):

```
User: Let's save our progress with Git. Commit the changes with a message describing what we've done.
```

Connecting to GitHub (Optional)

GitHub is a platform where you can store your Git repositories online. To set up a GitHub connection:

  1. Ask Memex to help you connect your local project to GitHub:

```
User: Can you help me create a GitHub repository and connect this project to it?
```
  1. For collaborative projects, you can also ask Memex to help with branches and pull requests:

```
User: Let's create a new branch for the payment processing feature we're about to build.
```

4. Building Locally vs. Deploying

Why it matters: While building locally lets you test your project on your computer, deploying makes it available to others online or in production environments.

What is Deployment?

Deployment is the process of making your application available on the internet or other production environments so others can access it. It's like moving your project from your personal computer to a public or enterprise space.

When to Deploy

  • Build locally when: You're developing and testing your application, or if it's just for personal use on your computer

  • Deploy when: You want others to access your application online, you need to use online services, or you're ready to launch your product

How to Deploy with Memex

When you're ready to share your project with the world:

User: I'd like to deploy this application so others can use it. What are my options?

Memex can guide you through deploying to platforms like:

  • Vercel or Netlify for websites and web applications

  • AWS, Google Cloud, or Azure for enterprise applications

  • Heroku or Railway for web services

  • Docker containers for microservices

  • App stores for mobile apps

5. Managing Secrets and Credentials

Why it matters: Keeping sensitive information like API keys, passwords, and tokens secure is crucial for protecting your accounts, data, and users, especially when building real-world applications.

What are Secrets?

Secrets are sensitive pieces of information your applications might need:

  • API keys (for services like OpenAI, Stripe, Google Cloud, etc.)

  • Database passwords or connection strings

  • Authentication tokens

  • User account credentials

  • Encryption keys

How Memex Handles Secrets Securely

Memex provides a built-in system to manage these secrets without embedding them directly in your code or chat history:

  1. Secure Storage: Secrets are stored encrypted in your system's native keychain (e.g., macOS Keychain, Windows Credential Manager), not in plain text files.

  2. Easy Access: You can manage secrets (add, update, delete) through the Settings > Secrets tab in the Memex UI.

  3. Safe Usage: When you need Memex to use a secret, refer to it by its key (name) in your instructions. For example:

    User: Use the API key stored as 'OPENAI_API_KEY' in Secrets.

    Memex will then securely retrieve the value from the keychain when executing the task.

Best Practices for Managing Secrets

  1. Never hardcode secrets in your project files:

    // Don't do this
    const apiKey = "sk_live_12345abcdef";
  2. Use environment variables for deployment:

User: When we deploy this application, how should we handle the database credentials and payment gateway keys?
  1. For enterprise applications, consider using dedicated secrets management services:

User: This application will be used by our entire organization. What's the best way to manage secrets at scale?

6. Working with Projects in Memex

Why it matters: Organizing your work into projects helps you manage multiple initiatives and keeps related files together.

What are Projects in Memex?

Projects in Memex are dedicated workspaces for your different applications or initiatives. Each project has its own files, settings, and context, making it easier to switch between different things you're building.

Creating and Managing Projects

  1. Switch between projects:

    You can use the project selector in the Memex interface to switch between different projects you're working on.

  2. Organize project files:

```
User: Let's organize this project with a clear folder structure. We should have separate directories for frontend, backend, and documentation.
```
  1. Project-specific settings:

7. Using Custom Instructions

Why it matters: Custom instructions help Memex understand your preferences and requirements, making your vibe coding experience more efficient and personalized.

What are Custom Instructions?

Setting Up Custom Instructions

To set up custom instructions in Memex:

  1. Click the gear icon in the Memex interface

  2. Navigate to the Custom Instructions section

  3. Enter your instructions in the provided field

Example Custom Instructions

# Project Preferences
- Always use TypeScript instead of JavaScript
- Follow the Airbnb style guide for code formatting
- Organize React components using the Atomic Design methodology
- Use Tailwind CSS for styling

# Communication Preferences
- Explain technical concepts in simple terms
- Show me multiple options when there are different approaches
- Always include comments in the code explaining complex logic
- Provide test cases for critical functions

# Deployment Preferences
- Prepare projects for deployment on Vercel
- Set up CI/CD using GitHub Actions
- Include environment variable templates for different environments (dev, staging, prod)

Putting It All Together: A Data Analytics Dashboard Example

Let's walk through a project to see these concepts in action:

Building a Data Analytics Dashboard

  1. Start with good context:

```
User: I'd like to build a comprehensive data analytics dashboard for my e-commerce business. It should connect to our Shopify store and Google Analytics, displaying key metrics like sales, customer acquisition cost, conversion rates, and inventory levels. I want interactive charts that allow drilling down into specific time periods and product categories. The dashboard should update in real-time and allow for exporting reports in PDF and CSV formats.
```
  1. Break it down into steps:

```
User: Let's start by creating the basic dashboard layout with placeholder sections for each metric group.

[After Memex builds this]

User: Now, let's implement the data connectors for Shopify to pull in sales and inventory data.

[After Memex builds this]

User: Great! Next, let's add the Google Analytics integration for traffic and conversion metrics.
```
  1. Set up version control:

```
User: Let's initialize Git for this project and make our first commit. We should create a structured branching strategy since this will be an ongoing project.
```
  1. Handle secrets properly:

```
User: We'll need API keys for Shopify and Google Analytics. How should I securely store and use these keys in development and production?
```
  1. Consider deployment:

```
User: I want to deploy this dashboard so my team can access it. It should be secure and only accessible to authorized users. What's the best approach?
```
  1. Set up custom instructions:

```
User: I'd like to set up Custom Instructions for this project. Can you help me create instructions that specify my preference for React, a dark theme for the dashboard, and detailed documentation?
```

Even More Techniques for Vibe Coding

Iterative Refinement

Don't expect perfection on the first try. Start with a basic version and refine:

User: This chart is good, but can we make it more interactive? I'd like users to be able to click on a data point and see more details.

Combining Multiple Technologies

Memex can help you build projects that use multiple technologies together:

User: For this project, I'd like to use a React frontend, a Node.js backend with Express, and a MongoDB database. Let's start by setting up the project structure.

Extending Existing Projects

You can use Memex to add features to projects you've already started:

User: I have an existing React application. I'd like to add user authentication using Firebase. Can you help me integrate that?

Learning While Building

Ask Memex to explain concepts as you go:

User: I notice you're using Redux for state management. Can you explain why that's better than using React Context for this project?

Common Challenges and Solutions

Challenge: Memex Isn't Building What I Want

Solution: Provide more specific details about what you want, including:

  • Visual design preferences with examples

  • Specific features and functionality with use cases

  • Technical requirements and constraints

  • Examples of similar applications you like

Challenge: My Project Is Getting Too Complex

Solution:

  • Break it down into smaller, manageable components

  • Create a project roadmap with clear milestones

  • Use Git branches to work on different features separately

  • Consider a microservices architecture for very large projects

Challenge: I Need to Make Changes to Something Memex Built

Solution: Be specific about what you want to change and why:

User: The current authentication system uses JWT tokens with a 24-hour expiration. We need to change this to use refresh tokens with a 7-day session length to improve the user experience. Can we refactor that component?

Challenge: I Need to Understand the Architecture

Solution: Ask Memex to explain the system architecture:

User: Can you create a diagram or explanation of how all the components in this application interact with each other?

Next Steps

Now that you understand the fundamentals of vibe coding with Memex, you're ready to start building! Here are some project ideas to challenge yourself:

  • A content management system for your business

  • A custom CRM tailored to your specific workflow

  • A data visualization tool that connects to your company's data sources

  • An AI-powered recommendation engine for your products

  • A mobile app that syncs with your web service

  • An IoT dashboard for monitoring smart devices

Remember, with vibe coding, the complexity of what you can build is limited only by your imagination, not your technical skills. Memex handles the technical implementation while you focus on your vision.

Happy building!

PreviousWelcome to MemexNextVibe Coding Troubleshooting Guide

Last updated 1 month ago

Was this helpful?

Tip: While Memex features a functionality that allows you to revert files to previous states, Git provides more comprehensive version control capabilities. The feature is great for quick fixes, but Git is recommended for serious projects as it offers branching, detailed history, and collaboration features.

Create a GitHub account at

Never paste secret values directly into the chat or hardcode them in your project files. Always use the feature.

Each project can have , including Rules for AI and environment settings.

are specific guidelines you provide to Memex about how you want it to work with you. They can include your preferences for coding style, communication, project structure, or any other aspects of your workflow.

Checkpoint
Checkpoint
github.com
Memex Secrets Management
Create a new project
its own configuration
Custom instructions