Skip to main content Skip to navigation

Documentation

Everything you need to build irresistible applications

AI Features

Unlock the full potential of Irresistible’s AI assistant to accelerate your development workflow.

Overview

Irresistible’s AI is more than just a code generator. It’s a comprehensive development partner that:

  • Understands context - Knows your project structure and dependencies
  • Learns your style - Adapts to your coding patterns
  • Suggests improvements - Proactively identifies optimization opportunities
  • Debugs intelligently - Helps solve complex issues
  • Writes documentation - Generates clear, comprehensive docs

AI Personalities

Choose an AI personality that matches your needs:

👔 Professional

Best for production-ready code with enterprise standards.

"Create a user authentication system with JWT tokens, 
refresh token rotation, and proper error handling"

Characteristics:

  • Follows best practices strictly
  • Comprehensive error handling
  • Detailed comments
  • Type-safe code
  • Security-focused

🎨 Creative

Ideal for innovative solutions and modern UI/UX.

"Design a stunning hero section with parallax effects 
and animated gradients"

Characteristics:

  • Modern design patterns
  • Creative animations
  • Cutting-edge features
  • Experimental approaches
  • Beautiful aesthetics

🎯 Minimal

Perfect for clean, efficient code without extras.

"Basic CRUD API for products"

Characteristics:

  • Concise code
  • No unnecessary features
  • Direct solutions
  • Minimal dependencies
  • Fast implementation

🔬 Experimental

For trying new technologies and approaches.

"Implement a WebGPU-powered visualization component"

Characteristics:

  • Latest technologies
  • Beta features
  • Novel approaches
  • Performance experiments
  • Research-oriented

Effective Prompting

Basic Prompts

Component Generation

"Create a SearchBar component with autocomplete"

Function Creation

"Write a function to validate email addresses"

Styling

"Add dark mode support to this component"

Advanced Prompts

Complex Features

"Build a real-time collaborative whiteboard with:
- Drawing tools (pen, shapes, text)
- Multi-user cursors
- Undo/redo functionality
- Export to PNG/SVG
- Responsive design"

Refactoring

"Refactor this component to:
- Use TypeScript
- Add proper error boundaries
- Implement lazy loading
- Optimize re-renders
- Add unit tests"

Architecture

"Design a scalable architecture for a multi-tenant SaaS app with:
- User authentication
- Role-based permissions
- Billing integration
- API rate limiting
- Webhook system"

Prompt Templates

Feature Implementation

"Implement [FEATURE NAME] that:
- [REQUIREMENT 1]
- [REQUIREMENT 2]
- Uses [TECHNOLOGY/LIBRARY]
- Follows [PATTERN/STYLE]
- Includes [ERROR HANDLING/TESTS/DOCS]"

Bug Fixing

"Debug this [COMPONENT/FUNCTION]:
- Issue: [DESCRIBE THE PROBLEM]
- Expected: [EXPECTED BEHAVIOR]
- Current: [CURRENT BEHAVIOR]
- Environment: [BROWSER/NODE VERSION]"

Optimization

"Optimize [COMPONENT/FUNCTION] for:
- [PERFORMANCE/MEMORY/BUNDLE SIZE]
- Current metrics: [CURRENT PERFORMANCE]
- Target: [DESIRED PERFORMANCE]
- Constraints: [ANY LIMITATIONS]"

Context-Aware Features

Project Understanding

The AI automatically understands:

  • Framework: React, Vue, Svelte, etc.
  • Dependencies: Installed packages
  • File structure: Project organization
  • Coding style: Your preferences
  • Git history: Recent changes

Smart Suggestions

Import Management

// AI automatically adds necessary imports
import { useState, useEffect } from 'react';
import { fetchUsers } from '@/api/users';
import type { User } from '@/types';

Type Inference

// AI infers types from your codebase
function updateUser(user: User) {
  // AI knows the User type structure
}

Pattern Matching

// AI follows your established patterns
// If you use custom hooks, AI will too
const { data, loading, error } = useAPI('/users');

Code Generation Examples

React Component with Hooks

Prompt: "Create a todo list with local storage persistence"
import React, { useState, useEffect } from 'react';

export default function TodoList() {
  const [todos, setTodos] = useState([]);
  const [input, setInput] = useState('');

  // Load from localStorage on mount
  useEffect(() => {
    const saved = localStorage.getItem('todos');
    if (saved) {
      setTodos(JSON.parse(saved));
    }
  }, []);

  // Save to localStorage on change
  useEffect(() => {
    localStorage.setItem('todos', JSON.stringify(todos));
  }, [todos]);

  const addTodo = (e) => {
    e.preventDefault();
    if (!input.trim()) return;
    
    setTodos([...todos, {
      id: Date.now(),
      text: input,
      completed: false
    }]);
    setInput('');
  };

  const toggleTodo = (id) => {
    setTodos(todos.map(todo =>
      todo.id === id ? { ...todo, completed: !todo.completed } : todo
    ));
  };

  const deleteTodo = (id) => {
    setTodos(todos.filter(todo => todo.id !== id));
  };

  return (
    <div className="todo-container">
      <h2>My Todos</h2>
      <form onSubmit={addTodo}>
        <input
          type="text"
          value={input}
          onChange={(e) => setInput(e.target.value)}
          placeholder="Add a todo..."
        />
        <button type="submit">Add</button>
      </form>
      <ul>
        {todos.map(todo => (
          <li key={todo.id} className={todo.completed ? 'completed' : ''}>
            <input
              type="checkbox"
              checked={todo.completed}
              onChange={() => toggleTodo(todo.id)}
            />
            <span>{todo.text}</span>
            <button onClick={() => deleteTodo(todo.id)}>Delete</button>
          </li>
        ))}
      </ul>
    </div>
  );
}

