AI
Pass

Build an AI Business Plan Generator App with the AI Pass SDK

Build an AI Business Plan Generator App with the AI Pass SDK

Business plan generation is one of the highest-value use cases for AI — and the demand is massive. Founders, students, consultants, and small business owners all need structured plans. This tutorial builds a complete AI business plan generator web app using the AI Pass SDK.

Prerequisites

  • Basic HTML/JavaScript knowledge
  • An AI Pass account (sign up at aipass.one)
  • A Client ID from the Developer Dashboard

Step 1: Get Your Client ID

  1. Log in at aipass.one
  2. Go to Developer Dashboard
  3. Click OAuth2 ClientsCreate New Client
  4. Name it "Business Plan Generator" and copy your client_XXXX... ID

This is your YOUR_CLIENT_ID in the code below.

Step 2: Build the App

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>AI Business Plan Generator</title>
  <script src="https://aipass.one/aipass-sdk.js"></script>
  <style>
    * { box-sizing: border-box; margin: 0; padding: 0; }
    body {
      font-family: 'Segoe UI', sans-serif;
      background: #f8fafc;
      color: #1a1a2e;
      max-width: 900px;
      margin: 0 auto;
      padding: 2rem;
    }
    h1 { color: #2563eb; margin-bottom: 0.5rem; }
    .subtitle { color: #64748b; margin-bottom: 2rem; }
    .form-group {
      margin-bottom: 1.25rem;
    }
    label {
      display: block;
      font-weight: 600;
      margin-bottom: 0.4rem;
      color: #374151;
    }
    input, textarea, select {
      width: 100%;
      padding: 0.75rem;
      border: 1px solid #d1d5db;
      border-radius: 8px;
      font-size: 1rem;
      font-family: inherit;
    }
    textarea { min-height: 100px; resize: vertical; }
    button {
      background: #2563eb;
      color: white;
      border: none;
      padding: 0.875rem 2rem;
      border-radius: 8px;
      font-size: 1rem;
      font-weight: 600;
      cursor: pointer;
      width: 100%;
      margin-top: 0.5rem;
    }
    button:disabled { background: #93c5fd; cursor: not-allowed; }
    #output {
      margin-top: 2rem;
      background: white;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      padding: 2rem;
      white-space: pre-wrap;
      line-height: 1.7;
      display: none;
    }
    #status { text-align: center; margin-top: 1rem; color: #6b7280; }
    .actions { display: flex; gap: 1rem; margin-top: 1rem; }
    .btn-secondary {
      background: white;
      color: #2563eb;
      border: 2px solid #2563eb;
    }
  </style>
</head>
<body>
  <h1>📊 AI Business Plan Generator</h1>
  <p class="subtitle">Generate a complete, investor-ready business plan in minutes</p>

  <div class="form-group">
    <label>Business Idea *</label>
    <textarea id="idea" placeholder="Describe your business idea. What problem does it solve? Who is it for?"></textarea>
  </div>

  <div class="form-group">
    <label>Industry</label>
    <input id="industry" type="text" placeholder="e.g. SaaS, E-commerce, Healthcare, Food & Beverage">
  </div>

  <div class="form-group">
    <label>Target Market</label>
    <input id="market" type="text" placeholder="e.g. small business owners, Gen Z consumers, enterprise HR teams">
  </div>

  <div class="form-group">
    <label>Revenue Model</label>
    <select id="model">
      <option value="">Select revenue model...</option>
      <option>SaaS subscription</option>
      <option>Transaction / marketplace fee</option>
      <option>One-time purchase</option>
      <option>Freemium with paid upgrades</option>
      <option>Advertising</option>
      <option>Service / consulting</option>
      <option>Physical product sales</option>
    </select>
  </div>

  <div class="form-group">
    <label>Current Traction (optional)</label>
    <input id="traction" type="text" placeholder="e.g. 200 beta users, $3k MRR, 500-person waitlist">
  </div>

  <div class="form-group">
    <label>Funding Goal (optional)</label>
    <input id="funding" type="text" placeholder="e.g. Raising $250k pre-seed, or Bootstrapped">
  </div>

  <button id="generateBtn" onclick="generatePlan()">🚀 Generate Business Plan</button>
  <p id="status"></p>

  <div id="output"></div>
  <div class="actions" id="actions" style="display:none">
    <button onclick="copyPlan()" class="btn-secondary">📋 Copy to Clipboard</button>
    <button onclick="downloadPlan()">⬇️ Download as Text</button>
  </div>

  <script>
    AiPass.initialize({
      clientId: 'YOUR_CLIENT_ID',
      requireLogin: true,
      darkMode: false
    });

    async function generatePlan() {
      const idea = document.getElementById('idea').value.trim();
      if (!idea) {
        alert('Please describe your business idea first.');
        return;
      }

      const btn = document.getElementById('generateBtn');
      const status = document.getElementById('status');
      const output = document.getElementById('output');

      btn.disabled = true;
      status.textContent = '⏳ Generating your business plan (30-60 seconds)...';
      output.style.display = 'none';
      document.getElementById('actions').style.display = 'none';

      const industry = document.getElementById('industry').value;
      const market = document.getElementById('market').value;
      const model = document.getElementById('model').value;
      const traction = document.getElementById('traction').value;
      const funding = document.getElementById('funding').value;

      const prompt = `Create a comprehensive, professional business plan for the following:

Business Idea: ${idea}
${industry ? `Industry: ${industry}` : ''}
${market ? `Target Market: ${market}` : ''}
${model ? `Revenue Model: ${model}` : ''}
${traction ? `Current Traction: ${traction}` : ''}
${funding ? `Funding Goal: ${funding}` : ''}

Include ALL of the following sections:
1. Executive Summary
2. Problem Statement
3. Solution & Value Proposition
4. Target Market & TAM/SAM/SOM
5. Competitive Analysis (3-5 competitors, key differentiators)
6. Business Model & Revenue Streams
7. Go-to-Market Strategy
8. Financial Projections (Year 1-3 milestones)
9. Team & Key Hires
10. Funding Ask & Use of Funds

Make it specific, compelling, and realistic. Format with clear headers for each section.`;

      try {
        const result = await AiPass.generateCompletion({
          model: 'gpt-5',
          temperature: 1,
          max_tokens: 16000,
          messages: [
            {
              role: 'system',
              content: 'You are an expert business consultant and startup advisor. You write clear, compelling, investor-ready business plans that are specific, realistic, and actionable.'
            },
            {
              role: 'user',
              content: prompt
            }
          ]
        });

        const plan = result.choices[0].message.content;
        output.textContent = plan;
        output.style.display = 'block';
        document.getElementById('actions').style.display = 'flex';
        status.textContent = '✅ Business plan generated! Review and customize below.';
      } catch (err) {
        status.textContent = '❌ Error generating plan: ' + err.message;
        console.error(err);
      }

      btn.disabled = false;
    }

    function copyPlan() {
      const text = document.getElementById('output').textContent;
      navigator.clipboard.writeText(text).then(() => alert('Copied to clipboard!'));
    }

    function downloadPlan() {
      const text = document.getElementById('output').textContent;
      const blob = new Blob([text], { type: 'text/plain' });
      const url = URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.href = url;
      a.download = 'business-plan.txt';
      a.click();
    }
  </script>
</body>
</html>

Key SDK Parameters

Note the temperature: 1 and max_tokens: 16000 in the generateCompletion call — these are required for GPT-5:

const result = await AiPass.generateCompletion({
  model: 'gpt-5',
  temperature: 1,        // Required — GPT-5 rejects lower values
  max_tokens: 16000,     // Required — GPT-5 reasoning uses many tokens
  messages: [...]
});

The response is at result.choices[0].message.content.

Deployment Options

Option A — Self-Host

This is a single HTML file. Deploy it anywhere:

  • Drag and drop to Netlify Drop
  • Push to GitHub and enable Pages
  • Upload to any static hosting

Option B — Publish on AI Pass

  1. Go to Developer Dashboard → Apps
  2. Submit your app to the AI Pass catalog
  3. Users find it organically — you earn 50% commission on every plan they generate

The AI Pass catalog already has traffic. Publishing there means you monetize without running ads.

Embed Anywhere

Click the </> button at the bottom-right of your published app to get iframe embed code. Add it to your blog, website, or newsletter landing page.

Extend the App

Ideas to make it more powerful:

  • PDF export — use a library like jsPDF to create a downloadable PDF
  • Save & edit — localStorage to save and revise the plan
  • Section regeneration — let users regenerate individual sections they want to improve
  • Pitch deck mode — convert the plan into a 10-slide structure

Resources

Business plan generation is evergreen — people always need it. Build it once, publish it, and earn passively.