API Integration

Prompt: "Create a service to handle API calls with error handling and retry logic"
class APIService {
  constructor(baseURL, options = {}) {
    this.baseURL = baseURL;
    this.maxRetries = options.maxRetries || 3;
    this.retryDelay = options.retryDelay || 1000;
    this.timeout = options.timeout || 10000;
  }

  async request(endpoint, options = {}) {
    const url = this.baseURL + endpoint;
    const config = {
      ...options,
      headers: {
        'Content-Type': 'application/json',
        ...options.headers,
      },
      signal: AbortSignal.timeout(this.timeout),
    };

    for (let i = 0; i <= this.maxRetries; i++) {
      try {
        const response = await fetch(url, config);
        
        if (!response.ok) {
          const error = await response.json();
          throw new APIError(response.status, error.message);
        }
        
        return await response.json();
      } catch (error) {
        if (i === this.maxRetries) {
          throw error;
        }
        
        if (error.name === 'AbortError') {
          throw new Error('Request timeout');
        }
        
        // Exponential backoff
        await new Promise(resolve => 
          setTimeout(resolve, this.retryDelay * Math.pow(2, i))
        );
      }
    }
  }

  get(endpoint, options) {
    return this.request(endpoint, { ...options, method: 'GET' });
  }

  post(endpoint, data, options) {
    return this.request(endpoint, {
      ...options,
      method: 'POST',
      body: JSON.stringify(data),
    });
  }

  put(endpoint, data, options) {
    return this.request(endpoint, {
      ...options,
      method: 'PUT',
      body: JSON.stringify(data),
    });
  }

  delete(endpoint, options) {
    return this.request(endpoint, { ...options, method: 'DELETE' });
  }
}

class APIError extends Error {
  constructor(status, message) {
    super(message);
    this.status = status;
    this.name = 'APIError';
  }
}

export default APIService;

AI-Powered Debugging

Error Analysis

Prompt: "Help me debug: TypeError: Cannot read property 'map' of undefined"

The AI will:

  1. Identify the likely cause
  2. Suggest null checks
  3. Provide defensive coding patterns
  4. Show debugging techniques

Performance Optimization

Prompt: "This component re-renders too often, help optimize"

The AI will analyze and suggest:

  • React.memo usage
  • useMemo/useCallback hooks
  • State lifting/lowering
  • Component splitting

Advanced AI Features

Code Review

Prompt: "Review this code for best practices and potential issues"

The AI will check for:

  • Security vulnerabilities
  • Performance issues
  • Code smells
  • Accessibility problems
  • Testing opportunities

Documentation Generation

Prompt: "Generate JSDoc documentation for this module"
/**
 * User authentication service
 * @module services/auth
 */

/**
 * Authenticates a user with email and password
 * @async
 * @param {string} email - User email address
 * @param {string} password - User password
 * @returns {Promise<{user: User, token: string}>} Auth response
 * @throws {AuthError} If authentication fails
 * @example
 * const { user, token } = await authenticate('user@example.com', 'password123');
 */
export async function authenticate(email, password) {
  // Implementation
}

Test Generation

Prompt: "Write unit tests for this component"

The AI generates comprehensive tests:

  • Unit tests
  • Integration tests
  • E2E tests
  • Edge cases
  • Mocking strategies

Tips for Maximum Productivity

1. Be Specific

❌ “Make a form” ✅ “Create a contact form with name, email, message fields, validation, and success/error states”

2. Provide Context

❌ “Fix this bug” ✅ “Fix the infinite loop in useEffect when fetching user data on component mount”

3. Iterate Incrementally

Start simple, then refine:

  1. “Create a basic table component”
  2. “Add sorting to the table”
  3. “Add pagination”
  4. “Add search functionality”

4. Use Examples

"Create a chart component similar to Chart.js 
but using D3.js for custom visualizations"

5. Specify Constraints

"Build a file upload component that:
- Limits file size to 5MB
- Only accepts images
- Shows upload progress
- Works on mobile"

AI Limitations

What AI Can’t Do

  • Access external APIs without credentials
  • Make subjective design decisions
  • Understand proprietary business logic
  • Debug hardware-specific issues
  • Replace human creativity and intuition

When to Use Human Judgment

  • Architecture decisions
  • User experience design
  • Security implementations
  • Performance trade-offs
  • Business logic validation

Next Steps